MapPress Easy Google Maps - Version 2.84.10

Version Description

  • Fixed: POI hover effect not triggering if POI isn't opened on hover
Download this release

Release Info

Developer chrisvrichardson
Plugin Icon 128x128 MapPress Easy Google Maps
Version 2.84.10
Comparing to
See all releases

Code changes from version 2.84.8 to 2.84.10

build/index_mappress.js CHANGED
@@ -1 +1 @@
1
- (()=>{var t={117:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappAutocomplete:()=>m});var o=n(326);const a=wp.element.createElement,{Fragment:i,useCallback:l,useEffect:s,useLayoutEffect:p,useMemo:r,useRef:c,useState:u}=wp.element;function m(e){e={buttonLabel:null,className:"",delay:null,focus:!1,onFetch:null,onSelect:null,placeholder:"",selected:null,suggestions:[],title:"",...e};const t=c(null),n=c(null),[i,l]=u({isOpen:!1,value:""});function p(e){l((t=>({...t,...e})))}(0,o.useClickOutside)(t,(()=>{i.isOpen&&p({isOpen:!1})})),s((()=>{e.focus&&n.current&&n.current.focus()}),[]),s((()=>{i.map&&setMapTypeId(e.mapTypeId)}),[e.mapTypeId,i.map]);const r=(0,o.useDebounce)((t=>{e.onFetch&&e.onFetch(t)}),e.delay);function m(){let t;p({isOpen:!1}),e.suggestions&&(t=null==i.selected?e.suggestions[0]:e.suggestions[i.selected]),e.onSelect({suggestion:t,value:g})}const g=i.selected>=0&&e.suggestions&&e.suggestions[i.selected]?e.suggestions[i.selected].value:i.value;return a("div",{className:"mapp-autocomplete",ref:t},a("div",{className:"mapp-autocomplete-wrapper"},a("input",{className:e.className,onChange:e=>{!function(e){p({value:e,selected:null}),r(e)}(e.target.value)},onKeyDownCapture:t=>function(t){switch(t.stopPropagation(),t.code){case"Backspace":p({isOpen:i.value.length>1});break;case"Enter":m();break;case"Escape":p({isOpen:!1});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]&&p({isOpen:!0,selected:t})}else p({selected:null});break;case"ArrowDown":if(e.suggestions&&i.selected<e.suggestions.length-1){const t=null==i.selected?0:i.selected+1;e.suggestions[t]&&p({isOpen:!0,selected:t})}else p({selected:null});break;case"Tab":case"AltLeft":case"AltRight":case"ControlLeft":case"ControlRight":case"MetaLeft":case"MetaRight":break;default:p({isOpen:!0})}}(t),placeholder:e.placeholder,ref:n,title:e.title,type:"text",value:g}),i.isOpen&&function(){if(e.suggestions&&e.suggestions.length)return a("div",{className:"mapp-autocomplete-list"},_.map(e.suggestions,((t,n)=>{const o="mapp-autocomplete-item"+(i.selected==n?" mapp-selected":"");return a("div",{className:o,key:n,onClick:()=>function(t,n){p({isOpen:!1,selected:n}),e.onSelect({suggestion:t})}(t,n)},t.value)})))}()),e.buttonLabel&&a("div",{className:"mapp-submit-button",onClick:()=>m()},e.buttonLabel))}},715:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappDirections:()=>r});const o=wp.element.createElement,{Fragment:a,useEffect:i,useLayoutEffect:l,useRef:s,useState:p}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function r(e){e={from:null,onClose:null,to:null,...e};const[t,n]=p({from:e.from?e.from:"",to:e.to?e.to:""});function a(e){n((t=>({...t,...e})))}function l(){e.onClose&&e.onClose()}function s(){const e=t.from.trim(),n=t.to.trim();let o=mappl10n.options.directionsServer;o="https://maps.google.com"==o?"https://www.google.com":o,-1==o.toLowerCase().indexOf("http")&&(o="https://"+o),o+="/maps/dir/?api=1&origin="+encodeURIComponent(e)+"&destination="+encodeURIComponent(n),window.open(o),l()}function r(e){13==e?s():27==e&&l()}return i((()=>{"google"==mappl10n.options.directions&&s()}),[]),"google"==mappl10n.options.directions?null:o("div",{className:"mapp-directions"},o("div",{className:"mapp-close",onClick:()=>l()}),o("div",null,o("input",{className:"mapp-dir-from",onChange:e=>a({from:e.target.value}),onKeyPress:e=>r(e.which),tabIndex:"1",placeholder:__("My location"),value:t.from}),o("div",{className:"mapp-dir-arrows",onClick:()=>{a({from:t.to,to:t.from})}})),o("div",null,o("input",{className:"mapp-dir-to",onChange:e=>a({to:e.target.value}),onKeyPress:e=>r(e.which),tabIndex:"2",value:t.to})),o("div",{className:"mapp-dir-toolbar"},o("div",{className:"mapp-submit-button",onClick:()=>s()},__("Get Directions"))))}},817:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappFilters:()=>u});var o=n(939),a=n(326);const i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:p,useRef:r,useState:c}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),sprintf=wp.i18n.sprintf,u=e=>{e={onChange:null,otype:"post",poiCount:0,...e};const t=(0,a.useDebounce)(e.onChange,500),[n,p]=c({filters:[],isBusy:!0,open:null,selected:{}});function u(e){p((t=>({...t,...e})))}const m=r({});function g(e,o){let a=n.selected[e.key]?n.selected[e.key].values:null;if("checkbox"==e.format){var i;const e=null===(i=a)||void 0===i?void 0:i.indexOf(o);e>-1?a.splice(e,1):(a=a||[],a.push(o))}else a=o?[o]:[];a.length?n.selected[e.key]={key:e.key,values:a,meta_key:e.meta_key,meta_values:e.meta_values}:delete n.selected[e.key],u({selected:n.selected}),t(n.selected)}function d(e){u({open:n.open==e?null:e})}function f(e){e.key;const t=[...e.values],a=n.selected[e.key]?n.selected[e.key].values:"";switch(e.format){case"input":return i("input",{type:"text",value:a?a[0]:"",onChange:t=>g(e,t.target.value)});case"checkbox":return _.map(t,(t=>i("label",{key:t.value},i("input",{checked:null==a?void 0:a.includes(t.value),key:t.value,onChange:t=>g(e,t.target.value),type:e.format,value:t.value}),t.iconid&&i("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(t.iconid)}),i("span",{dangerouslySetInnerHTML:{__html:t.label}}))));case"radio":return"radio"==e.format&&t.unshift({value:"",label:__("All")}),_.map(t,(t=>i("label",{key:t.value},i("input",{checked:a==t.value||""==t.value&&!a,key:t.value,onChange:t=>g(e,t.target.value),type:e.format,value:t.value}),t.iconid&&i("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(t.iconid)}),i("span",{dangerouslySetInnerHTML:{__html:t.label}}))));case"select":t.unshift({value:"",label:""});const n=_.map(t,(e=>'<option value="'+e.value+'">'+e.label+"</option>"));return i("select",{value:a[0],dangerouslySetInnerHTML:{__html:n},onChange:t=>g(e,t.target.value)})}}function v(o){return i("div",{className:"mapp-filter-dropdown"},function(e){return i("div",{className:"mapp-filter-values"},"all"==e?n.filters.map((e=>i(l,{key:e.key},i("div",{className:"mapp-filter-label"},e.label),f(e)))):f(e))}(o),"all"==o&&function(n){const o="all"==n?"all":n.key;let a=e.poiCount>1?__("%d Results"):__("%d Result");return a=sprintf(a,e.poiCount),i("div",{className:"mapp-filter-toolbar"},i("div",{className:"mapp-link-button",onClick:()=>(u({selected:{}}),void t())},__("Reset")),i("div",{className:"mapp-filter-count"},a),i("div",{className:"mapp-submit-button",onClick:()=>d(o)},__("Done")))}(o))}function h(e){const t="all"==e?"all":e.key,o="all"==e?__("Filter"):e.label,a="mapp-filter mapp-filter-"+t+(n.open==t?" mapp-filter-open":"");return i("div",{key:t,className:a,ref:e=>m.current[t]=e},i("div",{className:"mapp-button mapp-button-caret mapp-filter-button"+(n.isBusy?" mapp-button-disabled":""),onClick:()=>d(t)},o),v(e))}return(0,a.useClickOutside)({current:n.open&&m.current[n.open]?m.current[n.open]:null},(()=>{u({open:null})})),s((()=>{u({isBusy:!0}),o.mappLib.ajax({method:"GET",data:{action:"mapp_filters_get",nonce:mappl10n.options.nonce,otype:e.otype},callback:e=>{e&&"OK"==e.status?u({filters:e.data}):console.error("MapPress: unable to fetch filter data"),u({isBusy:!1})}})}),[]),i("div",{className:"mapp-filters"},h("all"),_.map(n.filters,(e=>e.isStandalone?h(e):null)))}},10:(e,t,n)=>{"use strict";n.r(t),n.d(t,{useGeocoding:()=>u});const o=n(939).mappLib.toJSON,{Fragment:a,useCallback:i,useEffect:l,useLayoutEffect:s,useRef:p,useState:r}=(wp.element.createElement,wp.element),__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),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(e){let{suggestion:t,callback:n}=e;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken,this.token=null;var a={fields:["formatted_address","name","geometry"],placeId:t.place_id,sessionToken:this.token};this.placesService.getDetails(a,(function(e,t){if("OK"==t&&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}}}n(e)}else n(null)}))},getFirstPrediction:function(e){let{map:t,value:n,callback:o}=e;this.getPredictions({map:t,value:n,callback:e=>{e&&Array.isArray(e)?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:n,includeBusinesses:o,callback:a}=e;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;var i=t?t.getBounds():null;"leaflet"==mappl10n.options.engine&&(i=new google.maps.LatLngBounds(new google.maps.LatLng(i.getSouthWest().lat,i.getSouthWest().lng),new google.maps.LatLng(i.getNorthEast().lat,i.getNorthEast().lng)));var l={input:n,bounds:i=i||new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180)),sessionToken:this.token,types:o?null:["geocode"]};this.autocompleteService.getPlacePredictions(l,(function(e,t){"OK"==t&&e&&e.length?(e=(e=e.map((e=>(e.value=e.description,e)))).filter((e=>e.place_id)),a(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"),a(null))}))}},c.mapbox=function(){},c.mapbox.prototype={getDetails:function(e){let{suggestion:t,callback:n}=e,o=t.place_name,a=o.indexOf(","),i=o.indexOf(",",a+1);a>0&&(o=parseInt(o.substr(0,a))?o.substr(0,i).replace(",",""):o.substr(0,a));let l=t.bbox&&4==t.bbox.length?{sw:{lat:t.bbox[1],lng:t.bbox[0]},ne:{lat:t.bbox[3],lng:t.bbox[2]}}:null;n({formatted_address:t.place_name,name:o,geometry:{location:{lat:t.center[1],lng:t.center[0]},viewport:l}})},getFirstPrediction:function(e){let{map:t,value:n,callback:o}=e;this.getPredictions({map:t,value:n,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:n,callback:o}=e;var a="https://api.mapbox.com/geocoding/v5/mapbox.places/"+n+".json?access_token="+mappl10n.options.mapbox;a=mappl10n.options.country?a+"&country="+mappl10n.options.country.toLowerCase():a,a=mappl10n.options.language?a+"&language="+mappl10n.options.language.toLowerCase():a;var i=t?t.getCenter():null;i&&(a+="&proximity="+i.lng+","+i.lat),mappl10n.options.searchBox&&(a+="&bbox="+mappl10n.options.searchBox),fetch(a).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))),o(e.features)):o(null)}))}},c.nominatim=function(){},c.nominatim.prototype={getDetails:function(e){let{suggestion:t,callback:n}=e,o=t.display_name,a=o.indexOf(","),i=o.indexOf(",",a+1);a>0&&(o=parseInt(o.substr(0,a))?o.substr(0,i).replace(",",""):o.substr(0,a));let l=t.boundingbox&&4==t.boundingbox.length?{sw:{lat:t.boundingbox[0],lng:t.boundingbox[2]},ne:{lat:t.boundingbox[1],lng:t.boundingbox[3]}}:null;n({formatted_address:t.display_name,name:o,geometry:{location:{lat:t.lat,lng:t.lon},viewport:l}})},getFirstPrediction:function(e){let{map:t,value:n,callback:o}=e;this.getPredictions({map:t,value:n,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:n,callback:o}=e;var a="https://nominatim.openstreetmap.org/search?format=json&dedupe=1&limit=5&q="+encodeURIComponent(n);if(a=mappl10n.options.country?a+"&countrycodes="+mappl10n.options.country.toLowerCase():a,a=mappl10n.options.language?a+"&accept-language="+mappl10n.options.language.toLowerCase():a,mappl10n.options.searchBox)a+="&viewbox="+mappl10n.options.searchBox,a+="&bounded=1";else{var i=t?t.getBounds():null;if(i){let e=i.getSouthWest(),t=i.getNorthEast();a+="&viewbox="+e.lng+","+e.lat+","+t.lng+","+t.lat}}fetch(a).then((e=>e.json())).then((e=>{e&&e.length?(e=e.map((e=>(e.value=e.display_name,e))),o(e)):o(null)}))}};const u=e=>{let{includeBusinesses:t}=e;function n(){let e="";return e="leaflet"!=mappl10n.options.engine?"google":mappl10n.options.geocoder?mappl10n.options.geocoder:"nominatim",new c[e]}return{geocode:function(e){let{map:o,suggestion:a,value:i,callback:l}=e;const s=n();i="string"==typeof i?i.trim():i,a||i?function(e){let{map:t,value:n,callback:o}=e;if(!n)return void o(null);if("string"!=typeof n){return void o(n.lat&&n.lng?{geometry:{location:{lat:n.lat,lng:n.lng}}}:null)}if("http"==n.substring(0,4))return void o(n);const a=n.split(",");if(2==a.length){const e=parseFloat(a[0]),t=parseFloat(a[1]);if(!isNaN(e)&&!isNaN(t))return void o({name:e+", "+t,geometry:{location:{lat:e,lng:t}}})}o(null)}({map:o,value:i,callback:e=>{e?l(e):a?s.getDetails({suggestion:a,callback:l}):s.getFirstPrediction({map:o,value:i,includeBusinesses:t,callback:l})}}):l(null)},geolocate:function(e,t){navigator&&navigator.geolocation||(alert(__("Unable to get your location")),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")+" "+o)}e(null)}),{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4})},getPredictions:function(e){let{map:t,value:o,callback:a}=e;n().getPredictions({map:t,value:o,callback:a})}}}},326:(e,t,n)=>{"use strict";n.r(t),n.d(t,{useClickOutside:()=>c,useDebounce:()=>u,useResizeObserver:()=>m,useIntersectionObserver:()=>g,useTimeout:()=>d});wp.element.createElement;const{Fragment:o,useCallback:a,useEffect:i,useLayoutEffect:l,useMemo:s,useRef:p,useState:r}=wp.element;function c(e,t){i((()=>{const n=n=>{e.current&&!e.current.contains(n.target)&&t()};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n),()=>{document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n)}}))}function u(e,t,n){const o=p(!1);i((()=>(o.current=!0,()=>o.current=!1)),[]);const l=_.debounce((function(){o.current&&e(...arguments)}),t);return a(l,n=n||[])}function m(e,t){const n=p();n.current=t,i((()=>{if(!e)return;const t=new ResizeObserver(((e,t)=>{n.current()}));return t.observe(e),()=>{t.disconnect()}}),[e])}function g(e){let{container:t,element:n,options:o,callback:a}=e;const l=p(null),s=p(null);s.current=a,i((()=>(!l.current&&n&&t&&(l.current=new IntersectionObserver((e=>{e[0].isIntersecting&&s.current()}),{...o,root:t}),l.current.observe(n)),()=>{l.current&&(l.current.disconnect(),l.current=null)})),[t,n])}function d(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}},939:(e,t,n)=>{"use strict";n.r(t),n.d(t,{mappLib:()=>o,mappEvent:()=>a,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},getIcon:function(e){{const t=this.getIconUrl(e);return"leaflet"==mappl10n.options.engine?L.icon({iconUrl:t,iconAnchor:[16,32],iconSize:[32,32],popupAnchor:[0,-32]}):{url:t}}},getIconUrl:function(e){return"https://maps.google.com/intl/en_us/mapfiles/ms/micons/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<l;i++)o(e+"["+("object"==typeof a[i]&&a[i]?i:"")+"]",a[i]);else if("[object Object]"===Object.prototype.toString.call(a))for(s in a)o(e+"["+s+"]",a[s]);else n(e,a);else if(Array.isArray(a))for(i=0,l=a.length;i<l;i++)n(a[i].name,a[i].value);else for(s in a)o(s,a[s]);return t};return o("",e).join("&")},nanoid:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21;const t="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let n="",o=e;for(;o--;)n+=t[64*Math.random()|0];return n},pointToLatLng:function(e){return e?"leaflet"==mappl10n.options.engine?L.latLng(e):new google.maps.LatLng(e.lat,e.lng):null},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]=_.template(n,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g})}return o.templates[e](t)},toJSON:e=>e.toJSON?e.toJSON():e&&e.hasOwnProperty("lat")&&e.hasOwnProperty("lng")?e:"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<t.length;a++)"leaflet"==mappl10n.options.engine?(e.on(t[a],n),o.push({target:e,event:t[a],callback:n})):o.push(google.maps.event.addListener(e,t[a],n));return o},addListenerOnce:function(e,t,n){t=t.split(" ");for(var o=0;o<t.length;o++)"leaflet"==mappl10n.options.engine?e.once(t[o],n):google.maps.event.addListenerOnce(e,t[o],n)},clearInstanceListeners:function(e){"leaflet"==mappl10n.options.engine?e.off():google.maps.event.clearInstanceListeners(e)},clearListeners:function(e,t){t=t.split(" ");for(var n=0;n<t.length;n++)"leaflet"==mappl10n.options.engine?e.off(t[n]):google.maps.event.clearListeners(e,t[n])},removeListener:function(e){for(let t=0;t<e.length;t++)"leaflet"==mappl10n.options.engine?e[t].target.off(e[t].event,e[t].callback):google.maps.event.removeListener(e[t])},trigger:function(e,t,n){"leaflet"==mappl10n.options.engine?e.fire(t,n):google.maps.event.trigger(e,t,n)}},i={parseOverlay:function(e,t){if("google"==mappl10n.options.engine){if("kml"==e){const e=t.getDefaultViewport();return{point:e?o.toJSON(e.getCenter()):null,viewport:e?o.boundsToViewport(e):null}}const n=t instanceof google.maps.Polyline?{strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,stokeWeight:t.strokeWeight}:{fillColor:t.fillColor,fillOpacity:t.fillOpacity,strokeColor:t.strokeColor,strokeOpacity:1,stokeWeight:t.strokeWeight};if("circle"==e)return{point:o.toJSON(t.getCenter()),poly:{radius:t.getRadius(),...n}};if("rectangle"==e)return{viewport:o.boundsToViewport(t.getBounds()),poly:{...n}};if("polyline"==e){const e=[];return t.getPath().forEach((function(t){e.push(o.toJSON(t))})),{poly:{path:e,...n}}}if("polygon"==e){const e={fillColor:t.fillColor,fillOpacity:t.fillOpacity,strokeColor:t.strokeColor,strokeOpacity:1,stokeWeight:t.strokeWeight},n=[];return t.getPaths().forEach((function(e){var t=[];e.forEach((function(e){t.push(o.toJSON(e))})),n.push(t)})),{poly:{paths:n,...e}}}if(!e)return{point:o.toJSON(t.getPosition())}}else{if("kml"==e){const e=t.getBounds();return{point:e&&e.isValid()?o.toJSON(e.getCenter()):null,viewport:e&&e.isValid()?o.boundsToViewport(e):null}}if(!e)return{point:"leaflet"==mappl10n.options.engine?o.toJSON(t.getLatLng()):o.toJSON(t.getPosition())}}}}},374:(e,t,n)=>{"use strict";n.r(t);var o=n(939),a=n(346);window.mapp=window.mapp||{};const i=wp.element.createElement;mapp.load=function(){const e=e=>{let{data:t,container:n}=e;t.pois&&t.pois.map((e=>{e.id=o.mappLib.nanoid()})),n?ReactDOM.render(i(a.MappMap,{...t,container:n}),n):console.log("Missing container for map "+t.name)};if(mapp.data)for(;mapp.data.length;){const t=mapp.data.pop();e({data:t,container:document.getElementById(t.name)})}},mapp.load()},346:(t,n,o)=>{"use strict";o.r(n),o.d(n,{MappMap:()=>D});var a=o(939),i=o(715),l=(o(817),o(602)),s=o(818),p=o(81),r=o(50),c=o(615);const u=wp.element.createElement,{Fragment:m,useEffect:g,useLayoutEffect:d,useMemo:f,useRef:v,useState:h}=wp.element;function y(e){e={anchor:null,className:null,content:null,map:null,onMouseEnter:null,onMouseLeave:null,point:null,...e};const t=v(null),[n,o]=h({isLoaded:null,mapDiv:"leaflet"==mappl10n.options.engine?e.map.getContainer():e.map.getDiv(),overlayView:null});function i(e){o((t=>({...t,...e})))}function l(){const o=t.current;if(!o)return;if(document.fullscreenElement||e.map.isFullscreen)return;let i;const{width:l,height:s}=o.getBoundingClientRect(),p=a.mappLib.pointToLatLng(e.point);if("leaflet"==mappl10n.options.engine)i=e.map.latLngToContainerPoint(p);else{const e=n.overlayView.getProjection();if(!e)return;i=e.fromLatLngToContainerPixel(p)}o.style.bottom=n.mapDiv.clientHeight-i.y-e.anchor.y+"px",o.style.left=i.x-l/2+e.anchor.x+"px"}return d((()=>{"google"==mappl10n.options.engine?n.overlayView||(n.overlayView=new google.maps.OverlayView,n.overlayView.onAdd=function(){i({isLoaded:!0})},n.overlayView.setMap(e.map)):(e.map.stop(),i({isLoaded:!0}))}),[]),d((()=>{if(!n.isLoaded)return;let t;return"google"==mappl10n.options.engine?n.overlayView.draw=()=>l():t=a.mappEvent.addListener(e.map,"move",(e=>l())),()=>{"google"==mappl10n.options.engine?n.overlayView.draw=null:a.mappEvent.removeListener(t)}})),d((()=>{n.isLoaded&&(l(),function(){const o=t.current;if(!o)return;const i=30,l=o.offsetWidth,s=o.offsetHeight,p=n.mapDiv.clientWidth,r=n.mapDiv.clientHeight,c=a.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+l/2+e.anchor.x>p-i?m.x=Math.max(p-l/2-e.anchor.x-i,p/2-e.anchor.x):u.x-l/2+e.anchor.x<i&&(m.x=Math.min(l/2+e.anchor.x+i,p/2-e.anchor.x));u.y+e.anchor.y-s<i&&(m.y=s-e.anchor.y+i);m.y>=r&&(m.y=r-i);const g={x:u.x-m.x,y:u.y-m.y};(g.x<=-1||g.x>=1||g.y<=-1||g.y>=1)&&("leaflet"==mappl10n.options.engine?e.map.panBy([g.x,g.y]):e.map.panBy(g.x,g.y))}())}),[n.isLoaded]),n.isLoaded?u("div",{className:"mapp-ib-wrapper",ref:t,onMouseEnter:()=>{e.onMouseEnter&&e.onMouseEnter()},onMouseLeave:()=>{e.onMouseLeave&&e.onMouseLeave()}},u("div",{className:"mapp-ib-content"},u("div",{className:"mapp-ib"},u("div",{className:"mapp-iw "+(e.className?e.className:"")},e.content)),u("div",{className:"mapp-ib-tip"}))):null}var b=o(892),w=o(10),k=o(326);const E=a.mappLib.toJSON,{Fragment:C,useCallback:O,useEffect:x,useLayoutEffect:M,useRef:N,useState:P}=wp.element,S=wp.element.createElement,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function D(t){t={alignment:null,center:null,centerPoi:null,classname:null,container:null,geolocate: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,query:null,search:null,width:null,zoom:null,...t};const[n,o]=P({clusterer:null,clustererDefaultRenderer:"undefined"!=typeof markerClusterer?new markerClusterer.DefaultRenderer:null,directionsTo:null,drawingManager:null,filters:null,hovered:null,hoveredDelay:null,hoveredPopup:null,init:null,isDirectionsOpen:null,isFetching:null,isGeolocating:null,isHidden:!1,isIframe:t.container&&t.container.classList.contains("mapp-content"),isLoaded:null,isMounted:null,isMini:null,isSidebarOpen:null!=t.poiListOpen?t.poiListOpen:mappl10n.options.poiListOpen,kmlEvent:null,layers:{},layout:t.layout?t.layout:mappl10n.options.layout,map:null,opened:null,oid:t.oid?t.oid:mappl10n.options.oid,otype:t.otype?t.otype:mappl10n.options.otype,overlays:[],page:1,pageCount:0,parsedCenter:null,poiList:void 0!==t.poiList&&null!=t.poiList?t.poiList:mappl10n.options.poiList,pois:[],polyline:null,templates:t.query?"user"==t.otype?{item:"user-mashup-item",popup:"user-mashup-popup"}:{item:"mashup-item",popup:"mashup-popup"}:{item:"map-item",popup:"map-popup"},userLocation:null}),u=N(t.container),m=N(null),g=N(null),{geocode:d,geolocate:f}=(N(),(0,w.useGeocoding)({withBusinesses:t.isEditable}));function v(e){o((t=>({...t,...e})))}(0,k.useResizeObserver)(m.current,W),(0,k.useResizeObserver)(u.current,(function(){if(n.poiList&&"inline"!=n.layout&&u.current){const e=u.current.clientWidth<mappl10n.options.mini;!n.isMini&&e&&v({isSidebarOpen:!1}),e!=n.isMini&&(v({isMini:e}),u.current&&u.current.classList.toggle("mapp-mini",e))}})),x((()=>{switch(n.init){case null:!function(){const e=[__("MapPress FAQ")+": http://mappresspro.com/mappress-faq",__("Support")+": http://mappresspro.com/chris-contact",__("Get an API Key")+": 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"),text:__("A theme or plugin is preventing the Leaflet library from loading.")},{condition:"google"==mappl10n.options.engine&&"undefined"==typeof google,title:__("Google Maps API not loaded"),text:__("A theme or plugin is preventing Google Maps from loading.")},{condition:"google"==mappl10n.options.engine&&!mappl10n.options.apikey,title:__("Google Maps API key required")},{condition:document.querySelectorAll('script[src*="https://maps.googleapis.com/maps/api/js?v="]').length>1,title:__("Google Maps API loaded multiple times"),text:__("A theme or plugin has loaded Google Maps twice")},{condition:"undefined"==typeof _,title:__("Underscore library not loaded"),text:__("A theme or plugin is preventing the underscore.js library from loading.")}];t=t.filter((e=>e.condition));let n=t.map((e=>e.title+" : "+e.text));n.length&&(console.log(__("Map Error")+"\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.")))}();let e,o={...t.mapOpts};if(o.minZoom=isNaN(parseInt(o.minZoom))?0:parseInt(o.minZoom),"leaflet"==mappl10n.options.engine?(e=new L.Map(m.current,{attribution:'Map data <a href="https://openstreetmap.org">OpenStreetMap</a>',minZoom:0,scrollWheelZoom:mappl10n.options.scrollWheel,worldCopyJump:!0,zoomControl:null,...o}),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(e)):e=new google.maps.Map(m.current,{backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,mapTypeControl:!1,minZoom:0,scaleControl:!0,scrollWheelZoom:mappl10n.options.scrollWheel,streetViewControl:!t.query,streetViewControlOptions:{position:google.maps.ControlPosition.LEFT_BOTTOM},...o}),v({map:e}),mappl10n.options.userLocation&&mappl10n.options.ssl&&f((e=>{e&&e.geometry&&e.geometry.location&&v({userLocation:e.geometry.location})}),!0),mappl10n.options.geolocate||t.geolocate||"user"==t.center)return void f((e=>{e&&e.geometry&&e.geometry.location&&v({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),v({init:1})}));d({value:t.center,callback:e=>{e&&e.geometry&&e.geometry.location&&v({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),v({init:1})}});break;case 1:ee(t.mapTypeId),function(){if(t.isEditable&&"google"==mappl10n.options.engine&&google.maps.drawing){const e={fillColor:"#0000FF",fillOpacity:.4,strokeColor:"#0000FF",strokeOpacity:1,strokeWeight:2};n.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}),n.drawingManager.setMap(n.map)}}(),function(){n.polyline&&("leaflet"==mappl10n.options.engine?n.polyline.remove():n.polyline.setMap(null),v({polyline:null}));if(t.isEditable||!t.lines&&!mappl10n.options.lines||n.pois.length<2)return;const e={...mappl10n.options.lineOpts},o=[];if(_.map(n.pois,(e=>{o.push(B(e))})),"leaflet"==mappl10n.options.engine)v({polyline:new L.Polyline(o,e).addTo(n.map)});else{const t={strokeColor:e.color,strokeWeight:e.weight,strokeOpacity:e.opacity};e.icons&&(_.map(e.icons,(e=>{e.icon.path=parseInt(e.icon.path)})),e.icons[0].repeat="50px"),v({polyline:new google.maps.Polyline({map:n.map,path:o,...e,...t})}),e.animate&&e.icons&&e.icons.length&&function(){let e=0;const t=n.polyline.get("icons");t[0].repeat.replace("%","").replace("px","");window.setInterval((()=>{e+=1;t[0].offset=e+(t[0].repeat.indexOf("%")>=0?"%":"px"),n.polyline.set("icons",t)}),20)}()}}(),t.query&&!n.isIframe?h((()=>v({init:2}))):(v({pois:t.pois?t.pois:[]}),v({init:2}));break;case 2:const i="leaflet"==mappl10n.options.engine?"load":"tilesloaded";a.mappEvent.addListenerOnce(n.map,i,(()=>{v({bounds:D()}),function(){if(mappl10n.options.clustering&&!t.isEditable){let e,t=mappl10n.options.clusteringOptions?mappl10n.options.clusteringOptions:{};if(void 0!==t.disableClusteringAtZoom&&""==t.disableClusteringAtZoom&&(t.disableClusteringAtZoom=null),"leaflet"==mappl10n.options.engine)e=L.markerClusterGroup(t),n.map.addLayer(e);else{t.maxZoom=void 0!==t.maxZoom&&t.maxZoom?parseInt(t.maxZoom):void 0;const o=new markerClusterer.SuperClusterAlgorithm(t);e=new markerClusterer.MarkerClusterer({map:n.map,markers:[],algorithm:o,renderer:{render:(e,t)=>{let{count:o,position:a}=e;const i=n.clustererDefaultRenderer.render({count:o,position:a},t);return i.title=null,i}}})}v({clusterer:e})}}(),(t.initialOpenInfo||mappl10n.options.initialOpenInfo)&&!t.isEditable&&n.pois&&n.pois.length&&G(n.pois[0]),v({isLoaded:!0})})),J()}}),[n.init]);(0,k.useTimeout)((()=>{v({hoveredDelay:0}),n.hoveredPopup||v({hovered:null})}),n.hoveredDelay);function h(e){}function O(e){return n.pois.find((t=>t.id==e))}function M(e){return n.map.fitBounds(e)}function D(){try{return n.map.getBounds()}catch(e){return null}}function I(){let e;try{e=n.map.getCenter()}catch(t){e=null}return e?E(e):null}function T(){if(t.embed)return{width:"100%",height:"100%"};const e=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:t.width?n(t.width):n(e.width),height:t.height?n(t.height):n(e.height)}}function R(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=a.mappLib.viewportToBounds(e.viewport)}return t}function B(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=R(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 A(){let e;try{e=n.map.getZoom()}catch(t){e=null}return e?parseInt(e):null}function z(){return!!(t.isEditable||t.search||mappl10n.options.search&&t.query)}x((()=>{n.isLoaded&&!t.query&&v({pois:t.pois?t.pois:[]})}),[t.pois]),x((()=>{n.clusterer&&("leaflet"==mappl10n.options.engine?(n.clusterer.clearLayers(),n.clusterer.addLayers(n.overlays)):(n.clusterer.clearMarkers(),n.clusterer.addMarkers(n.overlays)))}),[n.clusterer,n.overlays]),x((()=>{n.isLoaded&&t.query&&h()}),[t.query,n.filters]),x((()=>{n.isLoaded&&null==t.center&&J(null)}),[t.center]),x((()=>{n.isLoaded&&ee(t.mapTypeId)}),[t.mapTypeId]),x((()=>{n.isLoaded&&function(e){let t=mappl10n.options.poiZoom;if(e.viewport){var n=e.viewport.ne.lng-e.viewport.sw.lng;n<0&&(n+=360),t=Math.floor(Math.log(360*m.current.clientWidth/n/256)/Math.LN2)}te(B(e),t)}(t.centerPoi)}),[t.centerPoi]),x((()=>{if(!n.isLoaded)return;let e,o,i;return e=a.mappEvent.addListener(n.map,"moveend idle",(e=>F())),o=a.mappEvent.addListener(n.map,"click dragstart zoom_changed zoomstart",(e=>{"leaflet"==mappl10n.options.engine&&"click"==e.type&&e.originalEvent&&!e.originalEvent.target.matches(".mapp-canvas")||j()})),n.drawingManager&&(i=a.mappEvent.addListener(n.drawingManager,"overlaycomplete",(e=>{n.drawingManager.setDrawingMode(null),H(null),t.onDrawingEvent&&t.onDrawingEvent(e)}))),t.name&&(window[t.name]={getPois:()=>n.pois,poiOpen:e=>v({opened:"string"==typeof e?e:e.id})}),()=>{a.mappEvent.removeListener(e),a.mappEvent.removeListener(o),i&&a.mappEvent.removeListener(i)}}));const F=(0,k.useDebounce)((()=>{v({bounds:D(),page:1}),t.onViewportChange&&t.onViewportChange({center:I(),zoom:A()})}),500,[t.onViewportChange,n.map]);function V(e,n){if("poi"!=mappl10n.options.mashupClick&&t.query&&"post"==e.otype&&e.oid&&e.url)switch(mappl10n.options.mashupClick){case"post":return void window.location.assign(e.url);case"postnew":return void window.open(e.url);case"postmodal":const t=document.createElement("div");return document.body.appendChild(t),ReactDOM.render(S(b.MappPopupModal,{onClose:()=>{wp.element.unmountComponentAtNode(t),t.remove()},poi:e}),t)}else G(e,n)}function j(){v({hovered:null,opened:null,isDirectionsOpen:!1})}function H(e,o){!t.isEditable&&mappl10n.options.tooltips&&(e&&e.id==n.opened||n.opened||v(e?{hovered:e.id,hoveredDelay:0}:o?{hoveredDelay:300}:{hovered:null,hoveredDelay:0}))}function G(e,t){j(),n.isMini&&Z(!1),v({kmlEvent:t,opened:e.id})}function U(e){e?v({hoveredPopup:e.id,hoveredDelay:0}):(v({hoveredPopup:null}),n.hovered&&!n.opened&&v({hoveredDelay:300}))}function W(){"leaflet"==mappl10n.options.engine?n.map.invalidateSize():a.mappEvent.trigger(n.map,"resize"),u.current&&0==u.current.offsetHeight?v({isHidden:!0}):n.isHidden&&(v({isHidden:!1}),J())}function Z(e){v({isSidebarOpen:e=void 0!==e?e:!n.isSidebarOpen,isDirectionsOpen:!1}),setTimeout((()=>W()),100)}function J(e){e=null==e?n.parsedCenter:e;const o=t.zoom&&parseInt(t.zoom)?parseInt(t.zoom):null;if(e)return void te(e,o||1);if(0==n.pois.length)return void te({lat:0,lng:0},o||1);if(1==n.pois.length)return void te(B(n.pois[0]),o||mappl10n.options.poiZoom);let a="leaflet"==mappl10n.options.engine?new L.LatLngBounds:new google.maps.LatLngBounds;for(var i=0;i<n.pois.length;i++){var l=R(n.pois[i]);a=l?"leaflet"==mappl10n.options.engine?a.extend(l):a.union(l):a.extend(B(n.pois[i]))}o?te(E(a.getCenter()),o):M(a)}function K(){return mappl10n.options.ssl?S("div",{className:"mapp-"+mappl10n.options.engine+"-geolocate-wrapper"},S("div",{className:"mapp-geolocate-control",onClick:()=>(v({isGeolocating:!0}),void f((e=>{v({isGeolocating:!1}),e&&e.geometry&&e.geometry.location&&te(e.geometry.location,mappl10n.options.poiZoom)}),!1)),title:__("Your Location")})):null}function q(){if(z())return n.isLoaded?S("div",{className:"mapp-header"},z()&&n.map?S("div",{className:"mapp-search-container"},S(s.MappPlaces,{buttonLabel:t.isEditable?__("Add to map"):S("img",{src:mappl10n.options.baseurl+"/images/search.png"}),focus:t.isEditable,includeBusinesses:t.isEditable,map:n.map,onSearch:e=>{t.onSearch?t.onSearch(e):function(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&&M(o),te(t)}(e)}})):null,"top"==mappl10n.options.filtersPos&&null):S("div",{className:"mapp-header"})}function Y(){return S(C,null,n.isFetching||n.isGeolocating?S(C,null,S("div",{className:"mapp-spinner-overlay"}),S("div",{className:"mapp-spinner"})):null,q(),S("div",{className:"mapp-main"},"inline"!=n.layout&&$(),S("div",{className:"mapp-canvas-panel"+("google"==mappl10n.options.engine?" mapp-google":" mapp-leaflet")},S("div",{className:"mapp-canvas",ref:m}),n.isLoaded&&n.userLocation?S(p.MappPoi,{isClusterable:!1,isEditable:!1,isOpen:!1,key:"user",map:n.map,poi:{point:n.userLocation,iconid:"geolocation"}}):null,function(){if(!n.isLoaded)return;const o=[],a=(e,t,a)=>{n.clusterer&&(t&&o.push(e),a==n.pois.length-1&&v({overlays:o}))};return n.pois.map(((o,i)=>S(p.MappPoi,{key:o.id,isClusterable:!!n.clusterer&&!o.type,isEditable:!!t.isEditable,isHovered:o.id==n.hovered,isOpen:o.id==n.opened,map:n.map,onChange:e=>{t.onPoiChange&&t.onPoiChange(o.id,e)},onClick:e=>V(o,e),onMouseOut:()=>{H(null,!0)},onMouseOver:()=>H(o),onOverlayAdd:(e,t)=>a(e,t,i),onRenderPopup:(o,a)=>function(o,a){const i=function(e){if(!n.clusterer)return;if("leaflet"==mappl10n.options.engine){var t=n.clusterer.getVisibleParent(e);return t&&t!=e?t.getLatLng():null}const o=n.clusterer.clusters;for(var a=0;a<o.length;a++){const t=o[a].markers;if(t.length>1)for(let n=0;n<t.length;n++)if(t[n]==e)return o[a].center_}}(a),l=B(o),s=E(i||l);let p,c,u={x:0,y:0};i?u={x:0,y:-14}:o.type||(u=mappl10n.options.iconScale&&mappl10n.options.iconScale[0]&&mappl10n.options.iconScale[1]?{x:0,y:0-mappl10n.options.iconScale[1]}:{x:0,y:-32});n.kmlEvent&&(n.kmlEvent.pixelOffset&&(u={x:e.pixelOffset.width,y:e.pixelOffset.height}),n.kmlEvent.featureData?p=n.kmlEvent.featureData:n.kmlEvent&&n.kmlEvent.propagatedFrom&&n.kmlEvent.propagatedFrom.feature&&n.kmlEvent.propagatedFrom.feature.properties&&(p=n.kmlEvent.propagatedFrom.feature.properties));c=t.onRenderPopup?t.onRenderPopup(o,j):S(r.MappPoiContent,{context:"popup",feature:p,isEditable:t.isEditable,onDirectionsClick:()=>v({isDirectionsOpen:!0,directionsTo:o}),poi:o,template:n.templates.popup,thumbs:mappl10n.options.thumbsPopup});let m=!t.isEditable&&mappl10n.options.thumbsPopup?"mapp-thumb-"+mappl10n.options.thumbsPopup:"";return m+=o.images&&o.images.length?" mapp-has-thumb":"",S(y,{anchor:u,className:m,content:c,map:n.map,onMouseEnter:()=>U(o),onMouseLeave:()=>U(null),point:s})}(o,a),poi:o})))}(),t.isEditable||"leaflet"==mappl10n.options.engine||!n.map?null:S(l.MappMenuControl,{map:n.map,onCenter:()=>{j(),J()}}),K())),n.poiList&&"inline"!=n.layout&&n.isMini?S("div",{className:"mapp-footer"},!n.isSidebarOpen&&S("div",{className:"mapp-button mapp-view-list",onClick:()=>Z(!0)},S("img",{src:mappl10n.options.baseurl+"/images/outline_format_list_bulleted_black_18dp.png"}),"List"),n.isSidebarOpen&&S("div",{className:"mapp-button mapp-view-map",onClick:()=>Z(!1)},S("img",{src:mappl10n.options.baseurl+"/images/outline_map_black_18dp.png"}),"Map")):null)}function Q(){const e={paddingBottom:T().height};return S(C,null,S("div",{className:"mapp-wrapper",style:e},S("div",{className:"mapp-content"},Y())),"inline"==n.layout&&$())}function X(){if(!n.poiList||!n.isLoaded)return null;let e=[];return e=z()&&n.bounds&&!t.isEditable?n.pois.filter(((e,t)=>n.bounds.contains(B(e)))):n.pois,n.pageCount!=e.length&&v({pageCount:e.length}),S(c.MappPoiList,{className:!t.isEditable&&mappl10n.options.thumbsList?" mapp-thumb-"+mappl10n.options.thumbsList:"",hovered:n.hovered,isEditable:t.isEditable,isPaged:!!t.query,onClick:e=>V(O(e)),onDirectionsClick:e=>v({isDirectionsOpen:!0,directionsTo:O(e)}),onDragDrop:e=>{let{from:n,to:o}=e;return function(e,n){t.onDragDrop&&t.onDragDrop(e,n)}(n,o)},onMouseEnter:e=>H(O(e)),onMouseLeave:e=>H(null),onPage:e=>{v({page:e})},opened:n.opened,page:n.page,pois:e,template:t.isEditable?null:n.templates.item})}function $(){let e="mapp-sidebar";return e+="inline"==n.layout?" mapp-sidebar-inline":"",e+=n.isSidebarOpen?" mapp-sidebar-open":"",n.isDirectionsOpen?S("div",{className:e,ref:g},function(){if(!n.isDirectionsOpen)return null;let e="";if(n.directionsTo)if(n.directionsTo.address)e=n.directionsTo.address;else{const t=E(B(n.directionsTo));e=t.lat+", "+t.lng}return S(i.MappDirections,{from:"",to:e,onClose:()=>{v({isDirectionsOpen:!1,directionsTo:null})}})}()):n.poiList?S("div",{className:e,ref:g},S("div",{className:"mapp-sidebar-toggle",onClick:()=>Z()}),"list"==mappl10n.options.filtersPos&&null,t.onRenderSidebar&&t.onRenderSidebar(),X()):void 0}function ee(e){const t=mappl10n.options.standardStyles.concat(mappl10n.options.userStyles),o=_.find(t,(t=>t.id==e));!mappl10n.options.style||"roadmap"!=e&&"streets"!=e&&o||(e=mappl10n.options.style);let a=_.find(t,(t=>t.id==e));if(a=a||t[0],"leaflet"==mappl10n.options.engine){let e={mapbox:{accessToken:mappl10n.options.mapbox,attribution:['<a href="https://www.mappresspro.com" target="_blank">MapPress</a>','<a href="https://www.mapbox.com/about/maps" target="_blank">&copy; Mapbox<a/>','<a href="https://www.openstreetmap.org/about/" target="_blank">&copy; OpenStreetMap</a>'],url:"https://api.mapbox.com/styles/v1/{user}/{mapboxid}/tiles/256/{z}/{x}/{y}{r}?access_token={accessToken}&fresh=true",zoomOffset:0},osm:{attribution:['<a href="https://www.mappresspro.com" target="_blank">MapPress</a>','<a href="https://openstreetmap.org" target="_blank">Map data (c) OpenStreetMap</a>'],url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}}[a.provider],t={...e,...a};L.tileLayer(e.url,t).addTo(n.map)}else if(n.map.setMapTypeId("standard"==a.type?a.id:"roadmap"),a.json){let e=null;try{e=JSON.parse(a.json)}catch(e){console.log("Invalid JSON in map style")}n.map.setOptions({styles:e||null})}else n.map.setOptions({styles:null})}function te(e,t,o){"leaflet"==mappl10n.options.engine?(null==t&&(t=n.map.getZoom()?n.map.getZoom():0),n.map.setView(e,t,o)):(e=e&&!E(e)?{lat:parseFloat(e.lat),lng:parseFloat(e.lng)}:e,t=t?parseInt(t):null,e&&n.map.setCenter(e),t&&n.map.setZoom(t))}return n.isIframe?S(C,null,Y(),"inline"==n.layout&&$()):t.container?Q():function(){const e=T();t.name&&t.name;let n="mapp-layout";const o=t.alignment?t.alignment:mappl10n.options.alignment;o&&!document.body.classList.contains("block-editor-page")&&(n+=" align"+o,n+=" mapp-align-"+o);let a="full"==t.alignment?{width:"auto"}:{width:e.width};return S("div",{className:n,style:a,ref:u,tabIndex:"-1"},Q())}()}},759:(e,t,n)=>{"use strict";n.r(t),n.d(t,{mappMarker:()=>a});var o=n(939);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.draw(),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){let e='<img draggable="false" src="'+this.icon.url+'">';this.div.innerHTML=e;let t=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.style.width=t.width+"px",this.div.style.height=t.height+"px",this.setZIndex(),this.draw()}},setMap:function(e){this.map=e,this.overlayView.setMap(e)},setPosition:function(e){this.position=e},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}))}}},602:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappMenuControl:()=>c});var o=n(326);const a=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:p,useState:r}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function c(e){e={layer:null,map:null,onCenter:null,...e};const[t,n]=r({activeLayer:e.layer?e.layer:null,layers:null,isOpen:!1}),s=p(null);function c(e){n((t=>({...t,...e})))}function u(){c({isOpen:!t.isOpen})}return(0,o.useClickOutside)(s,(()=>{t.isOpen&&u()})),l((()=>{if("google"==mappl10n.options.engine){c({layers:{traffic:{googleLayer:new google.maps.TrafficLayer,label:__("Traffic")},bicycling:{googleLayer:new google.maps.BicyclingLayer,label:__("Bicycling")},transit:{googleLayer:new google.maps.TransitLayer,label:__("Transit")}}})}}),[]),a("div",{ref:s},a("div",{className:"mapp-menu-toggle",onClick:()=>u()}),t.isOpen&&function(){const n=_.map(t.layers,((n,o)=>{const i=t.activeLayer==o?"mapp-menu-item mapp-active":"mapp-menu-item";return a("div",{className:i,key:o,onClick:()=>function(n){t.activeLayer&&t.layers[t.activeLayer].googleLayer.setMap(null),n!=t.activeLayer&&t.layers[n].googleLayer.setMap(e.map),c({activeLayer:n==t.activeLayer?null:n,isOpen:!1})}(o)},n.label)}));return a("div",{className:"mapp-menu"},a("div",{className:"mapp-menu-items"},a("div",{className:"mapp-menu-item",onClick:()=>(c({isOpen:!1}),void e.onCenter())},__("Center map")),"google"==mappl10n.options.engine&&a(i,null,a("div",{className:"mapp-menu-separator"}),n)),a("div",{className:"mapp-menu-footer"},a("a",{className:"mapp-menu-help",href:"https://mappresspro.com/mappress-documentation",target:"_blank"},a("span",null,__("Help")))))}())}},27:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPaginate:()=>r});const o=wp.element.createElement,{Fragment:a,useEffect:i,useLayoutEffect:l,useRef:s,useState:p}=wp.element,{sprintf}=wp.i18n;function r(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.page<o&&e.onChange(e.page+1);break;case"prev":e.page>1&&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",p=(r="%d of %d",wp.i18n.__(r,"mappress-google-maps-for-wordpress"));var r;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"},sprintf(p,e.page,n)),o("div",{className:s,onClick:()=>{i||t("next")}},"›"),o("div",{className:s,onClick:()=>{i||t("last")}},"»"))}()}},818:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPlaces:()=>m});var o=n(117),a=n(10);const i=wp.element.createElement,{Fragment:l,useCallback:s,useEffect:p,useLayoutEffect:r,useRef:c,useState:u}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function m(e){e={buttonLabel:null,focus:!1,includeBusinesses:!1,map:null,onSearch: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",debounce:"nominatim"===mappl10n.options.geocoder?500:300,delay:"nominatim"==mappl10n.options.geocoder?500:50,focus:e.focus,onFetch:function(t){n({map:e.map,value:t,callback:e=>{var t;t={suggestions:e},s((e=>({...e,...t})))}})},onSelect:function(n){let{suggestion:o,value:a}=n;t({map:e.map,suggestion:o,value:a,callback:t=>{t&&e.onSearch(t)}})},placeholder:__("Search"),suggestions:l.suggestions,title:__("Enter an address, place, KML file URL, or lat,lng")})}},50:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoiContent:()=>u});var o=n(939);const a=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:p,useRef:r,useState:c}=wp.element;wp.i18n.sprintf;function u(e){e={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})))}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":return a("div",{className:"mapp-avatar",dangerouslySetInnerHTML:{__html:e.html}});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"}:{src:e.url};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.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.imageNumber<e.poi.images.length-1&&a("div",{className:"mapp-gallery-next",onClick:n=>function(n){t.imageNumber<e.poi.images.length-1&&(l({imageNumber:t.imageNumber+1}),n.stopPropagation())}(n)}))}(),a("div",{className:"mapp-info"},function(){let t={...e.poi};t.icon=o.mappLib.getIconUrl(e.poi.iconid),e.feature&&(t.body=e.feature.description,t.title=e.feature.name),t.props=t.props?t.props:{};const n=o.mappLib.template(e.template,{poi:t});return a("div",{className:"mapp-template",dangerouslySetInnerHTML:{__html:n}})}(),function(){var t;if(!(e.template.indexOf("user")>=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)},(t="Get Directions",wp.i18n.__(t,"mappress-google-maps-for-wordpress")))):void 0}()))}},615:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoiList:()=>g});var o=n(939),a=n(27),i=n(50);const l=wp.element.createElement,{Fragment:s,useEffect:p,useLayoutEffect:r,useMemo:c,useRef:u,useState:m}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),sprintf=wp.i18n.sprintf;const g=wp.element.memo((function(e){e={className:null,hovered:null,isEditable:!1,isPaged:!1,onClick:null,onDragDrop: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 p(e){n((t=>({...t,...e})))}function r(n){let a,r="mapp-item";return e.opened!=n.id&&e.hovered!=n.id||(r+=" mapp-selected"),r+=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:r,dangerouslySetInnerHTML:null,draggable:e.isEditable,key:n.id,onClick:()=>e.onClick(n.id),onDragOver:e=>e.preventDefault(),onDragStart:e=>p({dragging:n.id}),onDragEnter:e=>p({dragover:n.id}),onDragEnd:e=>p({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&&function(){let t=1!=e.pois.length?__("%d Results"):__("%d Result");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},_.map(e.pois,((t,a)=>{if(!e.isPaged||a>=n&&a<=o)return r(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}))))}))},81:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoi:()=>u});var o=n(939),a=n(759);wp.element.createElement;const{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:p,useRef:r,useState:c}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");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=r(null),[n,i]=c({overlay:null});function s(t){p()&&"google"==mappl10n.options.engine&&("rectangle"==e.poi.type&&(o.mappEvent.clearListeners(n.overlay,"bounds_changed"),t&&o.mappEvent.addListener(n.overlay,"bounds_changed",(()=>{u()}))),"circle"==e.poi.type&&(o.mappEvent.clearListeners(n.overlay,"center_changed radius_changed"),t&&o.mappEvent.addListener(n.overlay,"center_changed radius_changed",(()=>{u()}))),"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),u())})),o.mappEvent.addListener(n.overlay.getPath(),"insert_at remove_at set_at",(()=>{u()})))))}function p(){return"google"==mappl10n.options.engine&&-1!=["polyline","polygon","circle","rectangle"].indexOf(e.poi.type)}function u(){const t=o.mappPoi.parseOverlay(e.poi.type,n.overlay);e.onChange(t)}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)}return l((()=>{const n="leaflet"==mappl10n.options.engine&&"kml"!=e.poi.type?null:e.poi.type,l=_.pick(e.poi.poly,"strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity");let s;switch(n){case"polygon":s=new google.maps.Polygon({paths:e.poi.poly.paths,...l});break;case"polyline":s=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);s=new google.maps.Circle({center:t,radius:parseFloat(e.poi.poly.radius),...l});break;case"rectangle":s=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:"";s="leaflet"==mappl10n.options.engine?omnivore.kml(n):new google.maps.KmlLayer({url:n,preserveViewport:!0,suppressInfoWindows:!0});break;default:s="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)}),s.setIcon(o.mappLib.getIcon(e.poi.iconid))}var r;return r={overlay:s},i((e=>({...e,...r}))),"kml"!=e.poi.type&&("leaflet"==mappl10n.options.engine?s.options.draggable=e.isEditable:s.setDraggable(e.isEditable),p()&&s.setEditable(e.isEditable)),e.isClusterable?"google"==mappl10n.options.engine&&m(s,e.map):m(s,e.map),e.onOverlayAdd&&e.onOverlayAdd(s,e.isClusterable),t.current=s,()=>{m(t.current,null)}}),[]),l((()=>{if(n.overlay){const t=_.pick(e.poi.poly,"strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity");n.overlay.setOptions({...t})}}),[e.poi.poly]),l((()=>{n.overlay&&n.overlay.setIcon(o.mappLib.getIcon(e.poi.iconid))}),[e.poi.iconid]),l((()=>{n.overlay&&function(t){if(e.poi.type)return;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(t))),o.mappEvent.addListener(n.overlay,"mouseout",(t=>e.onMouseOut(t))),"kml"==e.poi.type&&("leaflet"==mappl10n.options.engine?(o.mappEvent.addListenerOnce(n.overlay,"ready",(()=>{u()})),o.mappEvent.addListenerOnce(n.overlay,"error",(t=>{alert(__("Error reading KML file.")+" "+__("This may be a CORS error. See the MapPress FAQ for help.")+" : "+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)}u()})),o.mappEvent.addListener(n.overlay,"status_changed",(()=>{"OK"!=n.overlay.getStatus()&&alert(__("Error reading KML file.")+" : "+e.poi.kml.url)})))),e.isEditable&&(s(!0),o.mappEvent.addListener(n.overlay,"dragstart",(()=>(s(!1),void(e.onChange&&e.onChange({viewport:null}))))),o.mappEvent.addListener(n.overlay,"dragend",(()=>(u(),void s(!0))))),()=>{o.mappEvent.clearInstanceListeners(n.overlay)}})),e.isOpen||e.isHovered?e.onRenderPopup(e.poi,n.overlay):null}},892:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPopupModal:()=>u});var o=n(939);const a=wp.element.createElement,i=wp.element.createPortal,{Fragment:l,useEffect:s,useLayoutEffect:p,useRef:r,useState:c}=wp.element;function u(e){e={onClose:null,poi:null,...e};const[t,n]=c({isBusy:!1,html:null});function l(e){n((t=>({...t,...e})))}const p=React.createRef();function r(t){27==t.keyCode&&e.onClose()}return s((()=>(document.body.classList.add("mapp-modal-noscroll"),()=>document.body.classList.remove("mapp-modal-noscroll"))),[]),s((()=>{e.poi.oid&&(l({isBusy:!0}),o.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]),s((()=>{p.current&&p.current.focus(),console.log("focus"+document.activeElement)}),[p.current]),i(a("div",{className:"mapp-modal"},a("div",{className:"mapp-modal-backdrop",onClick:e.onClose,onKeyDown:r},a("div",{className:"mapp-modal-close",onClick:e.onClose},"×")),a("div",{className:"mapp-modal-content-wrapper",ref:p,onKeyDown:r,tabIndex:0},a("div",{className:"mapp-modal-content"},t.isBusy&&a("div",{className:"mapp-modal-spinner"}),!t.isBusy&&a("div",{className:"mapp-modal-template",dangerouslySetInnerHTML:{__html:t.html}}),a("div",{className:"mapp-modal-close",onClick:e.onClose},"X")))),document.body)}}},n={};function o(e){var a=n[e];if(void 0!==a)return a.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o(117),o(715),o(817),o(10),o(326),o(939),o(346),o(759),o(602),o(27),o(818),o(81),o(50),o(615),o(892),o(374)})();
1
+ (()=>{var t={117:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappAutocomplete:()=>m});var o=n(326);const a=wp.element.createElement,{Fragment:i,useCallback:l,useEffect:s,useLayoutEffect:p,useMemo:r,useRef:c,useState:u}=wp.element;function m(e){e={buttonLabel:null,className:"",delay:null,focus:!1,onFetch:null,onSelect:null,placeholder:"",selected:null,suggestions:[],title:"",...e};const t=c(null),n=c(null),[i,l]=u({isOpen:!1,value:""});function p(e){l((t=>({...t,...e})))}(0,o.useClickOutside)(t,(()=>{i.isOpen&&p({isOpen:!1})})),s((()=>{e.focus&&n.current&&n.current.focus()}),[]),s((()=>{i.map&&setMapTypeId(e.mapTypeId)}),[e.mapTypeId,i.map]);const r=(0,o.useDebounce)((t=>{e.onFetch&&e.onFetch(t)}),e.delay);function m(){let t;p({isOpen:!1}),e.suggestions&&(t=null==i.selected?e.suggestions[0]:e.suggestions[i.selected]),e.onSelect({suggestion:t,value:g})}const g=i.selected>=0&&e.suggestions&&e.suggestions[i.selected]?e.suggestions[i.selected].value:i.value;return a("div",{className:"mapp-autocomplete",ref:t},a("div",{className:"mapp-autocomplete-wrapper"},a("input",{className:e.className,onChange:e=>{!function(e){p({value:e,selected:null}),r(e)}(e.target.value)},onKeyDownCapture:t=>function(t){switch(t.stopPropagation(),t.code){case"Backspace":p({isOpen:i.value.length>1});break;case"Enter":m();break;case"Escape":p({isOpen:!1});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]&&p({isOpen:!0,selected:t})}else p({selected:null});break;case"ArrowDown":if(e.suggestions&&i.selected<e.suggestions.length-1){const t=null==i.selected?0:i.selected+1;e.suggestions[t]&&p({isOpen:!0,selected:t})}else p({selected:null});break;case"Tab":case"AltLeft":case"AltRight":case"ControlLeft":case"ControlRight":case"MetaLeft":case"MetaRight":break;default:p({isOpen:!0})}}(t),placeholder:e.placeholder,ref:n,title:e.title,type:"text",value:g}),i.isOpen&&function(){if(e.suggestions&&e.suggestions.length)return a("div",{className:"mapp-autocomplete-list"},_.map(e.suggestions,((t,n)=>{const o="mapp-autocomplete-item"+(i.selected==n?" mapp-selected":"");return a("div",{className:o,key:n,onClick:()=>function(t,n){p({isOpen:!1,selected:n}),e.onSelect({suggestion:t})}(t,n)},t.value)})))}()),e.buttonLabel&&a("div",{className:"mapp-submit-button",onClick:()=>m()},e.buttonLabel))}},715:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappDirections:()=>r});const o=wp.element.createElement,{Fragment:a,useEffect:i,useLayoutEffect:l,useRef:s,useState:p}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function r(e){e={from:null,onClose:null,to:null,...e};const[t,n]=p({from:e.from?e.from:"",to:e.to?e.to:""});function a(e){n((t=>({...t,...e})))}function l(){e.onClose&&e.onClose()}function s(){const e=t.from.trim(),n=t.to.trim();let o=mappl10n.options.directionsServer;o="https://maps.google.com"==o?"https://www.google.com":o,-1==o.toLowerCase().indexOf("http")&&(o="https://"+o),o+="/maps/dir/?api=1&origin="+encodeURIComponent(e)+"&destination="+encodeURIComponent(n),window.open(o),l()}function r(e){13==e?s():27==e&&l()}return i((()=>{"google"==mappl10n.options.directions&&s()}),[]),"google"==mappl10n.options.directions?null:o("div",{className:"mapp-directions"},o("div",{className:"mapp-close",onClick:()=>l()}),o("div",null,o("input",{className:"mapp-dir-from",onChange:e=>a({from:e.target.value}),onKeyPress:e=>r(e.which),tabIndex:"1",placeholder:__("My location"),value:t.from}),o("div",{className:"mapp-dir-arrows",onClick:()=>{a({from:t.to,to:t.from})}})),o("div",null,o("input",{className:"mapp-dir-to",onChange:e=>a({to:e.target.value}),onKeyPress:e=>r(e.which),tabIndex:"2",value:t.to})),o("div",{className:"mapp-dir-toolbar"},o("div",{className:"mapp-submit-button",onClick:()=>s()},__("Get Directions"))))}},817:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappFilters:()=>u});var o=n(939),a=n(326);const i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:p,useRef:r,useState:c}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),sprintf=wp.i18n.sprintf,u=e=>{e={onChange:null,otype:"post",poiCount:0,...e};const t=(0,a.useDebounce)(e.onChange,500),[n,p]=c({filters:[],isBusy:!0,open:null,selected:{}});function u(e){p((t=>({...t,...e})))}const m=r({});function g(e,o){let a=n.selected[e.key]?n.selected[e.key].values:null;if("checkbox"==e.format){var i;const e=null===(i=a)||void 0===i?void 0:i.indexOf(o);e>-1?a.splice(e,1):(a=a||[],a.push(o))}else a=o?[o]:[];a.length?n.selected[e.key]={key:e.key,values:a,meta_key:e.meta_key,meta_values:e.meta_values}:delete n.selected[e.key],u({selected:n.selected}),t(n.selected)}function d(e){u({open:n.open==e?null:e})}function f(e){e.key;const t=[...e.values],a=n.selected[e.key]?n.selected[e.key].values:"";switch(e.format){case"input":return i("input",{type:"text",value:a?a[0]:"",onChange:t=>g(e,t.target.value)});case"checkbox":return _.map(t,(t=>i("label",{key:t.value},i("input",{checked:null==a?void 0:a.includes(t.value),key:t.value,onChange:t=>g(e,t.target.value),type:e.format,value:t.value}),t.iconid&&i("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(t.iconid)}),i("span",{dangerouslySetInnerHTML:{__html:t.label}}))));case"radio":return"radio"==e.format&&t.unshift({value:"",label:__("All")}),_.map(t,(t=>i("label",{key:t.value},i("input",{checked:a==t.value||""==t.value&&!a,key:t.value,onChange:t=>g(e,t.target.value),type:e.format,value:t.value}),t.iconid&&i("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(t.iconid)}),i("span",{dangerouslySetInnerHTML:{__html:t.label}}))));case"select":t.unshift({value:"",label:""});const n=_.map(t,(e=>'<option value="'+e.value+'">'+e.label+"</option>"));return i("select",{value:a[0],dangerouslySetInnerHTML:{__html:n},onChange:t=>g(e,t.target.value)})}}function v(o){return i("div",{className:"mapp-filter-dropdown"},function(e){return i("div",{className:"mapp-filter-values"},"all"==e?n.filters.map((e=>i(l,{key:e.key},i("div",{className:"mapp-filter-label"},e.label),f(e)))):f(e))}(o),"all"==o&&function(n){const o="all"==n?"all":n.key;let a=e.poiCount>1?__("%d Results"):__("%d Result");return a=sprintf(a,e.poiCount),i("div",{className:"mapp-filter-toolbar"},i("div",{className:"mapp-link-button",onClick:()=>(u({selected:{}}),void t())},__("Reset")),i("div",{className:"mapp-filter-count"},a),i("div",{className:"mapp-submit-button",onClick:()=>d(o)},__("Done")))}(o))}function h(e){const t="all"==e?"all":e.key,o="all"==e?__("Filter"):e.label,a="mapp-filter mapp-filter-"+t+(n.open==t?" mapp-filter-open":"");return i("div",{key:t,className:a,ref:e=>m.current[t]=e},i("div",{className:"mapp-button mapp-button-caret mapp-filter-button"+(n.isBusy?" mapp-button-disabled":""),onClick:()=>d(t)},o),v(e))}return(0,a.useClickOutside)({current:n.open&&m.current[n.open]?m.current[n.open]:null},(()=>{u({open:null})})),s((()=>{u({isBusy:!0}),o.mappLib.ajax({method:"GET",data:{action:"mapp_filters_get",nonce:mappl10n.options.nonce,otype:e.otype},callback:e=>{e&&"OK"==e.status?u({filters:e.data}):console.error("MapPress: unable to fetch filter data"),u({isBusy:!1})}})}),[]),i("div",{className:"mapp-filters"},h("all"),_.map(n.filters,(e=>e.isStandalone?h(e):null)))}},10:(e,t,n)=>{"use strict";n.r(t),n.d(t,{useGeocoding:()=>u});const o=n(939).mappLib.toJSON,{Fragment:a,useCallback:i,useEffect:l,useLayoutEffect:s,useRef:p,useState:r}=(wp.element.createElement,wp.element),__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),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(e){let{suggestion:t,callback:n}=e;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken,this.token=null;var a={fields:["formatted_address","name","geometry"],placeId:t.place_id,sessionToken:this.token};this.placesService.getDetails(a,(function(e,t){if("OK"==t&&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}}}n(e)}else n(null)}))},getFirstPrediction:function(e){let{map:t,value:n,callback:o}=e;this.getPredictions({map:t,value:n,callback:e=>{e&&Array.isArray(e)?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:n,includeBusinesses:o,callback:a}=e;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;var i=t?t.getBounds():null;"leaflet"==mappl10n.options.engine&&(i=new google.maps.LatLngBounds(new google.maps.LatLng(i.getSouthWest().lat,i.getSouthWest().lng),new google.maps.LatLng(i.getNorthEast().lat,i.getNorthEast().lng)));var l={input:n,bounds:i=i||new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180)),sessionToken:this.token,types:o?null:["geocode"]};this.autocompleteService.getPlacePredictions(l,(function(e,t){"OK"==t&&e&&e.length?(e=(e=e.map((e=>(e.value=e.description,e)))).filter((e=>e.place_id)),a(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"),a(null))}))}},c.mapbox=function(){},c.mapbox.prototype={getDetails:function(e){let{suggestion:t,callback:n}=e,o=t.place_name,a=o.indexOf(","),i=o.indexOf(",",a+1);a>0&&(o=parseInt(o.substr(0,a))?o.substr(0,i).replace(",",""):o.substr(0,a));let l=t.bbox&&4==t.bbox.length?{sw:{lat:t.bbox[1],lng:t.bbox[0]},ne:{lat:t.bbox[3],lng:t.bbox[2]}}:null;n({formatted_address:t.place_name,name:o,geometry:{location:{lat:t.center[1],lng:t.center[0]},viewport:l}})},getFirstPrediction:function(e){let{map:t,value:n,callback:o}=e;this.getPredictions({map:t,value:n,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:n,callback:o}=e;var a="https://api.mapbox.com/geocoding/v5/mapbox.places/"+n+".json?access_token="+mappl10n.options.mapbox;a=mappl10n.options.country?a+"&country="+mappl10n.options.country.toLowerCase():a,a=mappl10n.options.language?a+"&language="+mappl10n.options.language.toLowerCase():a;var i=t?t.getCenter():null;i&&(a+="&proximity="+i.lng+","+i.lat),mappl10n.options.searchBox&&(a+="&bbox="+mappl10n.options.searchBox),fetch(a).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))),o(e.features)):o(null)}))}},c.nominatim=function(){},c.nominatim.prototype={getDetails:function(e){let{suggestion:t,callback:n}=e,o=t.display_name,a=o.indexOf(","),i=o.indexOf(",",a+1);a>0&&(o=parseInt(o.substr(0,a))?o.substr(0,i).replace(",",""):o.substr(0,a));let l=t.boundingbox&&4==t.boundingbox.length?{sw:{lat:t.boundingbox[0],lng:t.boundingbox[2]},ne:{lat:t.boundingbox[1],lng:t.boundingbox[3]}}:null;n({formatted_address:t.display_name,name:o,geometry:{location:{lat:t.lat,lng:t.lon},viewport:l}})},getFirstPrediction:function(e){let{map:t,value:n,callback:o}=e;this.getPredictions({map:t,value:n,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:n,callback:o}=e;var a="https://nominatim.openstreetmap.org/search?format=json&dedupe=1&limit=5&q="+encodeURIComponent(n);if(a=mappl10n.options.country?a+"&countrycodes="+mappl10n.options.country.toLowerCase():a,a=mappl10n.options.language?a+"&accept-language="+mappl10n.options.language.toLowerCase():a,mappl10n.options.searchBox)a+="&viewbox="+mappl10n.options.searchBox,a+="&bounded=1";else{var i=t?t.getBounds():null;if(i){let e=i.getSouthWest(),t=i.getNorthEast();a+="&viewbox="+e.lng+","+e.lat+","+t.lng+","+t.lat}}fetch(a).then((e=>e.json())).then((e=>{e&&e.length?(e=e.map((e=>(e.value=e.display_name,e))),o(e)):o(null)}))}};const u=e=>{let{includeBusinesses:t}=e;function n(){let e="";return e="leaflet"!=mappl10n.options.engine?"google":mappl10n.options.geocoder?mappl10n.options.geocoder:"nominatim",new c[e]}return{geocode:function(e){let{map:o,suggestion:a,value:i,callback:l}=e;const s=n();i="string"==typeof i?i.trim():i,a||i?function(e){let{map:t,value:n,callback:o}=e;if(!n)return void o(null);if("string"!=typeof n){return void o(n.lat&&n.lng?{geometry:{location:{lat:n.lat,lng:n.lng}}}:null)}if("http"==n.substring(0,4))return void o(n);const a=n.split(",");if(2==a.length){const e=parseFloat(a[0]),t=parseFloat(a[1]);if(!isNaN(e)&&!isNaN(t))return void o({name:e+", "+t,geometry:{location:{lat:e,lng:t}}})}o(null)}({map:o,value:i,callback:e=>{e?l(e):a?s.getDetails({suggestion:a,callback:l}):s.getFirstPrediction({map:o,value:i,includeBusinesses:t,callback:l})}}):l(null)},geolocate:function(e,t){navigator&&navigator.geolocation||(alert(__("Unable to get your location")),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")+" "+o)}e(null)}),{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4})},getPredictions:function(e){let{map:t,value:o,callback:a}=e;n().getPredictions({map:t,value:o,callback:a})}}}},326:(e,t,n)=>{"use strict";n.r(t),n.d(t,{useClickOutside:()=>c,useDebounce:()=>u,useResizeObserver:()=>m,useIntersectionObserver:()=>g,useTimeout:()=>d});wp.element.createElement;const{Fragment:o,useCallback:a,useEffect:i,useLayoutEffect:l,useMemo:s,useRef:p,useState:r}=wp.element;function c(e,t){i((()=>{const n=n=>{e.current&&!e.current.contains(n.target)&&t()};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n),()=>{document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n)}}))}function u(e,t,n){const o=p(!1);i((()=>(o.current=!0,()=>o.current=!1)),[]);const l=_.debounce((function(){o.current&&e(...arguments)}),t);return a(l,n=n||[])}function m(e,t){const n=p();n.current=t,i((()=>{if(!e)return;const t=new ResizeObserver(((e,t)=>{n.current()}));return t.observe(e),()=>{t.disconnect()}}),[e])}function g(e){let{container:t,element:n,options:o,callback:a}=e;const l=p(null),s=p(null);s.current=a,i((()=>(!l.current&&n&&t&&(l.current=new IntersectionObserver((e=>{e[0].isIntersecting&&s.current()}),{...o,root:t}),l.current.observe(n)),()=>{l.current&&(l.current.disconnect(),l.current=null)})),[t,n])}function d(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}},939:(e,t,n)=>{"use strict";n.r(t),n.d(t,{mappLib:()=>o,mappEvent:()=>a,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},getIcon:function(e){{const t=this.getIconUrl(e);return"leaflet"==mappl10n.options.engine?L.icon({iconUrl:t,iconAnchor:[16,32],iconSize:[32,32],popupAnchor:[0,-32]}):{url:t}}},getIconUrl:function(e){return"https://maps.google.com/intl/en_us/mapfiles/ms/micons/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<l;i++)o(e+"["+("object"==typeof a[i]&&a[i]?i:"")+"]",a[i]);else if("[object Object]"===Object.prototype.toString.call(a))for(s in a)o(e+"["+s+"]",a[s]);else n(e,a);else if(Array.isArray(a))for(i=0,l=a.length;i<l;i++)n(a[i].name,a[i].value);else for(s in a)o(s,a[s]);return t};return o("",e).join("&")},nanoid:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21;const t="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let n="",o=e;for(;o--;)n+=t[64*Math.random()|0];return n},pointToLatLng:function(e){return e?"leaflet"==mappl10n.options.engine?L.latLng(e):new google.maps.LatLng(e.lat,e.lng):null},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]=_.template(n,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g})}return o.templates[e](t)},toJSON:e=>e.toJSON?e.toJSON():e&&e.hasOwnProperty("lat")&&e.hasOwnProperty("lng")?e:"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<t.length;a++)"leaflet"==mappl10n.options.engine?(e.on(t[a],n),o.push({target:e,event:t[a],callback:n})):o.push(google.maps.event.addListener(e,t[a],n));return o},addListenerOnce:function(e,t,n){t=t.split(" ");for(var o=0;o<t.length;o++)"leaflet"==mappl10n.options.engine?e.once(t[o],n):google.maps.event.addListenerOnce(e,t[o],n)},clearInstanceListeners:function(e){"leaflet"==mappl10n.options.engine?e.off():google.maps.event.clearInstanceListeners(e)},clearListeners:function(e,t){t=t.split(" ");for(var n=0;n<t.length;n++)"leaflet"==mappl10n.options.engine?e.off(t[n]):google.maps.event.clearListeners(e,t[n])},removeListener:function(e){for(let t=0;t<e.length;t++)"leaflet"==mappl10n.options.engine?e[t].target.off(e[t].event,e[t].callback):google.maps.event.removeListener(e[t])},trigger:function(e,t,n){"leaflet"==mappl10n.options.engine?e.fire(t,n):google.maps.event.trigger(e,t,n)}},i={parseOverlay:function(e,t){if("google"==mappl10n.options.engine){if("kml"==e){const e=t.getDefaultViewport();return{point:e?o.toJSON(e.getCenter()):null,viewport:e?o.boundsToViewport(e):null}}const n=t instanceof google.maps.Polyline?{strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,stokeWeight:t.strokeWeight}:{fillColor:t.fillColor,fillOpacity:t.fillOpacity,strokeColor:t.strokeColor,strokeOpacity:1,stokeWeight:t.strokeWeight};if("circle"==e)return{point:o.toJSON(t.getCenter()),poly:{radius:t.getRadius(),...n}};if("rectangle"==e)return{viewport:o.boundsToViewport(t.getBounds()),poly:{...n}};if("polyline"==e){const e=[];return t.getPath().forEach((function(t){e.push(o.toJSON(t))})),{poly:{path:e,...n}}}if("polygon"==e){const e={fillColor:t.fillColor,fillOpacity:t.fillOpacity,strokeColor:t.strokeColor,strokeOpacity:1,stokeWeight:t.strokeWeight},n=[];return t.getPaths().forEach((function(e){var t=[];e.forEach((function(e){t.push(o.toJSON(e))})),n.push(t)})),{poly:{paths:n,...e}}}if(!e)return{point:o.toJSON(t.getPosition())}}else{if("kml"==e){const e=t.getBounds();return{point:e&&e.isValid()?o.toJSON(e.getCenter()):null,viewport:e&&e.isValid()?o.boundsToViewport(e):null}}if(!e)return{point:"leaflet"==mappl10n.options.engine?o.toJSON(t.getLatLng()):o.toJSON(t.getPosition())}}}}},374:(e,t,n)=>{"use strict";n.r(t);var o=n(939),a=n(346);window.mapp=window.mapp||{};const i=wp.element.createElement;mapp.load=function(){const e=e=>{let{data:t,container:n}=e;t.pois&&t.pois.map((e=>{e.id=o.mappLib.nanoid()})),n?ReactDOM.render(i(a.MappMap,{...t,container:n}),n):console.log("Missing container for map "+t.name)};if(mapp.data)for(;mapp.data.length;){const t=mapp.data.pop();e({data:t,container:document.getElementById(t.name)})}},mapp.load()},346:(t,n,o)=>{"use strict";o.r(n),o.d(n,{MappMap:()=>D});var a=o(939),i=o(715),l=(o(817),o(602)),s=o(818),p=o(81),r=o(50),c=o(615);const u=wp.element.createElement,{Fragment:m,useEffect:g,useLayoutEffect:d,useMemo:f,useRef:v,useState:h}=wp.element;function y(e){e={anchor:null,className:null,content:null,map:null,onMouseEnter:null,onMouseLeave:null,point:null,...e};const t=v(null),[n,o]=h({isLoaded:null,mapDiv:"leaflet"==mappl10n.options.engine?e.map.getContainer():e.map.getDiv(),overlayView:null});function i(e){o((t=>({...t,...e})))}function l(){const o=t.current;if(!o)return;if(document.fullscreenElement||e.map.isFullscreen)return;let i;const{width:l,height:s}=o.getBoundingClientRect(),p=a.mappLib.pointToLatLng(e.point);if("leaflet"==mappl10n.options.engine)i=e.map.latLngToContainerPoint(p);else{const e=n.overlayView.getProjection();if(!e)return;i=e.fromLatLngToContainerPixel(p)}o.style.bottom=n.mapDiv.clientHeight-i.y-e.anchor.y+"px",o.style.left=i.x-l/2+e.anchor.x+"px"}return d((()=>{"google"==mappl10n.options.engine?n.overlayView||(n.overlayView=new google.maps.OverlayView,n.overlayView.onAdd=function(){i({isLoaded:!0})},n.overlayView.setMap(e.map)):(e.map.stop(),i({isLoaded:!0}))}),[]),d((()=>{if(!n.isLoaded)return;let t;return"google"==mappl10n.options.engine?n.overlayView.draw=()=>l():t=a.mappEvent.addListener(e.map,"move",(e=>l())),()=>{"google"==mappl10n.options.engine?n.overlayView.draw=null:a.mappEvent.removeListener(t)}})),d((()=>{n.isLoaded&&(l(),function(){const o=t.current;if(!o)return;const i=30,l=o.offsetWidth,s=o.offsetHeight,p=n.mapDiv.clientWidth,r=n.mapDiv.clientHeight,c=a.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+l/2+e.anchor.x>p-i?m.x=Math.max(p-l/2-e.anchor.x-i,p/2-e.anchor.x):u.x-l/2+e.anchor.x<i&&(m.x=Math.min(l/2+e.anchor.x+i,p/2-e.anchor.x));u.y+e.anchor.y-s<i&&(m.y=s-e.anchor.y+i);m.y>=r&&(m.y=r-i);const g={x:u.x-m.x,y:u.y-m.y};(g.x<=-1||g.x>=1||g.y<=-1||g.y>=1)&&("leaflet"==mappl10n.options.engine?e.map.panBy([g.x,g.y]):e.map.panBy(g.x,g.y))}())}),[n.isLoaded]),n.isLoaded?u("div",{className:"mapp-ib-wrapper",ref:t,onMouseEnter:()=>{e.onMouseEnter&&e.onMouseEnter()},onMouseLeave:()=>{e.onMouseLeave&&e.onMouseLeave()}},u("div",{className:"mapp-ib-content"},u("div",{className:"mapp-ib"},u("div",{className:"mapp-iw "+(e.className?e.className:"")},e.content)),u("div",{className:"mapp-ib-tip"}))):null}var b=o(892),w=o(10),k=o(326);const E=a.mappLib.toJSON,{Fragment:C,useCallback:O,useEffect:x,useLayoutEffect:M,useRef:N,useState:P}=wp.element,S=wp.element.createElement,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function D(t){t={alignment:null,center:null,centerPoi:null,classname:null,container:null,geolocate: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,query:null,search:null,width:null,zoom:null,...t};const[n,o]=P({clusterer:null,clustererDefaultRenderer:"undefined"!=typeof markerClusterer?new markerClusterer.DefaultRenderer:null,directionsTo:null,drawingManager:null,filters:null,hovered:null,hoveredDelay:null,hoveredPopup:null,init:null,isDirectionsOpen:null,isFetching:null,isGeolocating:null,isHidden:!1,isIframe:t.container&&t.container.classList.contains("mapp-content"),isLoaded:null,isMounted:null,isMini:null,isSidebarOpen:null!=t.poiListOpen?t.poiListOpen:mappl10n.options.poiListOpen,kmlEvent:null,layers:{},layout:t.layout?t.layout:mappl10n.options.layout,map:null,opened:null,oid:t.oid?t.oid:mappl10n.options.oid,otype:t.otype?t.otype:mappl10n.options.otype,overlays:[],page:1,pageCount:0,parsedCenter:null,poiList:void 0!==t.poiList&&null!=t.poiList?t.poiList:mappl10n.options.poiList,pois:[],polyline:null,templates:t.query?"user"==t.otype?{item:"user-mashup-item",popup:"user-mashup-popup"}:{item:"mashup-item",popup:"mashup-popup"}:{item:"map-item",popup:"map-popup"},userLocation:null}),u=N(t.container),m=N(null),g=N(null),{geocode:d,geolocate:f}=(N(),(0,w.useGeocoding)({withBusinesses:t.isEditable}));function v(e){o((t=>({...t,...e})))}(0,k.useResizeObserver)(m.current,W),(0,k.useResizeObserver)(u.current,(function(){if(n.poiList&&"inline"!=n.layout&&u.current){const e=u.current.clientWidth<mappl10n.options.mini;!n.isMini&&e&&v({isSidebarOpen:!1}),e!=n.isMini&&(v({isMini:e}),u.current&&u.current.classList.toggle("mapp-mini",e))}})),x((()=>{switch(n.init){case null:!function(){const e=[__("MapPress FAQ")+": http://mappresspro.com/mappress-faq",__("Support")+": http://mappresspro.com/chris-contact",__("Get an API Key")+": 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"),text:__("A theme or plugin is preventing the Leaflet library from loading.")},{condition:"google"==mappl10n.options.engine&&"undefined"==typeof google,title:__("Google Maps API not loaded"),text:__("A theme or plugin is preventing Google Maps from loading.")},{condition:"google"==mappl10n.options.engine&&!mappl10n.options.apikey,title:__("Google Maps API key required")},{condition:document.querySelectorAll('script[src*="https://maps.googleapis.com/maps/api/js?v="]').length>1,title:__("Google Maps API loaded multiple times"),text:__("A theme or plugin has loaded Google Maps twice")},{condition:"undefined"==typeof _,title:__("Underscore library not loaded"),text:__("A theme or plugin is preventing the underscore.js library from loading.")}];t=t.filter((e=>e.condition));let n=t.map((e=>e.title+" : "+e.text));n.length&&(console.log(__("Map Error")+"\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.")))}();let e,o={...t.mapOpts};if(o.minZoom=isNaN(parseInt(o.minZoom))?0:parseInt(o.minZoom),"leaflet"==mappl10n.options.engine?(e=new L.Map(m.current,{attribution:'Map data <a href="https://openstreetmap.org">OpenStreetMap</a>',minZoom:0,scrollWheelZoom:mappl10n.options.scrollWheel,worldCopyJump:!0,zoomControl:null,...o}),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(e)):e=new google.maps.Map(m.current,{backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,mapTypeControl:!1,minZoom:0,scaleControl:!0,scrollWheelZoom:mappl10n.options.scrollWheel,streetViewControl:!t.query,streetViewControlOptions:{position:google.maps.ControlPosition.LEFT_BOTTOM},...o}),v({map:e}),mappl10n.options.userLocation&&mappl10n.options.ssl&&f((e=>{e&&e.geometry&&e.geometry.location&&v({userLocation:e.geometry.location})}),!0),mappl10n.options.geolocate||t.geolocate||"user"==t.center)return void f((e=>{e&&e.geometry&&e.geometry.location&&v({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),v({init:1})}));d({value:t.center,callback:e=>{e&&e.geometry&&e.geometry.location&&v({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),v({init:1})}});break;case 1:ee(t.mapTypeId),function(){if(t.isEditable&&"google"==mappl10n.options.engine&&google.maps.drawing){const e={fillColor:"#0000FF",fillOpacity:.4,strokeColor:"#0000FF",strokeOpacity:1,strokeWeight:2};n.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}),n.drawingManager.setMap(n.map)}}(),function(){n.polyline&&("leaflet"==mappl10n.options.engine?n.polyline.remove():n.polyline.setMap(null),v({polyline:null}));if(t.isEditable||!t.lines&&!mappl10n.options.lines||n.pois.length<2)return;const e={...mappl10n.options.lineOpts},o=[];if(_.map(n.pois,(e=>{o.push(B(e))})),"leaflet"==mappl10n.options.engine)v({polyline:new L.Polyline(o,e).addTo(n.map)});else{const t={strokeColor:e.color,strokeWeight:e.weight,strokeOpacity:e.opacity};e.icons&&(_.map(e.icons,(e=>{e.icon.path=parseInt(e.icon.path)})),e.icons[0].repeat="50px"),v({polyline:new google.maps.Polyline({map:n.map,path:o,...e,...t})}),e.animate&&e.icons&&e.icons.length&&function(){let e=0;const t=n.polyline.get("icons");t[0].repeat.replace("%","").replace("px","");window.setInterval((()=>{e+=1;t[0].offset=e+(t[0].repeat.indexOf("%")>=0?"%":"px"),n.polyline.set("icons",t)}),20)}()}}(),t.query&&!n.isIframe?h((()=>v({init:2}))):(v({pois:t.pois?t.pois:[]}),v({init:2}));break;case 2:const i="leaflet"==mappl10n.options.engine?"load":"tilesloaded";a.mappEvent.addListenerOnce(n.map,i,(()=>{v({bounds:D()}),function(){if(mappl10n.options.clustering&&!t.isEditable){let e,t=mappl10n.options.clusteringOptions?mappl10n.options.clusteringOptions:{};if(void 0!==t.disableClusteringAtZoom&&""==t.disableClusteringAtZoom&&(t.disableClusteringAtZoom=null),"leaflet"==mappl10n.options.engine)e=L.markerClusterGroup(t),n.map.addLayer(e);else{t.maxZoom=void 0!==t.maxZoom&&t.maxZoom?parseInt(t.maxZoom):void 0;const o=new markerClusterer.SuperClusterAlgorithm(t);e=new markerClusterer.MarkerClusterer({map:n.map,markers:[],algorithm:o,renderer:{render:(e,t)=>{let{count:o,position:a}=e;const i=n.clustererDefaultRenderer.render({count:o,position:a},t);return i.title=null,i}}})}v({clusterer:e})}}(),(t.initialOpenInfo||mappl10n.options.initialOpenInfo)&&!t.isEditable&&n.pois&&n.pois.length&&G(n.pois[0]),v({isLoaded:!0})})),J()}}),[n.init]);(0,k.useTimeout)((()=>{v({hoveredDelay:0}),n.hoveredPopup||v({hovered:null})}),n.hoveredDelay);function h(e){}function O(e){return n.pois.find((t=>t.id==e))}function M(e){return n.map.fitBounds(e)}function D(){try{return n.map.getBounds()}catch(e){return null}}function I(){let e;try{e=n.map.getCenter()}catch(t){e=null}return e?E(e):null}function T(){if(t.embed)return{width:"100%",height:"100%"};const e=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:t.width?n(t.width):n(e.width),height:t.height?n(t.height):n(e.height)}}function R(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=a.mappLib.viewportToBounds(e.viewport)}return t}function B(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=R(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 A(){let e;try{e=n.map.getZoom()}catch(t){e=null}return e?parseInt(e):null}function z(){return!!(t.isEditable||t.search||mappl10n.options.search&&t.query)}x((()=>{n.isLoaded&&!t.query&&v({pois:t.pois?t.pois:[]})}),[t.pois]),x((()=>{n.clusterer&&("leaflet"==mappl10n.options.engine?(n.clusterer.clearLayers(),n.clusterer.addLayers(n.overlays)):(n.clusterer.clearMarkers(),n.clusterer.addMarkers(n.overlays)))}),[n.clusterer,n.overlays]),x((()=>{n.isLoaded&&t.query&&h()}),[t.query,n.filters]),x((()=>{n.isLoaded&&null==t.center&&J(null)}),[t.center]),x((()=>{n.isLoaded&&ee(t.mapTypeId)}),[t.mapTypeId]),x((()=>{n.isLoaded&&function(e){let t=mappl10n.options.poiZoom;if(e.viewport){var n=e.viewport.ne.lng-e.viewport.sw.lng;n<0&&(n+=360),t=Math.floor(Math.log(360*m.current.clientWidth/n/256)/Math.LN2)}te(B(e),t)}(t.centerPoi)}),[t.centerPoi]),x((()=>{if(!n.isLoaded)return;let e,o,i;return e=a.mappEvent.addListener(n.map,"moveend idle",(e=>F())),o=a.mappEvent.addListener(n.map,"click dragstart zoom_changed zoomstart",(e=>{"leaflet"==mappl10n.options.engine&&"click"==e.type&&e.originalEvent&&!e.originalEvent.target.matches(".mapp-canvas")||j()})),n.drawingManager&&(i=a.mappEvent.addListener(n.drawingManager,"overlaycomplete",(e=>{n.drawingManager.setDrawingMode(null),H(null),t.onDrawingEvent&&t.onDrawingEvent(e)}))),t.name&&(window[t.name]={getPois:()=>n.pois,poiOpen:e=>v({opened:"string"==typeof e?e:e.id})}),()=>{a.mappEvent.removeListener(e),a.mappEvent.removeListener(o),i&&a.mappEvent.removeListener(i)}}));const F=(0,k.useDebounce)((()=>{v({bounds:D(),page:1}),t.onViewportChange&&t.onViewportChange({center:I(),zoom:A()})}),500,[t.onViewportChange,n.map]);function V(e,n){if("poi"!=mappl10n.options.mashupClick&&t.query&&"post"==e.otype&&e.oid&&e.url)switch(mappl10n.options.mashupClick){case"post":return void window.location.assign(e.url);case"postnew":return void window.open(e.url);case"postmodal":const t=document.createElement("div");return document.body.appendChild(t),ReactDOM.render(S(b.MappPopupModal,{onClose:()=>{wp.element.unmountComponentAtNode(t),t.remove()},poi:e}),t)}else G(e,n)}function j(){v({hovered:null,opened:null,isDirectionsOpen:!1})}function H(e,t){e&&e.id==n.opened||n.opened||v(e?{hovered:e.id,hoveredDelay:0}:t?{hoveredDelay:300}:{hovered:null,hoveredDelay:0})}function G(e,t){j(),n.isMini&&Z(!1),v({kmlEvent:t,opened:e.id})}function U(e){e?v({hoveredPopup:e.id,hoveredDelay:0}):(v({hoveredPopup:null}),n.hovered&&!n.opened&&v({hoveredDelay:300}))}function W(){"leaflet"==mappl10n.options.engine?n.map.invalidateSize():a.mappEvent.trigger(n.map,"resize"),u.current&&0==u.current.offsetHeight?v({isHidden:!0}):n.isHidden&&(v({isHidden:!1}),J())}function Z(e){v({isSidebarOpen:e=void 0!==e?e:!n.isSidebarOpen,isDirectionsOpen:!1}),setTimeout((()=>W()),100)}function J(e){e=null==e?n.parsedCenter:e;const o=t.zoom&&parseInt(t.zoom)?parseInt(t.zoom):null;if(e)return void te(e,o||1);if(0==n.pois.length)return void te({lat:0,lng:0},o||1);if(1==n.pois.length)return void te(B(n.pois[0]),o||mappl10n.options.poiZoom);let a="leaflet"==mappl10n.options.engine?new L.LatLngBounds:new google.maps.LatLngBounds;for(var i=0;i<n.pois.length;i++){var l=R(n.pois[i]);a=l?"leaflet"==mappl10n.options.engine?a.extend(l):a.union(l):a.extend(B(n.pois[i]))}o?te(E(a.getCenter()),o):M(a)}function K(){return mappl10n.options.ssl?S("div",{className:"mapp-"+mappl10n.options.engine+"-geolocate-wrapper"},S("div",{className:"mapp-geolocate-control",onClick:()=>(v({isGeolocating:!0}),void f((e=>{v({isGeolocating:!1}),e&&e.geometry&&e.geometry.location&&te(e.geometry.location,mappl10n.options.poiZoom)}),!1)),title:__("Your Location")})):null}function q(){if(z())return n.isLoaded?S("div",{className:"mapp-header"},z()&&n.map?S("div",{className:"mapp-search-container"},S(s.MappPlaces,{buttonLabel:t.isEditable?__("Add to map"):S("img",{src:mappl10n.options.baseurl+"/images/search.png"}),focus:t.isEditable,includeBusinesses:t.isEditable,map:n.map,onSearch:e=>{t.onSearch?t.onSearch(e):function(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&&M(o),te(t)}(e)}})):null,"top"==mappl10n.options.filtersPos&&null):S("div",{className:"mapp-header"})}function Y(){return S(C,null,n.isFetching||n.isGeolocating?S(C,null,S("div",{className:"mapp-spinner-overlay"}),S("div",{className:"mapp-spinner"})):null,q(),S("div",{className:"mapp-main"},"inline"!=n.layout&&$(),S("div",{className:"mapp-canvas-panel"+("google"==mappl10n.options.engine?" mapp-google":" mapp-leaflet")},S("div",{className:"mapp-canvas",ref:m}),n.isLoaded&&n.userLocation?S(p.MappPoi,{isClusterable:!1,isEditable:!1,isOpen:!1,key:"user",map:n.map,poi:{point:n.userLocation,iconid:"geolocation"}}):null,function(){if(!n.isLoaded)return;const o=[],a=(e,t,a)=>{n.clusterer&&(t&&o.push(e),a==n.pois.length-1&&v({overlays:o}))};return n.pois.map(((o,i)=>{const l=o.id==n.hovered,s=o.id==n.opened||l&&mappl10n.options.tooltips&&!t.isEditable,c=mappl10n.options.tooltips&&!t.isEditable;return S(p.MappPoi,{key:o.id,isClusterable:!!n.clusterer&&!o.type,isEditable:!!t.isEditable,isHovered:l,isOpen:s,map:n.map,onChange:e=>{t.onPoiChange&&t.onPoiChange(o.id,e)},onClick:e=>V(o,e),onMouseOut:()=>{H(null,c)},onMouseOver:()=>H(o),onOverlayAdd:(e,t)=>a(e,t,i),onRenderPopup:(o,a)=>function(o,a){const i=function(e){if(!n.clusterer)return;if("leaflet"==mappl10n.options.engine){var t=n.clusterer.getVisibleParent(e);return t&&t!=e?t.getLatLng():null}const o=n.clusterer.clusters;for(var a=0;a<o.length;a++){const t=o[a].markers;if(t.length>1)for(let n=0;n<t.length;n++)if(t[n]==e)return o[a].center_}}(a),l=B(o),s=E(i||l);let p,c,u={x:0,y:0};i?u={x:0,y:-14}:o.type||(u=mappl10n.options.iconScale&&mappl10n.options.iconScale[0]&&mappl10n.options.iconScale[1]?{x:0,y:0-mappl10n.options.iconScale[1]}:{x:0,y:-32});n.kmlEvent&&(n.kmlEvent.pixelOffset&&(u={x:e.pixelOffset.width,y:e.pixelOffset.height}),n.kmlEvent.featureData?p=n.kmlEvent.featureData:n.kmlEvent&&n.kmlEvent.propagatedFrom&&n.kmlEvent.propagatedFrom.feature&&n.kmlEvent.propagatedFrom.feature.properties&&(p=n.kmlEvent.propagatedFrom.feature.properties));c=t.onRenderPopup?t.onRenderPopup(o,j):S(r.MappPoiContent,{context:"popup",feature:p,isEditable:t.isEditable,onDirectionsClick:()=>v({isDirectionsOpen:!0,directionsTo:o}),poi:o,template:n.templates.popup,thumbs:mappl10n.options.thumbsPopup});let m=!t.isEditable&&mappl10n.options.thumbsPopup?"mapp-thumb-"+mappl10n.options.thumbsPopup:"";return m+=o.images&&o.images.length?" mapp-has-thumb":"",S(y,{anchor:u,className:m,content:c,map:n.map,onMouseEnter:()=>U(o),onMouseLeave:()=>U(null),point:s})}(o,a),poi:o})}))}(),t.isEditable||"leaflet"==mappl10n.options.engine||!n.map?null:S(l.MappMenuControl,{map:n.map,onCenter:()=>{j(),J()}}),K())),n.poiList&&"inline"!=n.layout&&n.isMini?S("div",{className:"mapp-footer"},!n.isSidebarOpen&&S("div",{className:"mapp-button mapp-view-list",onClick:()=>Z(!0)},S("img",{src:mappl10n.options.baseurl+"/images/outline_format_list_bulleted_black_18dp.png"}),"List"),n.isSidebarOpen&&S("div",{className:"mapp-button mapp-view-map",onClick:()=>Z(!1)},S("img",{src:mappl10n.options.baseurl+"/images/outline_map_black_18dp.png"}),"Map")):null)}function Q(){const e={paddingBottom:T().height};return S(C,null,S("div",{className:"mapp-wrapper",style:e},S("div",{className:"mapp-content"},Y())),"inline"==n.layout&&$())}function X(){if(!n.poiList||!n.isLoaded)return null;let e=[];return e=z()&&n.bounds&&!t.isEditable?n.pois.filter(((e,t)=>n.bounds.contains(B(e)))):n.pois,n.pageCount!=e.length&&v({pageCount:e.length}),S(c.MappPoiList,{className:!t.isEditable&&mappl10n.options.thumbsList?" mapp-thumb-"+mappl10n.options.thumbsList:"",hovered:n.hovered,isEditable:t.isEditable,isPaged:!!t.query,onClick:e=>V(O(e)),onDirectionsClick:e=>v({isDirectionsOpen:!0,directionsTo:O(e)}),onDragDrop:e=>{let{from:n,to:o}=e;return function(e,n){t.onDragDrop&&t.onDragDrop(e,n)}(n,o)},onMouseEnter:e=>H(O(e)),onMouseLeave:e=>H(null),onPage:e=>{v({page:e})},opened:n.opened,page:n.page,pois:e,template:t.isEditable?null:n.templates.item})}function $(){let e="mapp-sidebar";return e+="inline"==n.layout?" mapp-sidebar-inline":"",e+=n.isSidebarOpen?" mapp-sidebar-open":"",n.isDirectionsOpen?S("div",{className:e,ref:g},function(){if(!n.isDirectionsOpen)return null;let e="";if(n.directionsTo)if(n.directionsTo.address)e=n.directionsTo.address;else{const t=E(B(n.directionsTo));e=t.lat+", "+t.lng}return S(i.MappDirections,{from:"",to:e,onClose:()=>{v({isDirectionsOpen:!1,directionsTo:null})}})}()):n.poiList?S("div",{className:e,ref:g},S("div",{className:"mapp-sidebar-toggle",onClick:()=>Z()}),"list"==mappl10n.options.filtersPos&&null,t.onRenderSidebar&&t.onRenderSidebar(),X()):void 0}function ee(e){const t=mappl10n.options.standardStyles.concat(mappl10n.options.userStyles),o=_.find(t,(t=>t.id==e));!mappl10n.options.style||"roadmap"!=e&&"streets"!=e&&o||(e=mappl10n.options.style);let a=_.find(t,(t=>t.id==e));if(a=a||t[0],"leaflet"==mappl10n.options.engine){let e={mapbox:{accessToken:mappl10n.options.mapbox,attribution:['<a href="https://www.mappresspro.com" target="_blank">MapPress</a>','<a href="https://www.mapbox.com/about/maps" target="_blank">&copy; Mapbox<a/>','<a href="https://www.openstreetmap.org/about/" target="_blank">&copy; OpenStreetMap</a>'],url:"https://api.mapbox.com/styles/v1/{user}/{mapboxid}/tiles/256/{z}/{x}/{y}{r}?access_token={accessToken}&fresh=true",zoomOffset:0},osm:{attribution:['<a href="https://www.mappresspro.com" target="_blank">MapPress</a>','<a href="https://openstreetmap.org" target="_blank">Map data (c) OpenStreetMap</a>'],url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}}[a.provider],t={...e,...a};L.tileLayer(e.url,t).addTo(n.map)}else if(n.map.setMapTypeId("standard"==a.type?a.id:"roadmap"),a.json){let e=null;try{e=JSON.parse(a.json)}catch(e){console.log("Invalid JSON in map style")}n.map.setOptions({styles:e||null})}else n.map.setOptions({styles:null})}function te(e,t,o){"leaflet"==mappl10n.options.engine?(null==t&&(t=n.map.getZoom()?n.map.getZoom():0),n.map.setView(e,t,o)):(e=e&&!E(e)?{lat:parseFloat(e.lat),lng:parseFloat(e.lng)}:e,t=t?parseInt(t):null,e&&n.map.setCenter(e),t&&n.map.setZoom(t))}return n.isIframe?S(C,null,Y(),"inline"==n.layout&&$()):t.container?Q():function(){const e=T();t.name&&t.name;let n="mapp-layout";const o=t.alignment?t.alignment:mappl10n.options.alignment;o&&!document.body.classList.contains("block-editor-page")&&(n+=" align"+o,n+=" mapp-align-"+o);let a="full"==t.alignment?{width:"auto"}:{width:e.width};return S("div",{className:n,style:a,ref:u,tabIndex:"-1"},Q())}()}},759:(e,t,n)=>{"use strict";n.r(t),n.d(t,{mappMarker:()=>a});var o=n(939);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.draw(),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){let e='<img draggable="false" src="'+this.icon.url+'">';this.div.innerHTML=e;let t=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.style.width=t.width+"px",this.div.style.height=t.height+"px",this.setZIndex(),this.draw()}},setMap:function(e){this.map=e,this.overlayView.setMap(e)},setPosition:function(e){this.position=e},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}))}}},602:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappMenuControl:()=>c});var o=n(326);const a=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:p,useState:r}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function c(e){e={layer:null,map:null,onCenter:null,...e};const[t,n]=r({activeLayer:e.layer?e.layer:null,layers:null,isOpen:!1}),s=p(null);function c(e){n((t=>({...t,...e})))}function u(){c({isOpen:!t.isOpen})}return(0,o.useClickOutside)(s,(()=>{t.isOpen&&u()})),l((()=>{if("google"==mappl10n.options.engine){c({layers:{traffic:{googleLayer:new google.maps.TrafficLayer,label:__("Traffic")},bicycling:{googleLayer:new google.maps.BicyclingLayer,label:__("Bicycling")},transit:{googleLayer:new google.maps.TransitLayer,label:__("Transit")}}})}}),[]),a("div",{ref:s},a("div",{className:"mapp-menu-toggle",onClick:()=>u()}),t.isOpen&&function(){const n=_.map(t.layers,((n,o)=>{const i=t.activeLayer==o?"mapp-menu-item mapp-active":"mapp-menu-item";return a("div",{className:i,key:o,onClick:()=>function(n){t.activeLayer&&t.layers[t.activeLayer].googleLayer.setMap(null),n!=t.activeLayer&&t.layers[n].googleLayer.setMap(e.map),c({activeLayer:n==t.activeLayer?null:n,isOpen:!1})}(o)},n.label)}));return a("div",{className:"mapp-menu"},a("div",{className:"mapp-menu-items"},a("div",{className:"mapp-menu-item",onClick:()=>(c({isOpen:!1}),void e.onCenter())},__("Center map")),"google"==mappl10n.options.engine&&a(i,null,a("div",{className:"mapp-menu-separator"}),n)),a("div",{className:"mapp-menu-footer"},a("a",{className:"mapp-menu-help",href:"https://mappresspro.com/mappress-documentation",target:"_blank"},a("span",null,__("Help")))))}())}},27:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPaginate:()=>r});const o=wp.element.createElement,{Fragment:a,useEffect:i,useLayoutEffect:l,useRef:s,useState:p}=wp.element,{sprintf}=wp.i18n;function r(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.page<o&&e.onChange(e.page+1);break;case"prev":e.page>1&&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",p=(r="%d of %d",wp.i18n.__(r,"mappress-google-maps-for-wordpress"));var r;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"},sprintf(p,e.page,n)),o("div",{className:s,onClick:()=>{i||t("next")}},"›"),o("div",{className:s,onClick:()=>{i||t("last")}},"»"))}()}},818:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPlaces:()=>m});var o=n(117),a=n(10);const i=wp.element.createElement,{Fragment:l,useCallback:s,useEffect:p,useLayoutEffect:r,useRef:c,useState:u}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function m(e){e={buttonLabel:null,focus:!1,includeBusinesses:!1,map:null,onSearch: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",debounce:"nominatim"===mappl10n.options.geocoder?500:300,delay:"nominatim"==mappl10n.options.geocoder?500:50,focus:e.focus,onFetch:function(t){n({map:e.map,value:t,callback:e=>{var t;t={suggestions:e},s((e=>({...e,...t})))}})},onSelect:function(n){let{suggestion:o,value:a}=n;t({map:e.map,suggestion:o,value:a,callback:t=>{t&&e.onSearch(t)}})},placeholder:__("Search"),suggestions:l.suggestions,title:__("Enter an address, place, KML file URL, or lat,lng")})}},50:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoiContent:()=>u});var o=n(939);const a=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:p,useRef:r,useState:c}=wp.element;wp.i18n.sprintf;function u(e){e={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})))}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":return a("div",{className:"mapp-avatar",dangerouslySetInnerHTML:{__html:e.html}});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"}:{src:e.url};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.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.imageNumber<e.poi.images.length-1&&a("div",{className:"mapp-gallery-next",onClick:n=>function(n){t.imageNumber<e.poi.images.length-1&&(l({imageNumber:t.imageNumber+1}),n.stopPropagation())}(n)}))}(),a("div",{className:"mapp-info"},function(){let t={...e.poi};t.icon=o.mappLib.getIconUrl(e.poi.iconid),e.feature&&(t.body=e.feature.description,t.title=e.feature.name),t.props=t.props?t.props:{};const n=o.mappLib.template(e.template,{poi:t});return a("div",{className:"mapp-template",dangerouslySetInnerHTML:{__html:n}})}(),function(){var t;if(!(e.template.indexOf("user")>=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)},(t="Get Directions",wp.i18n.__(t,"mappress-google-maps-for-wordpress")))):void 0}()))}},615:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoiList:()=>g});var o=n(939),a=n(27),i=n(50);const l=wp.element.createElement,{Fragment:s,useEffect:p,useLayoutEffect:r,useMemo:c,useRef:u,useState:m}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),sprintf=wp.i18n.sprintf;const g=wp.element.memo((function(e){e={className:null,hovered:null,isEditable:!1,isPaged:!1,onClick:null,onDragDrop: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 p(e){n((t=>({...t,...e})))}function r(n){let a,r="mapp-item";return e.opened!=n.id&&e.hovered!=n.id||(r+=" mapp-selected"),r+=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:r,dangerouslySetInnerHTML:null,draggable:e.isEditable,key:n.id,onClick:()=>e.onClick(n.id),onDragOver:e=>e.preventDefault(),onDragStart:e=>p({dragging:n.id}),onDragEnter:e=>p({dragover:n.id}),onDragEnd:e=>p({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&&function(){let t=1!=e.pois.length?__("%d Results"):__("%d Result");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},_.map(e.pois,((t,a)=>{if(!e.isPaged||a>=n&&a<=o)return r(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}))))}))},81:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPoi:()=>u});var o=n(939),a=n(759);wp.element.createElement;const{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:p,useRef:r,useState:c}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");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=r(null),[n,i]=c({overlay:null});function s(t){p()&&"google"==mappl10n.options.engine&&("rectangle"==e.poi.type&&(o.mappEvent.clearListeners(n.overlay,"bounds_changed"),t&&o.mappEvent.addListener(n.overlay,"bounds_changed",(()=>{u()}))),"circle"==e.poi.type&&(o.mappEvent.clearListeners(n.overlay,"center_changed radius_changed"),t&&o.mappEvent.addListener(n.overlay,"center_changed radius_changed",(()=>{u()}))),"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),u())})),o.mappEvent.addListener(n.overlay.getPath(),"insert_at remove_at set_at",(()=>{u()})))))}function p(){return"google"==mappl10n.options.engine&&-1!=["polyline","polygon","circle","rectangle"].indexOf(e.poi.type)}function u(){const t=o.mappPoi.parseOverlay(e.poi.type,n.overlay);e.onChange(t)}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)}return l((()=>{const n="leaflet"==mappl10n.options.engine&&"kml"!=e.poi.type?null:e.poi.type,l=_.pick(e.poi.poly,"strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity");let s;switch(n){case"polygon":s=new google.maps.Polygon({paths:e.poi.poly.paths,...l});break;case"polyline":s=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);s=new google.maps.Circle({center:t,radius:parseFloat(e.poi.poly.radius),...l});break;case"rectangle":s=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:"";s="leaflet"==mappl10n.options.engine?omnivore.kml(n):new google.maps.KmlLayer({url:n,preserveViewport:!0,suppressInfoWindows:!0});break;default:s="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)}),s.setIcon(o.mappLib.getIcon(e.poi.iconid))}var r;return r={overlay:s},i((e=>({...e,...r}))),"kml"!=e.poi.type&&("leaflet"==mappl10n.options.engine?s.options.draggable=e.isEditable:s.setDraggable(e.isEditable),p()&&s.setEditable(e.isEditable)),e.isClusterable?"google"==mappl10n.options.engine&&m(s,e.map):m(s,e.map),e.onOverlayAdd&&e.onOverlayAdd(s,e.isClusterable),t.current=s,()=>{m(t.current,null)}}),[]),l((()=>{if(n.overlay){const t=_.pick(e.poi.poly,"strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity");n.overlay.setOptions({...t})}}),[e.poi.poly]),l((()=>{n.overlay&&n.overlay.setIcon(o.mappLib.getIcon(e.poi.iconid))}),[e.poi.iconid]),l((()=>{n.overlay&&function(t){if(e.poi.type)return;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(t))),o.mappEvent.addListener(n.overlay,"mouseout",(t=>e.onMouseOut(t))),"kml"==e.poi.type&&("leaflet"==mappl10n.options.engine?(o.mappEvent.addListenerOnce(n.overlay,"ready",(()=>{u()})),o.mappEvent.addListenerOnce(n.overlay,"error",(t=>{alert(__("Error reading KML file.")+" "+__("This may be a CORS error. See the MapPress FAQ for help.")+" : "+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)}u()})),o.mappEvent.addListener(n.overlay,"status_changed",(()=>{"OK"!=n.overlay.getStatus()&&alert(__("Error reading KML file.")+" : "+e.poi.kml.url)})))),e.isEditable&&(s(!0),o.mappEvent.addListener(n.overlay,"dragstart",(()=>(s(!1),void(e.onChange&&e.onChange({viewport:null}))))),o.mappEvent.addListener(n.overlay,"dragend",(()=>(u(),void s(!0))))),()=>{o.mappEvent.clearInstanceListeners(n.overlay)}})),e.isOpen?e.onRenderPopup(e.poi,n.overlay):null}},892:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MappPopupModal:()=>u});var o=n(939);const a=wp.element.createElement,i=wp.element.createPortal,{Fragment:l,useEffect:s,useLayoutEffect:p,useRef:r,useState:c}=wp.element;function u(e){e={onClose:null,poi:null,...e};const[t,n]=c({isBusy:!1,html:null});function l(e){n((t=>({...t,...e})))}const p=React.createRef();function r(t){27==t.keyCode&&e.onClose()}return s((()=>(document.body.classList.add("mapp-modal-noscroll"),()=>document.body.classList.remove("mapp-modal-noscroll"))),[]),s((()=>{e.poi.oid&&(l({isBusy:!0}),o.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]),s((()=>{p.current&&p.current.focus(),console.log("focus"+document.activeElement)}),[p.current]),i(a("div",{className:"mapp-modal"},a("div",{className:"mapp-modal-backdrop",onClick:e.onClose,onKeyDown:r},a("div",{className:"mapp-modal-close",onClick:e.onClose},"×")),a("div",{className:"mapp-modal-content-wrapper",ref:p,onKeyDown:r,tabIndex:0},a("div",{className:"mapp-modal-content"},t.isBusy&&a("div",{className:"mapp-modal-spinner"}),!t.isBusy&&a("div",{className:"mapp-modal-template",dangerouslySetInnerHTML:{__html:t.html}}),a("div",{className:"mapp-modal-close",onClick:e.onClose},"X")))),document.body)}}},n={};function o(e){var a=n[e];if(void 0!==a)return a.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o(117),o(715),o(817),o(10),o(326),o(939),o(346),o(759),o(602),o(27),o(818),o(81),o(50),o(615),o(892),o(374)})();
build/index_mappress_admin.js CHANGED
@@ -1 +1 @@
1
- (()=>{var t={117:(e,t,a)=>{"use strict";a.d(t,{MappAutocomplete:()=>d});var o=a(326);const n=wp.element.createElement,{Fragment:i,useCallback:l,useEffect:s,useLayoutEffect:r,useMemo:p,useRef:c,useState:m}=wp.element;function d(e){e={buttonLabel:null,className:"",delay:null,focus:!1,onFetch:null,onSelect:null,placeholder:"",selected:null,suggestions:[],title:"",...e};const t=c(null),a=c(null),[i,l]=m({isOpen:!1,value:""});function r(e){l((t=>({...t,...e})))}(0,o.useClickOutside)(t,(()=>{i.isOpen&&r({isOpen:!1})})),s((()=>{e.focus&&a.current&&a.current.focus()}),[]),s((()=>{i.map&&setMapTypeId(e.mapTypeId)}),[e.mapTypeId,i.map]);const p=(0,o.useDebounce)((t=>{e.onFetch&&e.onFetch(t)}),e.delay);function d(){let t;r({isOpen:!1}),e.suggestions&&(t=null==i.selected?e.suggestions[0]:e.suggestions[i.selected]),e.onSelect({suggestion:t,value:u})}const u=i.selected>=0&&e.suggestions&&e.suggestions[i.selected]?e.suggestions[i.selected].value:i.value;return n("div",{className:"mapp-autocomplete",ref:t},n("div",{className:"mapp-autocomplete-wrapper"},n("input",{className:e.className,onChange:e=>{!function(e){r({value:e,selected:null}),p(e)}(e.target.value)},onKeyDownCapture:t=>function(t){switch(t.stopPropagation(),t.code){case"Backspace":r({isOpen:i.value.length>1});break;case"Enter":d();break;case"Escape":r({isOpen:!1});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<e.suggestions.length-1){const t=null==i.selected?0:i.selected+1;e.suggestions[t]&&r({isOpen:!0,selected:t})}else r({selected:null});break;case"Tab":case"AltLeft":case"AltRight":case"ControlLeft":case"ControlRight":case"MetaLeft":case"MetaRight":break;default:r({isOpen:!0})}}(t),placeholder:e.placeholder,ref:a,title:e.title,type:"text",value:u}),i.isOpen&&function(){if(e.suggestions&&e.suggestions.length)return n("div",{className:"mapp-autocomplete-list"},_.map(e.suggestions,((t,a)=>{const o="mapp-autocomplete-item"+(i.selected==a?" mapp-selected":"");return n("div",{className:o,key:a,onClick:()=>function(t,a){r({isOpen:!1,selected:a}),e.onSelect({suggestion:t})}(t,a)},t.value)})))}()),e.buttonLabel&&n("div",{className:"mapp-submit-button",onClick:()=>d()},e.buttonLabel))}},715:(e,t,a)=>{"use strict";a.d(t,{MappDirections:()=>p});const o=wp.element.createElement,{Fragment:n,useEffect:i,useLayoutEffect:l,useRef:s,useState:r}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function p(e){e={from:null,onClose:null,to:null,...e};const[t,a]=r({from:e.from?e.from:"",to:e.to?e.to:""});function n(e){a((t=>({...t,...e})))}function l(){e.onClose&&e.onClose()}function s(){const e=t.from.trim(),a=t.to.trim();let o=mappl10n.options.directionsServer;o="https://maps.google.com"==o?"https://www.google.com":o,-1==o.toLowerCase().indexOf("http")&&(o="https://"+o),o+="/maps/dir/?api=1&origin="+encodeURIComponent(e)+"&destination="+encodeURIComponent(a),window.open(o),l()}function p(e){13==e?s():27==e&&l()}return i((()=>{"google"==mappl10n.options.directions&&s()}),[]),"google"==mappl10n.options.directions?null:o("div",{className:"mapp-directions"},o("div",{className:"mapp-close",onClick:()=>l()}),o("div",null,o("input",{className:"mapp-dir-from",onChange:e=>n({from:e.target.value}),onKeyPress:e=>p(e.which),tabIndex:"1",placeholder:__("My location"),value:t.from}),o("div",{className:"mapp-dir-arrows",onClick:()=>{n({from:t.to,to:t.from})}})),o("div",null,o("input",{className:"mapp-dir-to",onChange:e=>n({to:e.target.value}),onKeyPress:e=>p(e.which),tabIndex:"2",value:t.to})),o("div",{className:"mapp-dir-toolbar"},o("div",{className:"mapp-submit-button",onClick:()=>s()},__("Get Directions"))))}},817:(e,t,a)=>{"use strict";a.d(t,{MappFilters:()=>m});var o=a(939),n=a(326);const i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useRef:p,useState:c}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),sprintf=wp.i18n.sprintf,m=e=>{e={onChange:null,otype:"post",poiCount:0,...e};const t=(0,n.useDebounce)(e.onChange,500),[a,r]=c({filters:[],isBusy:!0,open:null,selected:{}});function m(e){r((t=>({...t,...e})))}const d=p({});function u(e,o){let n=a.selected[e.key]?a.selected[e.key].values:null;if("checkbox"==e.format){var i;const e=null===(i=n)||void 0===i?void 0:i.indexOf(o);e>-1?n.splice(e,1):(n=n||[],n.push(o))}else n=o?[o]:[];n.length?a.selected[e.key]={key:e.key,values:n,meta_key:e.meta_key,meta_values:e.meta_values}:delete a.selected[e.key],m({selected:a.selected}),t(a.selected)}function g(e){m({open:a.open==e?null:e})}function h(e){e.key;const t=[...e.values],n=a.selected[e.key]?a.selected[e.key].values:"";switch(e.format){case"input":return i("input",{type:"text",value:n?n[0]:"",onChange:t=>u(e,t.target.value)});case"checkbox":return _.map(t,(t=>i("label",{key:t.value},i("input",{checked:null==n?void 0:n.includes(t.value),key:t.value,onChange:t=>u(e,t.target.value),type:e.format,value:t.value}),t.iconid&&i("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(t.iconid)}),i("span",{dangerouslySetInnerHTML:{__html:t.label}}))));case"radio":return"radio"==e.format&&t.unshift({value:"",label:__("All")}),_.map(t,(t=>i("label",{key:t.value},i("input",{checked:n==t.value||""==t.value&&!n,key:t.value,onChange:t=>u(e,t.target.value),type:e.format,value:t.value}),t.iconid&&i("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(t.iconid)}),i("span",{dangerouslySetInnerHTML:{__html:t.label}}))));case"select":t.unshift({value:"",label:""});const a=_.map(t,(e=>'<option value="'+e.value+'">'+e.label+"</option>"));return i("select",{value:n[0],dangerouslySetInnerHTML:{__html:a},onChange:t=>u(e,t.target.value)})}}function f(o){return i("div",{className:"mapp-filter-dropdown"},function(e){return i("div",{className:"mapp-filter-values"},"all"==e?a.filters.map((e=>i(l,{key:e.key},i("div",{className:"mapp-filter-label"},e.label),h(e)))):h(e))}(o),"all"==o&&function(a){const o="all"==a?"all":a.key;let n=e.poiCount>1?__("%d Results"):__("%d Result");return n=sprintf(n,e.poiCount),i("div",{className:"mapp-filter-toolbar"},i("div",{className:"mapp-link-button",onClick:()=>(m({selected:{}}),void t())},__("Reset")),i("div",{className:"mapp-filter-count"},n),i("div",{className:"mapp-submit-button",onClick:()=>g(o)},__("Done")))}(o))}function v(e){const t="all"==e?"all":e.key,o="all"==e?__("Filter"):e.label,n="mapp-filter mapp-filter-"+t+(a.open==t?" mapp-filter-open":"");return i("div",{key:t,className:n,ref:e=>d.current[t]=e},i("div",{className:"mapp-button mapp-button-caret mapp-filter-button"+(a.isBusy?" mapp-button-disabled":""),onClick:()=>g(t)},o),f(e))}return(0,n.useClickOutside)({current:a.open&&d.current[a.open]?d.current[a.open]:null},(()=>{m({open:null})})),s((()=>{m({isBusy:!0}),o.mappLib.ajax({method:"GET",data:{action:"mapp_filters_get",nonce:mappl10n.options.nonce,otype:e.otype},callback:e=>{e&&"OK"==e.status?m({filters:e.data}):console.error("MapPress: unable to fetch filter data"),m({isBusy:!1})}})}),[]),i("div",{className:"mapp-filters"},v("all"),_.map(a.filters,(e=>e.isStandalone?v(e):null)))}},10:(e,t,a)=>{"use strict";a.d(t,{useGeocoding:()=>m});const o=a(939).mappLib.toJSON,{Fragment:n,useCallback:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=(wp.element.createElement,wp.element),__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),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(e){let{suggestion:t,callback:a}=e;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken,this.token=null;var n={fields:["formatted_address","name","geometry"],placeId:t.place_id,sessionToken:this.token};this.placesService.getDetails(n,(function(e,t){if("OK"==t&&e&&e.geometry){if(e.geometry.location&&(e.geometry.location=o(e.geometry.location)),e.geometry.viewport){var n=o(e.geometry.viewport);e.geometry.viewport={sw:{lat:n.south,lng:n.west},ne:{lat:n.north,lng:n.east}}}a(e)}else a(null)}))},getFirstPrediction:function(e){let{map:t,value:a,callback:o}=e;this.getPredictions({map:t,value:a,callback:e=>{e&&Array.isArray(e)?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:a,includeBusinesses:o,callback:n}=e;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;var i=t?t.getBounds():null;"leaflet"==mappl10n.options.engine&&(i=new google.maps.LatLngBounds(new google.maps.LatLng(i.getSouthWest().lat,i.getSouthWest().lng),new google.maps.LatLng(i.getNorthEast().lat,i.getNorthEast().lng)));var l={input:a,bounds:i=i||new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180)),sessionToken:this.token,types:o?null:["geocode"]};this.autocompleteService.getPlacePredictions(l,(function(e,t){"OK"==t&&e&&e.length?(e=(e=e.map((e=>(e.value=e.description,e)))).filter((e=>e.place_id)),n(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"),n(null))}))}},c.mapbox=function(){},c.mapbox.prototype={getDetails:function(e){let{suggestion:t,callback:a}=e,o=t.place_name,n=o.indexOf(","),i=o.indexOf(",",n+1);n>0&&(o=parseInt(o.substr(0,n))?o.substr(0,i).replace(",",""):o.substr(0,n));let l=t.bbox&&4==t.bbox.length?{sw:{lat:t.bbox[1],lng:t.bbox[0]},ne:{lat:t.bbox[3],lng:t.bbox[2]}}:null;a({formatted_address:t.place_name,name:o,geometry:{location:{lat:t.center[1],lng:t.center[0]},viewport:l}})},getFirstPrediction:function(e){let{map:t,value:a,callback:o}=e;this.getPredictions({map:t,value:a,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:a,callback:o}=e;var n="https://api.mapbox.com/geocoding/v5/mapbox.places/"+a+".json?access_token="+mappl10n.options.mapbox;n=mappl10n.options.country?n+"&country="+mappl10n.options.country.toLowerCase():n,n=mappl10n.options.language?n+"&language="+mappl10n.options.language.toLowerCase():n;var i=t?t.getCenter():null;i&&(n+="&proximity="+i.lng+","+i.lat),mappl10n.options.searchBox&&(n+="&bbox="+mappl10n.options.searchBox),fetch(n).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))),o(e.features)):o(null)}))}},c.nominatim=function(){},c.nominatim.prototype={getDetails:function(e){let{suggestion:t,callback:a}=e,o=t.display_name,n=o.indexOf(","),i=o.indexOf(",",n+1);n>0&&(o=parseInt(o.substr(0,n))?o.substr(0,i).replace(",",""):o.substr(0,n));let l=t.boundingbox&&4==t.boundingbox.length?{sw:{lat:t.boundingbox[0],lng:t.boundingbox[2]},ne:{lat:t.boundingbox[1],lng:t.boundingbox[3]}}:null;a({formatted_address:t.display_name,name:o,geometry:{location:{lat:t.lat,lng:t.lon},viewport:l}})},getFirstPrediction:function(e){let{map:t,value:a,callback:o}=e;this.getPredictions({map:t,value:a,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:a,callback:o}=e;var n="https://nominatim.openstreetmap.org/search?format=json&dedupe=1&limit=5&q="+encodeURIComponent(a);if(n=mappl10n.options.country?n+"&countrycodes="+mappl10n.options.country.toLowerCase():n,n=mappl10n.options.language?n+"&accept-language="+mappl10n.options.language.toLowerCase():n,mappl10n.options.searchBox)n+="&viewbox="+mappl10n.options.searchBox,n+="&bounded=1";else{var i=t?t.getBounds():null;if(i){let e=i.getSouthWest(),t=i.getNorthEast();n+="&viewbox="+e.lng+","+e.lat+","+t.lng+","+t.lat}}fetch(n).then((e=>e.json())).then((e=>{e&&e.length?(e=e.map((e=>(e.value=e.display_name,e))),o(e)):o(null)}))}};const m=e=>{let{includeBusinesses:t}=e;function a(){let e="";return e="leaflet"!=mappl10n.options.engine?"google":mappl10n.options.geocoder?mappl10n.options.geocoder:"nominatim",new c[e]}return{geocode:function(e){let{map:o,suggestion:n,value:i,callback:l}=e;const s=a();i="string"==typeof i?i.trim():i,n||i?function(e){let{map:t,value:a,callback:o}=e;if(!a)return void o(null);if("string"!=typeof a){return void o(a.lat&&a.lng?{geometry:{location:{lat:a.lat,lng:a.lng}}}:null)}if("http"==a.substring(0,4))return void o(a);const n=a.split(",");if(2==n.length){const e=parseFloat(n[0]),t=parseFloat(n[1]);if(!isNaN(e)&&!isNaN(t))return void o({name:e+", "+t,geometry:{location:{lat:e,lng:t}}})}o(null)}({map:o,value:i,callback:e=>{e?l(e):n?s.getDetails({suggestion:n,callback:l}):s.getFirstPrediction({map:o,value:i,includeBusinesses:t,callback:l})}}):l(null)},geolocate:function(e,t){navigator&&navigator.geolocation||(alert(__("Unable to get your location")),e(null)),navigator.geolocation.getCurrentPosition((function(t){var a={lat:t.coords.latitude,lng:t.coords.longitude};e({name:a.lat+", "+a.lng,geometry:{location:a}})}),(function(a){if(!t){var o=a&&a.message?" : "+a.message:"";alert(__("Unable to get your location")+" "+o)}e(null)}),{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4})},getPredictions:function(e){let{map:t,value:o,callback:n}=e;a().getPredictions({map:t,value:o,callback:n})}}}},286:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappAttachControl:()=>u});const o=wp.element.createElement,{addQueryArgs:n}=wp.url,{useCallback:i,useEffect:l,useState:s}=wp.element,{Button:r,Dashicon:p,Dropdown:c,Spinner:m,TextControl:d}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function u(e){const[t,a]=s({isFetching:!1,isOpen:!1,results:[],search:"",searchTerm:""});function r(e){a((t=>({...t,...e})))}l((()=>{r({isFetching:!0}),wp.apiFetch({path:n("/wp/v2/search",{search:t.search,per_page:20})}).then((e=>{r({results:e,isFetching:!1})}))}),[t.search]);const p=i(_.debounce((function(e){r({search:e})}),1e3),[]);function u(a,n){return o("div",{className:"mapp-attach-control"},o("div",{className:"mapp-attach-control-toolbar"},o(d,{autoComplete:"false",value:t.searchTerm,onChange:e=>function(e){r({searchTerm:e}),p(e)}(e),placeholder:__("Search")})),function(){if(t.isFetching)return o(m,null);if(t.results)return t.results.length?o("div",{className:"mapp-attach-items"},t.results.map((t=>o("div",{key:t.id,className:"mapp-attach-item",onClick:()=>{e.onChange(t.id,t.title)}},o("div",{className:"mapp-attach-item-title"},t.title?t.title:__("Untitled")),o("div",{className:"mapp-attach-item-type"},t.subtype))))):o("div",{},__("No posts found"))}())}return o("div",{className:"mapp-attach-control",onClick:e=>e.stopPropagation()},o(c,{renderToggle:e=>{let{isOpen:t,onToggle:a}=e;return o("div",{onClick:a},__("Attach map to post"))},renderContent:e=>{let{isOpen:t,onToggle:a}=e;return u()}}))}},569:(e,t,a)=>{"use strict";a.r(t);var o=a(185);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=wp.element,{Button:c,Dashicon:m,Modal:d}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function u(e){const[t,a]=p({isOpen:!0,mapid:null});function l(e){a((t=>({...t,...e})))}function s(){const e="undefined"!=typeof tinyMCE&&tinyMCE?tinyMCE.get("content"):null,t=e&&e.selection?e.selection.getSel():null;if(!t||void 0===t.anchorOffset||!t.anchorNode||!t.anchorNode.data)return null;let a=null,o=t.anchorNode.data,n=-1;for(let e=t.anchorOffset-1;e>=0;e--){let t=o[e];if("["==t){n=e;break}if("]"==t||"<"==t||">"==t)break}return n>=0&&(a=wp.shortcode.next("mappress",o,n),a)?a.shortcode.attrs.named.mapid:null}return n(i,null,n("button",{className:"button",type:"button",onClick:e=>{e.preventDefault(),l({isOpen:!0,mapid:s()})}},n(m,{className:"wp-media-buttons-icon",icon:"location"}),__("MapPress")),t.isOpen&&n(o.MappPicker,{context:"mce",mapid:t.mapid,onClose:()=>{l({isOpen:!1,mapid:null})},onInsert:e=>function(e){l({isOpen:!1});var t='[mappress mapid="'+e+'"]';"undefined"==typeof wpActiveEditor?__("Please select the post content to insert the map into."):send_to_editor(t)}(e)}))}document.addEventListener("click",(e=>{e.target.classList.contains("mapp-classic-button")&&wp.element.render(n(u),e.target.parentElement)}))},107:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappColorPicker:()=>O});var o=a(577);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useCallback:r,useRef:p,useState:c}=wp.element,{useSelect:m}=wp.data,{withState:d}=wp.compose,{Button:u,ColorPalette:g,ColorPicker:h,Dashicon:f,Dropdown:v,ExternalLink:b,Modal:y,Panel:w,PanelBody:k,PanelRow:C,Popover:x,RadioControl:S,Spinner:N,TabPanel:L}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function O(e){e={isExtended:null,onChange:null,color:null,opacity:null,weight:null,...e};const[t,a]=c({color:e.color,isCustomOpen:!1,isOpen:!1,opacity:e.opacity?e.opacity:1,weight:e.weight?e.weight:2});function s(e){a((t=>({...t,...e})))}function r(){s({isOpen:!1})}function p(a){s({color:a,isOpen:!1}),e.onChange({color:a,opacity:t.opacity,weight:t.weight})}return l((()=>{}),[]),n(i,null,n("span",{className:"mapp-colors-toggle",onClick:()=>{s({isOpen:!0})},style:{backgroundColor:e.color,border:e.isExtended?"1px solid "+e.color:"1px solid gray",opacity:e.isExtended&&e.opacity?e.opacity:1},tabIndex:0}),function(){if(!t.isOpen)return null;const a=_.map([1,.9,.8,.7,.6,.5,.4,.3,.2,.1,0],(e=>({label:100*e+"%",value:e}))),i=_.map([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],(e=>({label:e+"px",value:e})));return n(y,{title:__("Select a color"),className:"mapp-colors-modal",onRequestClose:()=>r()},n("div",{className:"mapp-colors"},n("div",{className:"mapp-colors-list"},_.map([["yellow","yellowgreen","green","seagreen","blue","cornflowerblue","darkslateblue","purple","firebrick","red","darkorange","orange","saddlebrown"],["lightyellow","greenyellow","lightgreen","darkseagreen","lightblue","skyblue","slateblue","orchid","plum","pink","sandybrown","goldenrod","peru"],["white","lightgray","gray","black"]],((t,a)=>n("div",{key:a},_.map(t,(t=>n("span",{className:"mapp-color"+(t==e.color?" mapp-selected":""),key:t,onClick:()=>{s({isCustomOpen:!1}),p(t)},style:{backgroundColor:t},title:t}))))))),t.isCustomOpen&&n(h,{color:e.color,onChangeComplete:e=>p(e.hex),disableAlpha:!0}),e.isExtended&&n(o.Select,{label:__("Opacity"),options:a,value:t.opacity,onChange:a=>{return s({opacity:o=a}),void e.onChange({color:t.color,opacity:o,weight:t.weight});var o}}),e.isExtended&&n(o.Select,{label:__("Stroke"),options:i,value:e.weight?e.weight:"",onChange:a=>{return s({weight:o=a}),void e.onChange({color:t.color,opacity:t.opacity,weight:o});var o}}),n("div",{className:"mapp-colors-toolbar"},n(u,{isPrimary:!0,onClick:()=>r()},__("Done")),n(u,{onClick:()=>s({isCustomOpen:!t.isCustomOpen})},__("Custom color")))))}())}},946:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>d});a(577);var o=a(939);const{Button:n}=wp.components,i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useCallback:p,useRef:c,useState:m}=wp.element,{sprintf}=wp.i18n,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function d(e){const[t,a]=m({error:"",isBusy:!1,isComplete:!1});function l(e){a((t=>({...t,...e})))}return i("div",{className:""},i(n,{isPrimary:!0,disabled:t.isComplete||t.isBusy,isBusy:t.isBusy,onClick:()=>{t.isBusy||(l({isBusy:!0}),o.mappLib.ajax({method:"POST",data:{action:"mapp_upgrade",nonce:mappl10n.options.nonce},callback:e=>{e&&"OK"==e.status?l({isBusy:!1,isComplete:!0,error:null}):l({isBusy:!1,isComplete:!0,error:e.status})}}))}},__("Upgrade")),function(){if(t.isComplete)return t.error?i("div",{className:""},i("div",{className:"mapp-upgrade-error"},__("Error during update! Please contact support."),i("div",{className:""},t.error))):i("div",{className:"mapp-upgrade-success"},__("Success! Database updated."))}())}const u=document.getElementById("mapp-db-upgrade");u&&wp.element.render(i(d,null),u)},972:()=>{const e=wp.element.createElement,{Fragment:t,useEffect:a,useLayoutEffect:o,useRef:n,useState:i}=wp.element,{Button:l,Modal:s}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function r(t){const[o,n]=i({isOpen:!1,reason:"",reasonText:"",redirectUrl:null});function r(e){n((t=>({...t,...e})))}function p(e,t){switch(e){case"cancel":r({isOpen:!1});break;case"submit":r({isOpen:!1}),window.location.href=o.redirectUrl+"&mapp_reason="+o.reason+"&mapp_reason_text="+encodeURIComponent(o.reasonText.trim())}}return a((()=>{const e=document.getElementById("deactivate-mappress-google-maps-for-wordpress");if(!e)return;const t=e.addEventListener("click",(e=>{!function(e){const t=e?e.href:null;t&&r({isOpen:!0,redirectUrl:t})}(e.target),e.stopPropagation(),e.preventDefault()}));return()=>{e.removeEventListener("click",t)}}),[]),o.isOpen?e(s,{isDismissible:!0,onRequestClose:()=>p("cancel"),shouldCloseOnEsc:!0,shouldCloseOnClickOutside:!0,title:__("Feedback")},function(){const t=!o.reason||"other"==o.reason&&!o.reasonText;return sprintf("<a href='https://mappresspro.com/chris-contact' target='_blank'>%s</a>",__("contact me")),e("div",{className:"mapp-deactivate"},e("div",{className:"mapp-deactivate-content"},e("h2",null,__("Sorry to see you go! Need help?"),e(l,{className:"mapp-deactivate-help",isSecondary:!0,href:"https://mappresspro.com/chris-contact",target:"_blank"},__("Contact me"))),e("h2",null,__("Please provide some feedback:")),function(){const t=[{value:"badday",label:__("I don't want to say")},{value:"noapikey",label:__("I don't want to get an API key"),tip:__("Leaflet doesn't require a key."),tip2:__("Google and MapBox require a credit card, but include so much free usage that 99% of sites are never billed.")},{value:"nodisplay",label:__("The map didn't display")},{value:"toohard",label:__("Too hard to use"),placeholder:__("Please explain...")},{value:"feature",label:__("Missing feature"),placeholder:__("Please explain...")},{value:"other",label:__("Other"),placeholder:__("Please explain...")}];return e("div",{className:"mapp-deactivate-reasons"},_.map(t,(t=>{const a=t.value==o.reason;return e("div",{className:"mapp-deactivate-reason",key:t.value},e("label",null,e("input",{checked:a,onChange:e=>r({reason:e.target.value}),type:"radio",value:t.value}),t.label),a&&t.placeholder&&e("div",null,e("textarea",{onChange:e=>r({reasonText:e.target.value}),placeholder:t.placeholder,value:o.reasonText})),a&&t.tip&&e("fieldset",{className:"mapp-deactivate-tip"},e("legend",null,__("Did you know?")),e("div",null,t.tip),t.tip2&&e("div",null,t.tip2)))})))}()),e("div",{className:"mapp-deactivate-footer"},e(l,{isSecondary:!0,disabled:t,onClick:()=>p("submit")},__("Deactivate")),e(l,{isPrimary:!0,onClick:()=>p("cancel")},__("Cancel"))))}()):null}document.addEventListener("DOMContentLoaded",(()=>{const t=document.createElement("div");wp.element.render(e(r),t)}))},800:(e,t,a)=>{"use strict";a.r(t);var o=a(185);wp&&wp.plugins&&wp.plugins.registerPlugin&&wp.editPost&&wp.plugins.registerPlugin("mappress-document-settings-panel",{render:function(){const{PluginDocumentSettingPanel:e}=wp.editPost,{Fragment:t,useEffect:a,useLayoutEffect:n,useRef:i,useState:l}=wp.element,{dispatch:s,select:r,useSelect:p}=wp.data,{Button:c,Spinner:m}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),d=wp.element.createElement,[u,g]=l({isPickerOpen:!1,pickerMode:"list"});function h(e){g((t=>({...t,...e})))}const{counts:_}=p((e=>{const t=[mappl10n.options.otype,mappl10n.options.oid];return{counts:e("mappStore").getCounts(...t),isResolving:!e("mappStore").hasFinishedResolution("getCounts",t)}}));return d(e,{title:"MapPress",className:"mapp-document-panel"},function(){const e=_.object?sprintf(__("%d maps for this post"),_.object):__("No maps attached to post");return d("div",null,e)}(),d(c,{icon:"portfolio",isSecondary:!0,onClick:()=>{h({isPickerOpen:!0})}},__("Open map library")),function(){if(u.isPickerOpen)return d(o.MappPicker,{filter:"object",mapid:null,mode:"list",onClose:()=>{h({isPickerOpen:!1})},onInsert:e=>function(e){const t=wp.blocks.createBlock("mappress/map",{mapid:e});wp.data.dispatch("core/block-editor").insertBlock(t,0),h({isPickerOpen:!1})}(e)})}())},icon:null})},68:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappEdit:()=>G});var o=a(107),n=a(641);const i=wp.element.createElement,{Button:l,Dashicon:s,Icon:r,Spinner:p}=wp.components,{useSelect:c}=wp.data,{Fragment:m,useEffect:d,useLayoutEffect:u,useRef:g,useState:h}=wp.element,{MediaUpload:f}=wp.mediaUtils,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function v(e){e={poi:null,onChange:null,onClose:null,onDelete:null,onSave:null,...e};const t="mapp-poi-body",a=g(null),[s,r]=h({images:e.poi.images?e.poi.images:[],isBusy:!1,title:e.poi.title,isVisual:!0});function p(e){r((t=>({...t,...e})))}function c(e){e?tinyMCE.execCommand("mceAddEditor",!1,t):tinyMCE.execCommand("mceRemoveEditor",!1,t)}function u(){return["circle","polyline","polygon","rectangle"].includes(e.poi.type)}function v(){e.onChange({images:s.images,body:tinymce&&tinymce.get(t)?tinymce.get(t).getContent():a.current.value,title:s.title}),e.onClose()}function y(e){return i("div",{className:"mapp-poi-image",key:e.id?e.id:e.url},"embed"==e.type&&i(b,{url:e.url}),"embed"!=e.type&&i("img",{src:e.url}),i("div",{className:"mapp-poi-image-delete",onClick:()=>function(e){const t=s.images.findIndex((t=>t.url==e));t>=0&&(s.images.splice(t,1),p({images:s.images}))}(e.url)},"X"))}return d((()=>(function(){if("undefined"==typeof tinyMCE||void 0===tinyMCE.init)return;var e="en";if(void 0!==window.tinyMCEPreInit&&void 0!==window.tinyMCEPreInit.mceInit&&void 0!==window.tinyMCEPreInit.mceInit.content){var t=window.tinyMCEPreInit.mceInit.content;e=void 0!==t.language?t.language:"en"}var a={mode:"none",height:"100%",convert_urls:!1,language:e,menubar:!1,plugins:"image,paste,textcolor,wordpress,wpeditimage,wplink,wpview",relative_urls:!1,remove_script_host:!1,statusbar:!1,theme:"modern",toolbar1:"bold,italic,link",toolbar2:"",toolbar3:"",toolbar4:""};tinyMCE.init(a)}(),()=>{c(!1)})),[]),d((()=>{s.isVisual?c(!0):c(!1)}),[s.isVisual]),i(m,null,i("div",{className:"mapp-poi-header"},i("input",{className:"mapp-poi-title",value:s.title,onChange:e=>{p({title:e.target.value})},onKeyDown:e=>function(e){13==e.keyCode&&(v(),e.stopPropagation(),e.preventDefault())}(e)}),u(s.type)?null:i(n.MappIconPicker,{iconid:e.poi.iconid,onChange:t=>{e.onChange({iconid:t})}}),function(){var t,a,n,l,s,r;const p=e.poi;return u(p.type)?i(o.MappColorPicker,{color:"polyline"==p.type?null===(t=p.poly)||void 0===t?void 0:t.strokeColor:null===(a=p.poly)||void 0===a?void 0:a.fillColor,opacity:"polyline"==p.type?null===(n=p.poly)||void 0===n?void 0:n.strokeOpacity:null===(l=p.poly)||void 0===l?void 0:l.fillOpacity,weight:"polyline"==p.type?null===(s=p.poly)||void 0===s?void 0:s.strokeWeight:null===(r=p.poly)||void 0===r?void 0:r.strokeWeight,isExtended:!0,onChange:t=>{let{color:a,opacity:o,weight:n}=t;const i="polyline"==e.poi.type?{strokeColor:a,strokeOpacity:o,strokeWeight:n}:{fillColor:a,fillOpacity:o,strokeColor:a,strokeWeight:n,strokeOpacity:1};e.onChange({poly:{...e.poi.poly,...i}})}}):null}()),function(){const o="mapp-mce-visual"+(s.isVisual?" mapp-active":""),n="mapp-mce-html"+(s.isVisual?"":" mapp-active");return i(m,null,i("div",{className:"mapp-mce-toolbar"},i("div",{className:"mapp-mce-tabs"},i("a",{className:o,onClick:()=>p({isVisual:!0})},__("Visual"))," | ",i("a",{className:n,onClick:()=>p({isVisual:!1})},__("HTML"))),i("a",{href:"#",className:"insert-media add_media","data-editor":t},__("Add Media"))),i("div",{className:"mapp-mce-main"},i("textarea",{defaultValue:e.poi.body,id:t,ref:a,style:{height:"100%"}})))}(),"kml"==e.poi.type&&i("div",{className:"mapp-poi-kml"},i("span",null,__("KML")+" : "),i("a",{href:e.poi.kml.url,target:"_blank"},e.poi.kml.url)),s.images?i("div",{className:"mapp-poi-images"},s.images.map((e=>y(e)))):null,i("div",{className:"mapp-poi-toolbar"},i("div",null,i(l,{isPrimary:!0,onClick:()=>v()},__("Save")),i(l,{isSecondary:!0,onClick:()=>e.onClose()},__("Cancel"))),i("div",null,i(f,{allowedTypes:["image","video"],autoOpen:!0,gallery:!0,multiple:!0,onClose:()=>{p({images:s.images})},onSelect:e=>{return t=e,t=Array.isArray(t)?t:[t],void p({images:_.map(t,(e=>({id:e.id,url:e.url})))});var t},type:"image",value:s.images?s.images.map((e=>e.id)):[],render:e=>{let{open:t}=e;return i(l,{isSecondary:!0,onClick:t},__("Images"))}}),i(l,{isSecondary:!0,onClick:()=>function(){const e=prompt(__("Video URL"));if(e){let t=s.images?[...s.images]:[];t.push({type:"embed",url:e}),p({images:t})}}()},__("Video")),i(l,{isDestructive:!0,onClick:()=>e.onDelete()},__("Delete")))))}function b(e){e={url:null,...e};const{html:t}=c((t=>{const a=t("core").getEmbedPreview(e.url);return a?{html:a.html}:{html:null}}));return t?i("div",{className:"mapp-poi-embed",dangerouslySetInnerHTML:{__html:t}}):i("div",{className:"mapp-poi-embed"},i(p,null))}var y=a(939),w=a(346),k=a(885),C=a(614);window.mapp=window.mapp||{};const x=wp.element.createElement,{dispatch:S,select:N,useSelect:L}=wp.data,{Fragment:O,useEffect:M,useLayoutEffect:E,useRef:P,useState:I}=wp.element,{Button:T,Dropdown:D,Modal:z,Panel:B,PanelBody:R,Popover:A,TextControl:F}=wp.components,j=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function G(e){e={context:null,mapid:null,onCancel:null,onSave:null,...e};const t=P(),[a,o]=I({mapdata:e.mapid?null:{pois:[]},viewport:null,zoom:null});function n(e){o((t=>({...t,...e})))}const{isResolving:i,isSaving:l,savedMapdata:s}=L((t=>e.mapid?{isSaving:t("mappStore").isSaving(),isResolving:!t("mappStore").hasFinishedResolution("getMap",[e.mapid]),savedMapdata:t("mappStore").getMap(e.mapid)}:{isSaving:!1,isResolving:!1,savedMapdata:null}),[e.mapid]);function r(){e.onCancel()}function p(e,t){const o=a.mapdata.pois?[...a.mapdata.pois]:[],i=o.findIndex((t=>t.id==e));-1==i&&alert("ERROR poi not found"),o[i]={...o[i],...t},n({mapdata:{...a.mapdata,pois:o}}),t.iconid&&n({lastIcon:t.iconid})}function c(e){const t=a.mapdata.pois?[...a.mapdata.pois]:[];t.unshift(e),n({centerPoi:e,mapdata:{...a.mapdata,pois:t}})}function m(e,t){return x(v,{onClose:()=>t(),onDelete:t=>function(e){if(!confirm(mappl10n.delete_prompt))return;const t=a.mapdata.pois?[...a.mapdata.pois]:[],o=t.findIndex((t=>t.id==e));t.splice(o,1),n({mapdata:{...a.mapdata,pois:t}})}(e.id),onChange:t=>p(e.id,t),poi:e})}async function d(){const t=await S("mappStore").saveMap(a.mapdata);e.onSave(t)}function u(e){n({mapdata:{...a.mapdata,...e}})}function g(){if(i)return null;const t={centerPoi:a.centerPoi,embed:!0,isEditable:!0,layout:"left",mapOpts:{minZoom:2,streetViewControl:!1},menu:!1,name:"media-map",onDragDrop:(e,t)=>function(e,t){const o={...a.mapdata};let i=_.findIndex(o.pois,(t=>t.id==e)),l=_.findIndex(o.pois,(e=>e.id==t));o.pois.splice(l,0,o.pois.splice(i,1)[0]),n({mapdata:o})}(e,t),onDrawingEvent:e=>function(e){const t="marker"==e.type?null:e.type,o={...y.mappPoi.parseOverlay(t,e.overlay),body:"",iconid:a.lastIcon,id:y.mappLib.nanoid(),type:t,title:"marker"==e.type?e.overlay.position.toUrlValue():j("Shape")};e.overlay.setMap(null),c(o)}(e),onPoiChange:(e,t)=>p(e,t),onRenderPopup:(e,t)=>m(e,t),onRenderSidebar:()=>function(){if(null==a.mapdata)return null;if("mce"!=e.context&&"library"!=e.context)return null;const{center:t,height:o,poiList:n,search:i,title:l,width:s,zoom:r}=a.mapdata;return x(k.MappSettings,{center:t,context:e.context,height:o,mapid:e.mapid,onChange:e=>u(e),poiList:n,search:i,title:l,viewport:a.viewport,width:s,zoom:r})}(),onSearch:e=>function(e){let t;if(e.geometry){const o=e.formatted_address?e.formatted_address.replace(/, United States of America/i,"").replace(/, United States/i,"").replace(/, USA/i,""):null,n=e.name==o?"":o;t={id:y.mappLib.nanoid(),address:o,body:n,iconid:a.lastIcon,id:y.mappLib.nanoid(),point:e.geometry.location,title:e.name,viewport:e.geometry.viewport?e.geometry.viewport:null}}else"string"==typeof e&&"http"==e.substring(0,4)&&(t={iconid:a.lastIcon,id:y.mappLib.nanoid(),kml:{url:e},title:"KML",type:"kml"});c(t)}(e),onViewportChange:e=>function(e){n({viewport:e})}(e),poiList:!0};return"map"!=e.context&&"mashup"!=e.context||(t.center=null,t.zoom=null),x(w.MappMap,{...a.mapdata,...t})}return M((()=>{e.mapid?s&&n({mapdata:s}):n({mapdata:{otype:mappl10n.options.otype,oid:mappl10n.options.oid,pois:[]}})}),[s]),x(z,{className:"mapp-gt-modal mapp-edit-modal",isDismissible:!0,onRequestClose:!1,shouldCloseOnEsc:!1,shouldCloseOnClickOutside:!1},x("div",{ref:t,className:"mapp-edit",tabIndex:-1},function(){var e;let t=null!==(e=a.mapdata)&&void 0!==e&&e.title?a.mapdata.title:"",o=i?"":j("Untitled");return x("div",{className:"mapp-gt-modal-header"},x(F,{className:"mapp-edit-title",disabled:i,placeholder:o,value:t,onChange:e=>function(e){n({mapdata:{...a.mapdata,title:e}})}(e),onKeyDown:e=>function(e){13==e.keyCode&&(d(),e.stopPropagation(),e.preventDefault())}(e)}))}(),x("div",{className:"mapp-edit-main"},x("div",{className:"mapp-edit-map",key:e.mapid,onKeyDown:e=>e.stopPropagation(),tabIndex:-1},g()),a.mapdata?x(C.m,{selected:a.mapdata.mapTypeId,onChange:e=>u({mapTypeId:e})}):null),x("div",{className:"mapp-edit-toolbar",tabIndex:-1,onKeyDown:e=>e.stopPropagation()},x(T,{isPrimary:!0,disabled:l||i,isBusy:l,onClick:()=>d()},j("Save")),x(T,{isSecondary:!0,disabled:l||i,onClick:()=>r()},j("Cancel")))))}},641:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappIconPicker:()=>O});var o=a(939),n=a(107),i=a(577);const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useCallback:c,useRef:m,useState:d}=wp.element,{useSelect:u}=wp.data,{withState:g}=wp.compose,{Button:h,ColorPicker:f,DropZone:v,DropZoneProvider:b,FormFileUpload:y,Modal:w,Popover:k,RangeControl:C,Spinner:x,TabPanel:S}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),N=[{id:"mapp-shapes",fontFamily:"Marker Shapes",glyphs:[{name:"circle",center:[16,16]},{name:"widepin",center:[16,14]},{name:"route",center:[16,16]},{name:"shield",center:[16,16]},{name:"squarepin",center:[16,15]},{name:"square",center:[16,16]},{name:"squarerounded",center:[16,16]},{name:"roundpin",center:[16,13]},{name:"pin",center:null},{name:"pindot",center:null}]}],L=[{id:"mapp-icons",className:"mapp-marker-icons",filePrefix:"mp",fontFamily:"Marker Icons",label:"Map icons",glyphs:["airport","amusement-park","aquarium","archery","art-gallery","assistive-listening","atm","audio-description","bakery","bank","bar","baseball","beauty-salon","bicycle-store","bicycling","boat-ramp","boat-tour","boating","book-store","bowling-alley","braille","bus-station","cafe","campground","canoe","car-dealer","car-rental","car-repair","car-wash","casino","cemetery","chairlift","church","city-hall","closed-captioning","clothing-store","compass","convenience-store","courthouse","cross-country-skiing","crosshairs","dentist","department-store","diving","doctor","electrician","electronics-store","embassy","expand","female","finance","fire-station","fish-cleaning","fishing-pier","fishing","florist","food","fullscreen","funeral-home","furniture-store","gas-station","contractor","golf","grocery","gym","hair-care","hang-gliding","hardware-store","health","hindu-temple","horse-riding","hospital","ice-fishing","ice-skating","inline-skating","insurance-agency","jet-skiing","jewelry-store","kayaking","laundry","lawyer","library","liquor-store","local-government","location-arrow","locksmith","lodging","low-vision-access","male","marina","mosque","motobike-trail","movie-rental","movie-theater","moving-company","museum","natural-feature","night-club","open-captioning","painter","park","parking","pet-store","pharmacy","physiotherapist","place-of-worship","playground","plumber","point-of-interest","police","political","post-box","post-office","rafting","real-estate-agency","restaurant","roofing-contractor","route","rv-park","sailing","school","scuba-diving","search","shopping-mall","sign-language","skateboarding","ski-jumping","skiing","sledding","snow-shoeing","snow","snowboarding","snowmobile","spa","stadium","storage","store","subway-station","surfing","swimming","synagogue","taxi-stand","tennis","toilet","trail-walking","train-station","transit-station","travel-agency","unisex","university","veterinary-care","viewing","volume-control-telephone","walking","waterskiing","whale-watching","wheelchair","wind-surfing","zoo"]},{id:"material-icons",className:"material-icons",filePrefix:"mi",fontFamily:"Material Icons",label:"Material Icons",glyphs:["ac_unit","access_alarm","access_alarms","access_time","access_time_filled","accessibility","accessibility_new","accessible","accessible_forward","account_balance","account_balance_wallet","account_box","account_circle","account_tree","ad_units","adb","add","add_a_photo","add_alarm","add_alert","add_box","add_business","add_chart","add_circle","add_circle_outline","add_comment","add_ic_call","add_link","add_location","add_location_alt","add_moderator","add_photo_alternate","add_reaction","add_road","add_shopping_cart","add_task","add_to_drive","add_to_home_screen","add_to_photos","add_to_queue","addchart","adjust","admin_panel_settings","ads_click","agriculture","air","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","airplane_ticket","airplanemode_active","airplanemode_inactive","airplanemode_off","airplanemode_on","airplay","airport_shuttle","alarm","alarm_add","alarm_off","alarm_on","album","align_horizontal_center","align_horizontal_left","align_horizontal_right","align_vertical_bottom","align_vertical_center","align_vertical_top","all_inbox","all_inclusive","all_out","alt_route","alternate_email","amp_stories","analytics","anchor","android","animation","announcement","aod","apartment","api","app_blocking","app_registration","app_settings_alt","approval","apps","architecture","archive","area_chart","arrow_back","arrow_back_ios","arrow_back_ios_new","arrow_circle_down","arrow_circle_up","arrow_downward","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_forward_ios","arrow_left","arrow_right","arrow_right_alt","arrow_upward","art_track","article","aspect_ratio","assessment","assignment","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","assistant","assistant_direction","assistant_photo","atm","attach_email","attach_file","attach_money","attachment","attractions","attribution","audiotrack","auto_awesome","auto_awesome_mosaic","auto_awesome_motion","auto_delete","auto_fix_high","auto_fix_normal","auto_fix_off","auto_graph","auto_stories","autofps_select","autorenew","av_timer","baby_changing_station","back_hand","backpack","backspace","backup","backup_table","badge","bakery_dining","balcony","ballot","bar_chart","batch_prediction","bathroom","bathtub","battery_alert","battery_charging_full","battery_full","battery_saver","battery_std","battery_unknown","beach_access","bed","bedroom_baby","bedroom_child","bedroom_parent","bedtime","beenhere","bento","bike_scooter","biotech","blender","block","bloodtype","bluetooth","bluetooth_audio","bluetooth_connected","bluetooth_disabled","bluetooth_drive","bluetooth_searching","blur_circular","blur_linear","blur_off","blur_on","bolt","book","book_online","bookmark","bookmark_add","bookmark_added","bookmark_border","bookmark_outline","bookmark_remove","bookmarks","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","branding_watermark","breakfast_dining","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","brightness_auto","brightness_high","brightness_low","brightness_medium","broken_image","browser_not_supported","brunch_dining","brush","bubble_chart","bug_report","build","build_circle","bungalow","burst_mode","bus_alert","business","business_center","cabin","cable","cached","cake","calculate","calendar_today","calendar_view_day","calendar_view_month","calendar_view_week","call","call_end","call_made","call_merge","call_missed","call_missed_outgoing","call_received","call_split","call_to_action","camera","camera_alt","camera_enhance","camera_front","camera_indoor","camera_outdoor","camera_rear","camera_roll","cameraswitch","campaign","cancel","cancel_presentation","cancel_schedule_send","car_rental","car_repair","card_giftcard","card_membership","card_travel","carpenter","cases","casino","cast","cast_connected","cast_for_education","catching_pokemon","category","celebration","cell_wifi","center_focus_strong","center_focus_weak","chair","chair_alt","chalet","change_circle","change_history","charging_station","chat","chat_bubble","chat_bubble_outline","check","check_box","check_box_outline_blank","check_circle","check_circle_outline","checklist","checklist_rtl","checkroom","chevron_left","chevron_right","child_care","child_friendly","chrome_reader_mode","circle","circle_notifications","class","clean_hands","cleaning_services","clear","clear_all","close","close_fullscreen","closed_caption","closed_caption_disabled","closed_caption_off","cloud","cloud_circle","cloud_done","cloud_download","cloud_off","cloud_queue","cloud_upload","code","code_off","coffee","coffee_maker","collections","collections_bookmark","color_lens","colorize","comment","comment_bank","commute","compare","compare_arrows","compass_calibration","compost","compress","computer","confirmation_num","confirmation_number","connect_without_contact","connected_tv","construction","contact_mail","contact_page","contact_phone","contact_support","contactless","contacts","content_copy","content_cut","content_paste","content_paste_off","control_camera","control_point","control_point_duplicate","copy","copy_all","copyright","coronavirus","corporate_fare","cottage","countertops","create","create_new_folder","credit_card","credit_card_off","credit_score","crib","crop","crop_16_9","crop_3_2","crop_5_4","crop_7_5","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","cruelty_free","cut","dangerous","dark_mode","dashboard","dashboard_customize","data_exploration","data_saver_off","data_saver_on","data_usage","date_range","deck","dehaze","delete","delete_forever","delete_outline","delete_sweep","delivery_dining","departure_board","description","design_services","desktop_access_disabled","desktop_mac","desktop_windows","details","developer_board","developer_board_off","developer_mode","device_hub","device_thermostat","device_unknown","devices","devices_other","dialer_sip","dialpad","dining","dinner_dining","directions","directions_bike","directions_boat","directions_boat_filled","directions_bus","directions_bus_filled","directions_car","directions_car_filled","directions_ferry","directions_off","directions_railway","directions_railway_filled","directions_run","directions_subway","directions_subway_filled","directions_train","directions_transit","directions_transit_filled","directions_walk","dirty_lens","disabled_by_default","disabled_visible","disc_full","dnd_forwardslash","dns","do_disturb","do_disturb_alt","do_disturb_off","do_disturb_on","do_not_disturb","do_not_disturb_alt","do_not_disturb_off","do_not_disturb_on","do_not_disturb_on_total_silence","do_not_step","do_not_touch","dock","document_scanner","domain","domain_disabled","domain_verification","done","done_all","done_outline","donut_large","donut_small","door_back","door_front","door_sliding","doorbell","double_arrow","downhill_skiing","download","download_done","download_for_offline","downloading","drafts","drag_handle","drag_indicator","draw","drive_eta","drive_file_move","drive_file_move_rtl","drive_file_rename_outline","drive_folder_upload","dry","dry_cleaning","duo","dvr","dynamic_feed","dynamic_form","e_mobiledata","earbuds","earbuds_battery","east","eco","edgesensor_high","edgesensor_low","edit","edit_attributes","edit_calendar","edit_location","edit_location_alt","edit_note","edit_notifications","edit_off","edit_road","eject","elderly","electric_bike","electric_car","electric_moped","electric_rickshaw","electric_scooter","electrical_services","elevator","email","emergency","emoji_emotions","emoji_events","emoji_flags","emoji_food_beverage","emoji_nature","emoji_objects","emoji_people","emoji_symbols","emoji_transportation","engineering","enhance_photo_translate","enhanced_encryption","equalizer","error","error_outline","escalator","escalator_warning","euro","euro_symbol","ev_station","event","event_available","event_busy","event_note","event_seat","exit_to_app","expand","expand_less","expand_more","explicit","explore","explore_off","exposure","exposure_minus_1","exposure_minus_2","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","extension","extension_off","face","face_retouching_natural","face_retouching_off","face_unlock","facebook","fact_check","family_restroom","fast_forward","fast_rewind","fastfood","favorite","favorite_border","favorite_outline","featured_play_list","featured_video","feed","feedback","female","fence","festival","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","file_copy","file_download","file_download_done","file_download_off","file_present","file_upload","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_alt","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_list","filter_none","filter_tilt_shift","filter_vintage","find_in_page","find_replace","fingerprint","fire_extinguisher","fireplace","first_page","fit_screen","fitness_center","flag","flaky","flare","flash_auto","flash_off","flash_on","flashlight_off","flashlight_on","flatware","flight","flight_land","flight_takeoff","flip","flip_camera_android","flip_camera_ios","flip_to_back","flip_to_front","flourescent","flutter_dash","fmd_bad","fmd_good","folder","folder_open","folder_shared","folder_special","follow_the_signs","font_download","font_download_off","food_bank","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_indent_decrease","format_indent_increase","format_italic","format_line_spacing","format_list_bulleted","format_list_numbered","format_list_numbered_rtl","format_paint","format_quote","format_shapes","format_size","format_strikethrough","format_textdirection_l_to_r","format_textdirection_r_to_l","format_underline","format_underlined","forum","forward","forward_10","forward_30","forward_5","forward_to_inbox","foundation","free_breakfast","free_cancellation","front_hand","fullscreen","fullscreen_exit","functions","g_mobiledata","g_translate","gamepad","games","garage","gavel","generating_tokens","gesture","get_app","gif","gite","golf_course","gpp_bad","gpp_good","gpp_maybe","gps_fixed","gps_not_fixed","gps_off","grade","gradient","grading","grain","graphic_eq","grass","grid_3x3","grid_4x4","grid_goldenratio","grid_off","grid_on","grid_view","group","group_add","group_off","group_work","groups","h_mobiledata","h_plus_mobiledata","hail","handyman","hardware","hd","hdr_auto","hdr_auto_select","hdr_enhanced_select","hdr_off","hdr_off_select","hdr_on","hdr_on_select","hdr_plus","hdr_strong","hdr_weak","headphones","headphones_battery","headset","headset_mic","headset_off","healing","health_and_safety","hearing","hearing_disabled","height","help","help_center","help_outline","hevc","hide_image","hide_source","high_quality","highlight","highlight_alt","highlight_off","highlight_remove","hiking","history","history_edu","history_toggle_off","holiday_village","home","home_max","home_mini","home_repair_service","home_work","horizontal_distribute","horizontal_rule","horizontal_split","hot_tub","hotel","hotel_class","hourglass_bottom","hourglass_disabled","hourglass_empty","hourglass_full","hourglass_top","house","house_siding","houseboat","how_to_reg","how_to_vote","http","https","hvac","ice_skating","icecream","image","image_aspect_ratio","image_not_supported","image_search","imagesearch_roller","import_contacts","import_export","important_devices","inbox","incomplete_circle","indeterminate_check_box","info","input","insert_chart","insert_chart_outlined","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_photo","insights","integration_instructions","inventory","inventory_2","invert_colors","invert_colors_off","invert_colors_on","ios_share","iron","iso","kayaking","keyboard","keyboard_alt","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_control","keyboard_hide","keyboard_return","keyboard_tab","keyboard_voice","king_bed","kitchen","kitesurfing","label","label_important","label_off","landscape","language","laptop","laptop_chromebook","laptop_mac","laptop_windows","last_page","launch","layers","layers_clear","leaderboard","leak_add","leak_remove","leave_bags_at_home","legend_toggle","lens","lens_blur","library_add","library_add_check","library_books","library_music","light","light_mode","lightbulb","line_style","line_weight","linear_scale","link","link_off","linked_camera","liquor","list","list_alt","live_help","live_tv","living","local_activity","local_airport","local_atm","local_attraction","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_fire_department","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_police","local_post_office","local_print_shop","local_printshop","local_restaurant","local_see","local_shipping","local_taxi","location_city","location_disabled","location_history","location_off","location_on","location_searching","lock","lock_clock","lock_open","login","logout","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loop","loupe","low_priority","loyalty","lte_mobiledata","lte_plus_mobiledata","luggage","lunch_dining","mail","mail_outline","male","manage_accounts","manage_search","map","maps_home_work","maps_ugc","margin","mark_as_unread","mark_chat_read","mark_chat_unread","mark_email_read","mark_email_unread","markunread","markunread_mailbox","masks","maximize","media_bluetooth_off","media_bluetooth_on","mediation","medical_services","medication","meeting_room","memory","menu","menu_book","menu_open","merge_type","message","messenger","messenger_outline","mic","mic_external_off","mic_external_on","mic_none","mic_off","microwave","military_tech","minimize","miscellaneous_services","missed_video_call","mms","mobile_friendly","mobile_off","mobile_screen_share","mobiledata_off","mode","mode_comment","mode_edit","mode_edit_outline","mode_night","mode_standby","model_training","monetization_on","money","money_off","money_off_csred","monitor","monitor_weight","monochrome_photos","mood","mood_bad","moped","more","more_horiz","more_time","more_vert","motion_photos_auto","motion_photos_off","motion_photos_on","motion_photos_pause","motion_photos_paused","motorcycle","mouse","move_to_inbox","movie","movie_creation","movie_filter","moving","mp","multiline_chart","multiple_stop","multitrack_audio","museum","music_note","music_off","music_video","my_library_add","my_library_books","my_library_music","my_location","nat","nature","nature_people","navigate_before","navigate_next","navigation","near_me","near_me_disabled","nearby_error","nearby_off","network_cell","network_check","network_locked","network_wifi","new_label","new_releases","next_plan","next_week","nfc","night_shelter","nightlife","nightlight","nightlight_round","nights_stay","no_accounts","no_backpack","no_cell","no_drinks","no_encryption","no_encryption_gmailerrorred","no_flash","no_food","no_luggage","no_meals","no_meeting_room","no_photography","no_sim","no_stroller","no_transfer","nordic_walking","north","north_east","north_west","not_accessible","not_interested","not_listed_location","not_started","note","note_add","note_alt","notes","notification_add","notification_important","notifications","notifications_active","notifications_none","notifications_off","notifications_on","notifications_paused","now_wallpaper","now_widgets","offline_bolt","offline_pin","offline_share","ondemand_video","online_prediction","opacity","open_in_browser","open_in_full","open_in_new","open_in_new_off","open_with","other_houses","outbond","outbound","outbox","outdoor_grill","outlet","outlined_flag","padding","pages","pageview","paid","palette","pan_tool","panorama","panorama_fish_eye","panorama_fisheye","panorama_horizontal","panorama_horizontal_select","panorama_photosphere","panorama_photosphere_select","panorama_vertical","panorama_vertical_select","panorama_wide_angle","panorama_wide_angle_select","paragliding","park","party_mode","password","paste","pattern","pause","pause_circle","pause_circle_filled","pause_circle_outline","pause_presentation","payment","payments","pedal_bike","pending","pending_actions","people","people_alt","people_outline","perm_camera_mic","perm_contact_cal","perm_contact_calendar","perm_data_setting","perm_device_info","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","person","person_add","person_add_alt","person_add_alt_1","person_add_disabled","person_off","person_outline","person_pin","person_pin_circle","person_remove","person_remove_alt_1","person_search","personal_injury","personal_video","pest_control","pest_control_rodent","pets","phone","phone_android","phone_bluetooth_speaker","phone_callback","phone_disabled","phone_enabled","phone_forwarded","phone_in_talk","phone_iphone","phone_locked","phone_missed","phone_paused","phonelink","phonelink_erase","phonelink_lock","phonelink_off","phonelink_ring","phonelink_setup","photo","photo_album","photo_camera","photo_camera_back","photo_camera_front","photo_filter","photo_library","photo_size_select_actual","photo_size_select_large","photo_size_select_small","piano","piano_off","picture_as_pdf","picture_in_picture","picture_in_picture_alt","pie_chart","pie_chart_outline","pin","pin_drop","pin_end","pin_invoke","pivot_table_chart","place","plagiarism","play_arrow","play_circle","play_circle_fill","play_circle_filled","play_circle_outline","play_disabled","play_for_work","play_lesson","playlist_add","playlist_add_check","playlist_play","plumbing","plus_one","podcasts","point_of_sale","policy","poll","polymer","pool","portable_wifi_off","portrait","post_add","power","power_input","power_off","power_settings_new","precision_manufacturing","pregnant_woman","present_to_all","preview","price_change","price_check","print","print_disabled","priority_high","privacy_tip","private_connectivity","production_quantity_limits","psychology","public","public_off","publish","published_with_changes","push_pin","qr_code","qr_code_2","qr_code_scanner","query_builder","query_stats","question_answer","queue","queue_music","queue_play_next","quick_contacts_dialer","quick_contacts_mail","quickreply","quiz","r_mobiledata","radar","radio","radio_button_checked","radio_button_off","radio_button_on","radio_button_unchecked","railway_alert","ramen_dining","rate_review","raw_off","raw_on","read_more","real_estate_agent","receipt","receipt_long","recent_actors","recommend","record_voice_over","recycling","redeem","redo","reduce_capacity","refresh","remember_me","remove","remove_circle","remove_circle_outline","remove_done","remove_from_queue","remove_moderator","remove_red_eye","remove_shopping_cart","reorder","repeat","repeat_on","repeat_one","repeat_one_on","replay","replay_10","replay_30","replay_5","replay_circle_filled","reply","reply_all","report","report_gmailerrorred","report_off","report_problem","request_page","request_quote","reset_tv","restart_alt","restaurant","restaurant_menu","restore","restore_from_trash","restore_page","reviews","rice_bowl","ring_volume","roofing","room","room_preferences","room_service","rotate_90_degrees_ccw","rotate_left","rotate_right","rounded_corner","router","rowing","rss_feed","rsvp","rtt","rule","rule_folder","run_circle","running_with_errors","rv_hookup","safety_divider","sailing","sanitizer","satellite","save","save_alt","saved_search","savings","scanner","scatter_plot","schedule","schedule_send","schema","school","science","score","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_rotation","screen_search_desktop","screen_share","screenshot","sd","sd_card","sd_card_alert","sd_storage","search","search_off","security","security_update","security_update_good","security_update_warning","segment","select_all","self_improvement","sell","send","send_and_archive","send_to_mobile","sensor_door","sensor_window","sensors","sensors_off","sentiment_dissatisfied","sentiment_neutral","sentiment_satisfied","sentiment_satisfied_alt","sentiment_very_dissatisfied","sentiment_very_satisfied","set_meal","settings","settings_accessibility","settings_applications","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_display","settings_ethernet","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_overscan","settings_phone","settings_power","settings_remote","settings_suggest","settings_system_daydream","settings_voice","share","share_arrival_time","share_location","shield","shop","shop_2","shop_two","shopping_bag","shopping_basket","shopping_cart","short_text","shortcut","show_chart","shower","shuffle","shuffle_on","shutter_speed","sick","signal_cellular_0_bar","signal_cellular_4_bar","signal_cellular_alt","signal_cellular_connected_no_internet_0_bar","signal_cellular_connected_no_internet_4_bar","signal_cellular_no_sim","signal_cellular_nodata","signal_cellular_null","signal_cellular_off","signal_wifi_0_bar","signal_wifi_4_bar","signal_wifi_4_bar_lock","signal_wifi_bad","signal_wifi_connected_no_internet_4","signal_wifi_off","signal_wifi_statusbar_4_bar","signal_wifi_statusbar_connected_no_internet_4","signal_wifi_statusbar_null","sim_card","sim_card_alert","sim_card_download","single_bed","sip","skateboarding","skip_next","skip_previous","sledding","slideshow","slow_motion_video","smart_button","smart_display","smart_screen","smart_toy","smartphone","smoke_free","smoking_rooms","sms","sms_failed","snippet_folder","snooze","snowboarding","snowmobile","snowshoeing","soap","social_distance","sort","sort_by_alpha","source","south","south_east","south_west","spa","space_bar","space_dashboard","speaker","speaker_group","speaker_notes","speaker_notes_off","speaker_phone","speed","spellcheck","splitscreen","sports","sports_bar","sports_baseball","sports_basketball","sports_cricket","sports_esports","sports_football","sports_golf","sports_handball","sports_hockey","sports_kabaddi","sports_mma","sports_motorsports","sports_rugby","sports_score","sports_soccer","sports_tennis","sports_volleyball","square_foot","stacked_bar_chart","stacked_line_chart","stairs","star","star_border","star_border_purple500","star_half","star_outline","star_purple500","star_rate","stars","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","sticky_note_2","stop","stop_circle","stop_screen_share","storage","store","store_mall_directory","storefront","storm","straighten","stream","streetview","strikethrough_s","stroller","style","subdirectory_arrow_left","subdirectory_arrow_right","subject","subscript","subscriptions","subtitles","subtitles_off","subway","summarize","superscript","supervised_user_circle","supervisor_account","support","support_agent","surfing","surround_sound","swap_calls","swap_horiz","swap_horizontal_circle","swap_vert","swap_vert_circle","swap_vertical_circle","swipe","switch_account","switch_camera","switch_left","switch_right","switch_video","sync","sync_alt","sync_disabled","sync_problem","system_security_update","system_security_update_good","system_security_update_warning","system_update","system_update_alt","system_update_tv","tab","tab_unselected","table_chart","table_rows","table_view","tablet","tablet_android","tablet_mac","tag","tag_faces","takeout_dining","tap_and_play","tapas","task","task_alt","taxi_alert","terrain","text_fields","text_format","text_rotate_up","text_rotate_vertical","text_rotation_angledown","text_rotation_angleup","text_rotation_down","text_rotation_none","text_snippet","textsms","texture","theater_comedy","theaters","thermostat","thermostat_auto","thumb_down","thumb_down_alt","thumb_down_off_alt","thumb_up","thumb_up_alt","thumb_up_off_alt","thumbs_up_down","time_to_leave","timelapse","timeline","timer","timer_10","timer_10_select","timer_3","timer_3_select","timer_off","tips_and_updates","title","toc","today","toggle_off","toggle_on","toll","tonality","topic","touch_app","tour","toys","track_changes","traffic","train","tram","transfer_within_a_station","transform","transgender","transit_enterexit","translate","travel_explore","trending_down","trending_flat","trending_neutral","trending_up","trip_origin","try","tty","tune","tungsten","turned_in","turned_in_not","tv","tv_off","two_wheeler","umbrella","unarchive","undo","unfold_less","unfold_more","unpublished","unsubscribe","upcoming","update","update_disabled","upgrade","upload","upload_file","usb","usb_off","verified","verified_user","vertical_align_bottom","vertical_align_center","vertical_align_top","vertical_distribute","vertical_split","vibration","video_call","video_camera_back","video_camera_front","video_collection","video_label","video_library","video_settings","video_stable","videocam","videocam_off","videogame_asset","videogame_asset_off","view_agenda","view_array","view_carousel","view_column","view_comfortable","view_comfy","view_compact","view_day","view_headline","view_in_ar","view_list","view_module","view_quilt","view_sidebar","view_stream","view_week","vignette","villa","visibility","visibility_off","voice_chat","voice_over_off","voicemail","volume_down","volume_mute","volume_off","volume_up","volunteer_activism","vpn_key","vpn_lock","vrpano","wallet_giftcard","wallet_membership","wallet_travel","wallpaper","warning","warning_amber","wash","watch","watch_later","water","water_damage","water_drop","waterfall_chart","waves","waving_hand","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_shade","wb_sunny","wb_twilight","wc","web","web_asset","web_asset_off","weekend","west","whatshot","wheelchair_pickup","where_to_vote","widgets","wifi","wifi_calling","wifi_calling_3","wifi_lock","wifi_off","wifi_protected_setup","wifi_tethering","wifi_tethering_error_rounded","wifi_tethering_off","window","wine_bar","work","work_off","work_outline","workspaces","wrap_text","wrong_location","wysiwyg","yard","youtube_searched_for","zoom_in","zoom_out","zoom_out_map"]}];function O(e){const[t,a]=d({defaultIcon:mappl10n.options.defaultIcon,filename:null,filter:"",glyph:"",glyphColor:"white",glyphFont:L[0],glyphSize:20,isOpen:!1,mode:"list",shape:"circle",shapeColor:"gray",shapeFont:N[0],toDelete:[],userIcons:mappl10n.options.userIcons});function p(e){a((t=>({...t,...e})))}function c(a,n){switch(a){case"bulk-select":let a=[...t.toDelete],i=t.toDelete.indexOf(n.iconid);i>=0?a.splice(i,1):a.push(n.iconid),p({toDelete:a});break;case"close":p({isOpen:!1});break;case"delete":confirm(mappl10n.delete_prompt)&&o.mappLib.ajax({method:"POST",data:{action:"mapp_icon_delete",iconids:t.toDelete,nonce:mappl10n.options.nonce},callback:function(a){a&&"OK"==a.status?(t.toDelete.indexOf(e.iconid)>=0&&!function(e){if(!e)return!1;let t=e.replace(/.png|.gif|.jpg/gi,"").toLowerCase();return mappl10n.options.standardIcons.indexOf(t)>=0}(e.iconid)&&e.onChange(null),mappl10n.options.userIcons=a.data,p({toDelete:[],mode:"list",userIcons:mappl10n.options.userIcons})):alert("Delete error: "+a.status)}});break;case"edit-cancel":p({mode:"list"});break;case"edit-save":!function(e){const a=32,o=2;let n=document.createElement("canvas");n.width=a*o,n.height=a*o,n.style.imageRendering="pixelated";let i=n.getContext("2d");i.font=a*o+"px "+t.shapeFont.fontFamily,i.fillStyle=t.shapeColor,i.textBaseline="bottom",i.fillText(t.shape,0,a*o),i.strokeStyle="white",i.strokeText(t.shape,1,a*o);const l=_.findWhere(t.shapeFont.glyphs,{name:t.shape});if(t.glyph&&l.center){i.imageSmoothingEnabled=!1,i.font=t.glyphSize*o+"px "+t.glyphFont.fontFamily,i.fillStyle=t.glyphColor;const e=[l.center[0]*o,l.center[1]*o];i.fillText(t.glyph,e[0]-t.glyphSize,e[1]+t.glyphSize)}"undefined"!=typeof debug?document.getElementById("mapp-edit-debug").append(n):n.toBlob((e=>{let a=new FormData;a.append("image0",e,t.filename),u(a)}),"image/png",100)}();break;case"edit-upload":!function(e){let t=new FormData;_.map(e,((e,a)=>{e.type.match("image.*")?t.append("image"+a,e):alert("File "+e.name+" is not an image.")})),u(t)}(n);break;case"list-select":e.onChange&&e.onChange(n),c("close");break;case"mode":p("bulk"==n?{mode:n,toDelete:[]}:{mode:n});break;case"open":p({isOpen:!0})}}function m(a){const n="user"==a?mappl10n.options.userIcons:mappl10n.options.standardIcons;return _.map(n,(n=>{if("standard"==a&&function(e){return mappl10n.options.userIcons.indexOf(e)>=0}(n+".png"))return"";let i="mapp-icon-wrapper";return"bulk"==t.mode&&t.toDelete.indexOf(n)>=0?i+=" mapp-bulk-selected":"list"!=t.mode||e.iconid!=n&&e.iconid+".png"!=n||(i+=" mapp-selected"),l("div",{alt:n,className:i,key:n,onClick:()=>{"list"==t.mode?c("list-select",n):"user"==a&&c("bulk-select",{iconid:n,type:a})}},l("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(n),title:n}))}))}function u(t){t.append("action","mapp_icon_save"),t.append("nonce",mappl10n.options.nonce),o.mappLib.ajax({method:"POST",data:t,callback:t=>{t&&"OK"==t.status?(mappl10n.options.userIcons=t.data.icons,p({userIcons:mappl10n.options.userIcons}),p({mode:"list"}),e.onChange&&e.onChange(t.data.filename)):alert("Upload error: "+t.status)}})}return r((()=>{let e=t.glyph?t.glyph:t.shape;e+=".png",p({filename:e})}),[t.shape,t.shapeColor,t.glyphFont,t.glyph,t.glyphColor,t.glyphSize]),l(s,null,l("img",{className:"mapp-icon",onClick:()=>c("open",null),src:o.mappLib.getIconUrl(e.iconid)}),"list"==t.mode&&t.isOpen&&l(w,{title:l("div",{className:"mapp-icons-title"},__("Select icon"),l(h,{disabled:"bulk"==t.mode,isPrimary:!0,onClick:()=>c("mode","edit")},__("New icon"))),className:"mapp-icons-modal",onRequestClose:()=>c("close")},l("div",{className:"mapp-icons"},l("div",{className:"mapp-icons-list"},mappl10n.options.userIcons.length>0&&l("div",{className:"mapp-icons-list-title"},__("Custom icons")),l("div",{className:"mapp-icons-user"},m("user")),mappl10n.options.userIcons.length>0&&l("div",{className:"mapp-icons-list-title"},__("Standard icons")),l("div",{className:"mapp-icons-standard"},m("standard"))),l("div",{className:"mapp-icons-toolbar"},l("div",null,l(h,{disabled:"bulk"==t.mode,isSecondary:!0,onClick:()=>c("list-select",null)},__("Use default icon")),mappl10n.options.userIcons.length>0&&l(h,{isTertiary:!0,onClick:()=>c("mode","bulk")},__("Edit list"))),l("div",{className:"mapp-icons-filename"},e.iconid?e.iconid:__("No icon selected"))))),"bulk"==t.mode&&t.isOpen&&l(w,{title:l("div",{className:"mapp-icons-title"},__("Select icons to delete")),className:"mapp-icons-modal",onRequestClose:()=>c("close")},l("div",{className:"mapp-icons"},l("div",{className:"mapp-icons-list"},l("div",{className:"mapp-icons-user"},m("user"))),l("div",{className:"mapp-icons-toolbar"},l("div",null,l(h,{isDestructive:!0,disabled:t.toDelete.length<1,onClick:()=>c("delete")},__("Delete")),l(h,{isSecondary:!0,onClick:()=>c("mode","list")},__("Cancel")))))),"edit"==t.mode&&l(w,{title:__("Create new icon"),className:"mapp-icons-edit-modal",onRequestClose:()=>c("edit-cancel"),shouldCloseOnClickOutside:!1},l("div",{className:"mapp-icons-edit"},l("div",{id:"mapp-edit-debug"}),l("section",null,l("h2",null,__("Shape")),l("span",{className:"mapp-icons-edit-shapes",style:{color:t.shapeColor,fontFamily:t.shapeFont.fontFamily}},_.map(t.shapeFont.glyphs,((e,a)=>{const o=t.shape==e.name;return l("span",{className:"mapp-icons-edit-shape-wrapper"+(o?" mapp-selected":""),key:e.name,onClick:()=>p({shape:e.name}),title:e.name},l("span",{className:"mapp-icons-edit-shape"},e.name,e.center&&t.glyph&&l("div",{className:"mapp-icons-edit-shape-glyph "+t.glyphFont.className,style:{left:e.center[0],top:e.center[1],color:t.glyphColor,fontSize:t.glyphSize,width:t.glyphSize}},t.glyph)))})))),l("section",{className:"mapp-icons-edit-font"},l("h2",null,__("Font")),l(i.Select,{value:t.glyphFont.id,options:_.map(L,(e=>({value:e.id,label:e.label}))),onChange:e=>p({glyphFont:_.findWhere(L,{id:e}),glyph:null})}),l("span",null,__("Font size")),l(C,{initialPosition:20,min:16,max:24,value:t.glyphSize,onChange:e=>p({glyphSize:e})})),l("section",null,l("h2",null,__("Color")),l("span",{className:"mapp-icons-edit-colors"},l(n.MappColorPicker,{color:t.shapeColor,isExtended:!1,onChange:e=>p({shapeColor:e.color})}),l("span",null,__("Fill")),l(n.MappColorPicker,{color:t.glyphColor,isExtended:!1,onChange:e=>p({glyphColor:e.color})}),l("span",null,__("Stroke")))),function(){const e=_.filter(t.glyphFont.glyphs,(e=>!t.filter||e.includes(t.filter)));return l("div",{className:"mapp-icons-edit-glyphs"},l("section",{className:"mapp-icons-edit-search"},l("h2",null,__("Search")),l(i.Input,{value:t.filter,onChange:e=>p({filter:e})})),l("div",{className:"mapp-icons-edit-glyph-list",style:{color:t.glyphColor}},_.map(e,((e,a)=>l("div",{tabIndex:0,className:"mapp-icons-edit-glyph-wrapper"+(t.glyph==e?" mapp-selected":""),key:a,onClick:()=>p({glyph:t.glyph==e?null:e})},l("span",{className:"mapp-icons-edit-glyph "+t.glyphFont.className},e),l("div",{className:"mapp-icons-edit-glyph-title"},e.replaceAll("_"," ")))))))}(),l("div",{className:"mapp-icons-edit-toolbar"},l("div",{className:"mapp-icons-edit-toolbar-left"},l(h,{isPrimary:!0,onClick:()=>c("edit-save")},__("Save")),l(h,{isSecondary:!0,onClick:()=>c("edit-cancel")},__("Cancel")),l(i.Input,{className:"mapp-icons-filename",value:t.filename,onChange:e=>p({filename:e})})),l("div",null,l(y,{accept:"image/*",icon:"upload",multiple:!0,onChange:e=>{c("edit-upload",e.target.files)}},__("Upload icons")))))))}},897:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappImport:()=>y});a(939);var o=a(346),n=a(577);const i=wp.element.createElement,{apiFetch:l}=wp,{Fragment:s,useEffect:r,useLayoutEffect:p,useCallback:c,useRef:m,useState:d}=wp.element,{useSelect:u}=wp.data,{withState:g}=wp.compose,{Button:h,FormFileUpload:f,Modal:v,ToggleControl:b}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function y(e){const[t,a]=d({isBusy:!1,file:null,isMapModalOpen:!1,mapid:null,overwrite:!1,response:null,tab:"sheet",url:""});m(null);function r(e){a((t=>({...t,...e})))}const{isResolving:p,mapdata:c}=u((e=>t.mapid?{isResolving:!e("mappStore").hasFinishedResolution("getMap",[t.mapid]),mapdata:e("mappStore").getMap(t.mapid)}:{isResolving:!1,mapdata:null}),[t.mapid]);const g=t.isBusy||"file"==t.tab&&!t.file||"sheet"==t.tab&&0==t.url.trim().length;return i("div",{className:"mapp-import"},i("form",{onSubmit:e=>{e.preventDefault(),async function(){r({isBusy:!0,response:null});let e={method:"POST",path:"/mapp/v1/maps/import"};if("sheet"==t.tab)e.data={url:t.url,overwrite:t.overwrite};else if("file"==t.tab){let a=new FormData;a.append("overwrite",t.overwrite),a.append("file",t.file),e.body=a}const a=await l(e).catch((e=>{alert(e.message)}));r({isBusy:!1}),a&&r({response:a})}()}},i(s,null,i("h2",null,__("Source")),i(n.MappTabs,{tabs:[{name:"sheet",label:__("Google Sheets")},{name:"file",label:__("File")}],initialTab:t.tab,onRender:e=>"sheet"==e?function(){const e=i("div",{className:"mapp-import-help"},__("Google sheets must be shared before importing:"),i("ol",null,i("li",null,__("File -> Share -> Publish to web")),i("li",null,__("Select 'Entire Document' and 'Comma-Separated Values (.csv)")),i("li",null,__("Copy the URL and paste it here"))));return i("div",{className:"mapp-import-tab-sheet"},i("label",{className:"mapp-import-sheet-name"},i("span",null,"URL"),i("input",{onChange:e=>{r({url:e.target.value})},type:"text",value:t.url})),e)}():"file"==e?function(){const e=i("div",{className:"mapp-import-help"},__("File must be in CSV format:"),i("ol",null,i("li",null,__("Excel: File -> Save As -> 'CSV' or 'CSV UTF-8' (for special characters)'")),i("li",null,__("Google sheets: File -> Download -> Comma Separated Values (.csv)"))));return i("div",{className:"mapp-import-tab-file"},i("div",{className:"mapp-import-file-name"},i(f,{accept:"text/csv",isSecondary:!0,multiple:!1,onChange:e=>{r({file:e.target.files[0]})}},__("Select file")),i("input",{disabled:!0,type:"text",value:t.file?t.file.name:""})),e)}():void 0,onSelect:e=>r({tab:e})})),i(b,{checked:t.overwrite,label:__("Use map IDs from file"),onChange:e=>r({overwrite:e})}),t.overwrite&&i("div",{className:"mapp-import-overwrite-warning"},__("WARNING: this will overwrite any existing maps with the same IDs")),i(h,{disabled:g,isBusy:t.isBusy,isPrimary:!0,type:"submit"},__("Import"))),function(){if(t.response&&t.response.results)return i("div",{className:"mapp-import-log"},i("h2",null,__("Results")),_.map(t.response.results,((e,a)=>i("div",{key:a},function(e){let a=t.response.headers;return i("div",{className:"mapp-import-table"},i("div",{className:"mapp-import-table-header"},i("div",{key:"line",className:"mapp-import-cell"},__("Line")),_.map(a,((e,t)=>i("div",{key:t,className:"mapp-import-cell"},e))),i("div",{key:"msg",className:"mapp-import-cell"},__("Result"))),_.map(e.logs,((e,t)=>{let o="mapp-import-cell";return e.msg&&(o+="e"==e.msg.msgtype?" mapp-import-cell-error":" mapp-import-cell-info"),i("div",{className:"mapp-import-row",key:t},i("div",{key:"col_rowid",className:"mapp-import-cell"},e.rowid),_.map(a,((t,a)=>i("div",{key:a,className:"mapp-import-cell"},e[t]?e[t]:" "))),i("div",{key:"error",className:o},e.msg.msg))})))}(e),function(e){return _.map(e.msgs,((e,a)=>{const o="e"==e.msgtype?"mapp-import-error":"mapp-import-info";return i("div",{className:o,key:a},e.msg,e.mapid&&i(h,{onClick:()=>{r({mapid:e.mapid,isMapModalOpen:!0})},disabled:p||t.isMapModalOpen,isBusy:p&&t.mapid==e.mapid,isSecondary:!0},__("Show map")))}))}(e)))))}(),t.isMapModalOpen&&!p&&i(v,{title:__("Map")+" "+t.mapid,onRequestClose:()=>r({isMapModalOpen:!1})},i("div",{className:"mapp-import-map"},c&&!p&&i(o.MappMap,{...c,height:"50vh",mapOpts:{mapTypeControl:!1,streetViewControl:!1},poiList:!0,search:!1,width:"50vw"}))))}document.getElementById("mapp-import-container")&&wp.element.render(i(y,null),document.getElementById("mapp-import-container"))},218:(e,t,a)=>{"use strict";a.r(t);var o=a(346),n=a(185),i=a(885);window.mapp=window.mapp||{};const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:m}=wp.element,{dispatch:d,select:u,useSelect:g}=wp.data,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function h(e){const{Button:t,Placeholder:a,Toolbar:p,ToolbarButton:c,ToolbarGroup:d}=wp.components,{BlockControls:u,InspectorControls:h}=wp.blockEditor,[_,f]=m({isFetching:null,isPickerOpen:!1,pickerMode:"list",viewport:null});function v(e){f((t=>({...t,...e})))}const{isResolving:b,mapdata:y}=g((t=>e.attributes.mapid?{isResolving:!t("mappStore").hasFinishedResolution("getMap",[e.attributes.mapid]),mapdata:t("mappStore").getMap(e.attributes.mapid)}:{isResolving:!1,mapdata:null}),[e.attributes.mapid]);function w(){v({isPickerOpen:!0,pickerMode:"list"})}return r((()=>{"wide"!=e.attributes.align&&"full"!=e.attributes.align||e.setAttributes({width:"100%"})}),[e.attributes.align]),e.attributes.preview?l("img",{className:"mapp-gt-preview",src:mappl10n.options.baseurl+"/images/preview.png",width:"100%"}):b?null:l(s,null,l(u,null,l(void 0!==d?d:p,null,e.attributes.mapid&&l(c,{icon:"edit",label:__("Edit map"),onClick:()=>{v({isPickerOpen:!0,pickerMode:"edit"})}}),l(c,{icon:"portfolio",label:__("Map Library"),onClick:()=>w()}))),e.attributes.mapid&&y?l(s,null,function(){const{align:t,center:a,height:o,mapid:n,poiList:s,search:r,width:p,zoom:c}=e.attributes;return l(h,null,l("div",{className:"mapp-gt-inspector"},l(i.MappSettings,{center:a,context:"map",height:o,mapid:n,onChange:t=>{return a=t,void e.setAttributes(a);var a},poiList:s,search:r,title:y?y.title:null,viewport:_.viewport,width:p,zoom:c})))}(),function(){if(e.attributes.mapid&&y)return l(o.MappMap,{...y,alignment:e.attributes.align,center:e.attributes.center,height:e.attributes.height,key:e.attributes.mapid,mapOpts:{mapTypeControl:!1,streetViewControl:!1},onViewportChange:e=>function(e){v({viewport:e})}(e),poiList:e.attributes.poiList,search:e.attributes.search,width:e.attributes.width,zoom:e.attributes.zoom})}()):function(){let o=__("Use the map library to create a new map or insert an existing map.");return e.attributes.mapid&&(o=sprintf(__("Map %d could not be found. Please select a different map."),e.attributes.mapid)),l(s,null,l(a,{className:"mapp-gt-placeholder",icon:"location",label:__("MapPress Map"),instructions:o},l(t,{icon:"portfolio",isSecondary:!0,onClick:()=>w()},__("Map Library"))))}(),function(){if(_.isPickerOpen)return l(n.MappPicker,{mapid:e.attributes.mapid,mode:_.pickerMode,onClose:()=>(null==e.attributes.center&&(e.setAttributes({center:1}),e.setAttributes({center:null})),void v({isPickerOpen:!1})),onInsert:t=>function(t){t!=e.attributes.mapid&&e.setAttributes({center:void 0,mapid:t,zoom:void 0}),v({isPickerOpen:!1})}(t),onTrash:()=>{e.setAttributes({mapid:void 0,center:void 0,zoom:void 0,width:void 0,height:void 0})},type:"post"})}())}"post"==mappl10n.options.otype&&mappl10n.options.oid&&wp.blocks.registerBlockType("mappress/map",{title:__("MapPress Map"),icon:"location",description:__("Insert a map"),category:mappl10n.options.blockCategory,attributes:{center:{type:"string"},height:{type:"string",default:""},initialOpenDirections:{type:"boolean"},mapid:{type:"string"},mapOpts:{type:"object"},poiList:{type:"boolean"},preview:{type:"boolean",default:!1},search:{type:"boolean"},width:{type:"string",default:""},zoom:{type:"number"}},supports:{align:["full","wide","center","left","right"]},transforms:{from:[{type:"shortcode",tag:"mappress",attributes:{center:{type:"string",shortcode:e=>e.named.center},height:{type:"string",shortcode:e=>e.named.height},initialOpenDirections:{type:"boolean",shortcode:e=>"true"==e.named.initialOpenDirections||"true"==e.named.initialopendirections||void 0},mapid:{type:"string",shortcode:e=>e.named.mapid},poiList:{type:"boolean",shortcode:e=>"true"==e.named.poiList||"true"==e.named.poilist||void 0},search:{type:"boolean",shortcode:e=>"true"==e.named.search||"true"==e.named.search||void 0},width:{type:"string",shortcode:e=>e.named.width},zoom:{type:"number",shortcode:e=>parseInt(e.named.zoom)?parseInt(e.named.zoom):null}}},{type:"block",blocks:["core/shortcode"],isMatch:e=>{let{text:t}=e;var a=wp.shortcode.regexp("mappress");return a.lastIndex=0,a.test(t)},transform:e=>{let{text:t}=e;return wp.blocks.rawHandler({HTML:"<p>"+t+"</p>",mode:"BLOCKS"})}}]},edit:function(e){return l(h,e)},save:function(e){return e},example:{attributes:{preview:!0}}})},265:(e,t,a)=>{"use strict";a.r(t);a(346),a(74),a(885),a(308);wp.element.createElement;const{Fragment:o,useEffect:n,useLayoutEffect:i,useRef:l,useState:s}=wp.element,{BaseControl:r,Button:p,ButtonGroup:c,Card:m,CardBody:d,CardFooter:u,CardHeader:g,CheckboxControl:h,ExternalLink:_,HorizontalRule:f,Panel:v,PanelBody:b,PanelRow:y,Placeholder:w,RadioControl:k,SelectControl:C,TabPanel:x,TextControl:S,TextareaControl:N,ToggleControl:L,Toolbar:O}=wp.components,{useSelect:M}=wp.data},74:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappMultiSelect:()=>v});const o=wp.element.createElement,{Fragment:n,useEffect:i,useLayoutEffect:l,useRef:s,useState:r}=wp.element,{BaseControl:p,Button:c,CheckboxControl:m,Panel:d,PanelBody:u,PanelRow:g,Spinner:h,TextControl:f}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function v(e){const t=s(null),a=s(null),[n,l]=r({isOpen:!1,filter:"",filteredOptions:[]});function c(e){l((t=>({...t,...e})))}function d(t){let a=_.findWhere(e.options,{value:t});return a?a.label:t}function u(){let t;return e.values instanceof Array?t=[...e.values]:e.values&&(t=[e.values]),t||[]}function g(t,a){let o=u(),n=o.indexOf(t);(a=void 0!==a?a:-1==n)?o.push(t):o.splice(n,1),e.onChange(o)}function h(){return n.isOpen?o("div",{className:"mapp-select-dropdown-wrapper"},o("div",{className:"mapp-select-dropdown"},!n.isOpen||!e.options||e.options.length<10?null:o("div",{className:"mapp-select-filter",ref:a},o(f,{autoComplete:"off",placeholder:__("Search"),value:n.filter,onChange:e=>c({filter:e})})),o("div",{className:"mapp-select-dropdown-list"},function(){const e=u();if(0==n.filteredOptions.length)return o("div",{className:"mapp-select-dropdown-item"},__("No results"));return n.filteredOptions.map((t=>o(m,{className:"mapp-select-dropdown-item",checked:e.includes(t.value),key:t.value,onChange:e=>g(t.value,e),label:t.label})))}()))):null}return i((()=>{if(e.options)if(n.filter){let t=n.filter.toUpperCase();c({filteredOptions:e.options.filter((e=>0==e.label.toUpperCase().indexOf(t)))})}else c({filteredOptions:e.options})}),[e.options,n.filter]),i((()=>{n.isOpen&&a.current&&(a.current.focus(),c({filter:""}))}),[n.isOpen]),o(p,{className:"mapp-select",label:e.label},o("div",{ref:t,tabIndex:0,onBlur:e=>function(e){event.relatedTarget||document.activeElement,t.current.contains(e.relatedTarget)||c({isOpen:!1})}(e)},function(){const t=u();return t instanceof Array&&t.map((e=>d(e))),void 0===e.options?o("div",{className:"mapp-select-input"},o("div",{className:"mapp-select-tokens"}),o("span",{className:"dashicons dashicons-arrow-down-alt2"})):o("div",{className:"mapp-select-input",onClick:()=>c({isOpen:!n.isOpen})},o("div",{className:"mapp-select-tokens"},t.map((e=>o("span",{className:"mapp-select-token",key:e,onClick:t=>{t.stopPropagation(),g(e,!1)}},d(e))))),o("span",{className:"dashicons "+(n.isOpen?"dashicons-arrow-up-alt2":"dashicons-arrow-down-alt2")}))}(),h()))}},577:(e,t,a)=>{"use strict";a.r(t),a.d(t,{Control:()=>f,Help:()=>v,Checkbox:()=>b,Checkboxes:()=>y,Datalist:()=>w,Input:()=>k,Radios:()=>x,Select:()=>S,Textarea:()=>N,Section:()=>L,Option:()=>O,MappCrudList:()=>M,MappExpand:()=>E,MappGrid:()=>P,MappTabs:()=>I});var o=a(641);a(939);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useCallback:r,useRef:p,useState:c}=wp.element,{useSelect:m}=wp.data,{Button:d,Dashicon:u,Modal:g,TabPanel:h}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function f(e){let{className:t,help:a,type:o,...l}=e;const s=Array.isArray(l.children)?i:"label";let r="mapp-control";return o&&(r+=" mapp-control-"+o),t&&(r+=" "+t),n("div",{className:r},l.labelTop&&n("div",{className:"mapp-label-top"},l.labelTop),n(s,null,l.labelLeft&&n("span",null,l.labelLeft),l.children,(l.label||l.labelRight)&&n("span",null,l.label||l.labelRight)),a&&n(v,a))}function v(e){let t="mapp-help-text";e.type&&(t+=" mapp-help-"+e.type);let a=null;return e.href&&(a="#"==e.href.substr(0,1)?"https://mappresspro.com/mappress-documentation/"+e.href:e.href),n(i,null,a&&n("a",{className:"mapp-help-link",href:a,target:"_blank"},n(u,{icon:"editor-help"})),e.text&&n("div",{className:t},e.text))}function b(e){let{checked:t,className:a,disabled:o,onChange:i,value:l,...s}=e;return n(f,{type:"checkbox",...s},n("input",{checked:void 0!==t&&t,className:a,disabled:o,onChange:e=>i(e.target.checked),type:"checkbox",value:l}))}function y(e){let{label:t,onChange:a,options:o,values:i,...l}=e;return n(f,{type:"checkboxes",...l},_.map(o,((e,t)=>{let o=i?i.indexOf(e.value):-1;return n(b,{key:t,label:e.label,value:e.value,checked:o>=0,disabled:e.disabled,onChange:t=>{let n=[...i];t&&-1==o&&a(n.concat(e.value)),!t&&o>=0&&(n.splice(o,1),a(n))}})})))}function w(e){let{className:t,list:a,onChange:o,options:i,value:l,...s}=e;return n(f,{type:"select",...s},n("span",{className:t},n("input",{list:a,value:null!=l?l:"",onChange:e=>o(e.target.value)}),n("datalist",{id:a},_.map(i,((e,t)=>n("option",{key:t,value:e.value,disabled:e.disabled},e.label))))))}function k(e){let{autoFocus:t,disabled:a,max:o,min:i,name:l,onChange:s,placeholder:r,size:p,trim:c,type:m,value:d,...u}=e;return n(f,{type:"input",...u},n("input",{autoFocus:t,disabled:a,max:o,min:i,name:l,onChange:e=>{if(s){const t=c?e.target.value.trim():e.target.value;s(t)}},placeholder:r,size:p,type:m||"text",value:null!==d?d:""}))}const C=function(e){let{checked:t,className:a,disabled:o,onChange:i,value:l,...s}=e;return n(f,{type:"radio",...s},n("input",{checked:t,className:a,disabled:o,onChange:e=>i(e.target.value),type:"radio",value:l}))};function x(e){let{checked:t,label:a,onChange:o,options:i,...l}=e;return n(f,{type:"radios",...l},_.map(i,((e,a)=>{if(!e.hide)return n(C,{key:a,value:e.value,checked:t==e.value||null==t&&""==e.value,onChange:e=>o(e),disabled:e.disabled,label:e.label})})))}function S(e){let{className:t,onChange:a,options:o,placeholder:i,value:l,...s}=e,r=[...o];return void 0!==i&&r.unshift({value:"",label:i}),n(f,{type:"select",...s},n("select",{className:t,value:null!=l?l:"",onChange:e=>a(e.target.value)},_.map(r,((e,t)=>n("option",{key:t,value:e.value,disabled:e.disabled},e.label)))))}function N(e){let{className:t,onChange:a,placeholder:o,value:i,...l}=e;return n(f,{type:"textarea",...l},n("textarea",{className:t,onChange:e=>a(e.target.value),value:null!=i?i:""}))}function L(e){let t=e.className?" "+e.className:"";return n("div",{className:"mapp-option-section"+t},n("h2",null,e.title),e.children)}function O(e){const t=e.className?"mapp-option "+e.className:"mapp-option";return n("div",{className:t},n("div",{className:"mapp-option-title"},e.title),n("div",{className:"mapp-option-value"},e.children))}function M(e){let{data:t,isDraggable:a,onAdd:o,onChangeData:i,onRender:s,...r}=e;const[p,m]=c({dragging:null,dragover:null,isDraggable:!1});function u(e){m((t=>({...t,...e})))}function g(e,a,n){let l=Array.isArray(t)?[...t]:[];switch(e){case"add":const e=o?o():{};l.push(e),i(l);break;case"change":l[n]={...t[n],...a},i(l);break;case"delete":confirm(mappl10n.delete_prompt)&&(l.splice(a,1),i(l));break;case"sort":let s=p.dragging,r=s<a?a-1:a;l.splice(r,0,l.splice(s,1)[0]),i(l),u({dragover:null})}}return l((()=>{}),[]),n("div",{className:"mapp-crud-list"},_.map(t,((e,t)=>n("div",{className:"mapp-crud-row"+(p.dragover==t?" mapp-dragover":""),draggable:a,key:t,onDragOver:e=>e.preventDefault(),onDragStart:e=>u({dragging:t}),onDragEnter:e=>u({dragover:t}),onDragEnd:e=>u({dragging:null,dragover:null}),onDrop:e=>g("sort",t)},s({row:e,rowId:t,onChange:e=>g("change",e,t),onDelete:()=>g("delete",t)})))),n("div",{className:"mapp-crud-toolbar"},n(d,{isSecondary:!0,onClick:()=>g("add")},__("Add"))))}function E(e){let{actions:t,initialOpen:a,showToggle:o,subTitle:i,title:l,...s}=e;const[r,p]=c({isOpen:!o||a});function m(e,t){if("toggle"===e)o&&(a={isOpen:!r.isOpen},p((e=>({...e,...a}))));var a}let d="mapp-expand";return d+=r.isOpen?"":" mapp-expand-closed",d+=s.className?" "+s.className:"",n("div",{className:d},n("div",{className:"mapp-expand-header",onClick:()=>m("toggle")},n("div",null,l,i),o&&n("div",null,n(u,{icon:r.isOpen?"arrow-up":"arrow-down"}))),n("div",{className:"mapp-expand-body"},s.children),t&&n("div",{className:"mapp-expand-footer"},t))}function P(e){const[t,a]=c({dragging:null,dragover:null});function i(e){a((t=>({...t,...e})))}function l(a,o){let n=[...e.data];switch(a){case"add":let a={};_.map(e.cols,(e=>{a[e.id]=""})),n.push(a),e.onChange(n,e.selected);break;case"change":n[o.i][o.id]=o.value,e.onChange(n,e.selected);break;case"delete":let l;n.splice(o,1),l=o==e.selected?null:o<e.selected?e.selected-1:e.selected,e.onChange(n,l);break;case"select":i({selected:o}),e.onChange(n,o);break;case"sort":let s=t.dragging,r=s<o?o-1:o;n.splice(r,0,n.splice(s,1)[0]),e.onChange(n,r),i({dragover:null})}}return n("div",{className:e.className?"mapp-grid "+e.className:"mapp-grid"},e.data&&!!e.data.length&&n("div",{className:"mapp-grid-table"},function(){const t=e.selectionColumn?n("div",{className:"mapp-grid-cell",key:"select"},__("Default")):null,a=n("div",{className:"mapp-grid-cell",key:"actions"},"");return n("div",{className:"mapp-grid-header"},n("div",{className:"mapp-grid-row"},t,_.map(e.cols,(e=>n("div",{className:"mapp-grid-cell",key:e.id},e.label))),a))}(),n("div",{className:"mapp-grid-body"},_.map(e.data,((a,s)=>function(a,s){return n("div",{className:"mapp-grid-row"+(t.dragover==s?" mapp-dragover":""),draggable:!0,key:s,onDragOver:e=>e.preventDefault(),onDragStart:e=>i({dragging:s}),onDragEnter:e=>i({dragover:s}),onDragEnd:e=>i({dragging:null,dragover:null}),onDrop:e=>l("sort",s)},function(t,a){if(!e.selectionColumn)return null;let o,i;return"rowid"==e.selectionColumn?o=a:t[e.selectionColumn]?o=t[e.selectionColumn]:i=!0,"checkbox"===e.selectionType?n("div",{className:"mapp-grid-cell"},n(b,{value:o,checked:e.selected==o,disabled:i,onChange:e=>{l("select",e?o:null)}})):n("div",{className:"mapp-grid-cell"},n(C,{checked:e.selected==o,onChange:()=>l("select",o)}))}(a,s),_.map(e.cols,((t,a)=>n("div",{className:"mapp-grid-cell mapp-grid-cell-"+t.id,key:s+"-"+a},function(t,a){if(a.onRender)return a.onRender({id:a.id,value:e.data[t][a.id],onChange:e=>l("change",{i:t,id:a.id,value:e})});switch(a.type){case"combobox":return n(w,{list:a.id+"_"+t,options:a.options,value:e.data[t][a.id],onChange:e=>l("change",{i:t,id:a.id,value:e})});case"icon":return n(o.MappIconPicker,{iconid:e.data[t][a.id],onChange:e=>l("change",{i:t,id:a.id,value:e})});default:return n(k,{size:e.data[t][a.size],value:e.data[t][a.id],onChange:e=>l("change",{i:t,id:a.id,value:e})});case"select":return n(S,{value:e.data[t][a.id],options:a.options,onChange:e=>l("change",{i:t,id:a.id,value:e}),placeholder:""})}}(s,t)))),function(e){return n("div",{className:"mapp-grid-cell",key:"delete"},n(d,{icon:"trash",onClick:()=>l("delete",e)}))}(s))}(a,s))))),n("div",{className:"mapp-grid-toolbar"},n(d,{isSecondary:!0,onClick:()=>l("add")},__("Add"))))}function I(e){e={className:null,onRender:null,onSelect:null,initialTab:null,tabs:[],...e};const[t,a]=c({tab:e.initialTab?e.initialTab:e.tabs[0].name});function o(t){var o;o={tab:t},a((e=>({...e,...o}))),e.onSelect&&e.onSelect(t)}const{className:i="",style:l={}}=e;return n("div",{className:"mapp-tabs "+i,style:l},n("div",{className:"mapp-tabs-nav"},_.map(e.tabs,(e=>n("div",{className:e.name==t.tab?"mapp-tab mapp-active":"mapp-tab",key:e.name,onClick:()=>o(e.name)},e.label)))),n("div",{className:"mapp-tab-content"},e.onRender(t.tab)))}},315:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappOptionsMeta:()=>f});var o=a(577),n=a(939);const i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useCallback:p,useRef:c,useState:m}=wp.element,{Button:d,Dashicon:u,FormTokenField:g,Modal:h}=wp.components,{sprintf}=wp.i18n,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function f(e){e={errors:null,postEdit:null,userEdit:null,...e};const[t,a]=m({errors:e.errors?e.errors:[],isBusy:!1,isDone:!1,logs:[],otype:null,start:null});c(null);function r(e){a((t=>({...t,...e})))}function p(t){if(t)return i("div",{className:"mapp-option-geocode-log"},_.map(t,(t=>{let a="";return a="user"==t.otype?e.userEdit+"?user_id="+t.oid:e.postEdit+"?post="+t.oid+"&action=edit",i("div",{className:"mapp-option-geocode-log-row",key:t.oid},i("div",null,t.otype),i("div",null,t.oid),i("div",null,i("a",{href:a,target:"_blank"},t.title)),i("div",null,t.msg))})))}s((()=>{t.isDone&&r({isBusy:!1})}),[t.start,t.isDone]),s((()=>{null===t.start||t.isDone||n.mappLib.ajax({method:"POST",data:{action:"mapp_geocode",batch_size:5,nonce:mappl10n.options.nonce,otype:t.otype,start:t.start},callback:e=>{if(e&&"OK"==e.status){const a=e.data.logs.length<5;r({errors:e.data.errors,isBusy:!a,isDone:a,logs:t.logs.concat(e.data.logs),start:a?t.start:t.start+5})}}})}),[t.start,t.isDone]);const u=t.logs.length?t.logs.length:1;let g="";return t.isBusy?g=__("Geocoding... "+u):t.isDone&&(g=__("Done")),i(l,null,i(o.Option,{title:__("Geocoding")},i(d,{className:"mapp-option-geocode",disabled:t.isBusy,isBusy:t.isBusy,isSecondary:!0,onClick:()=>{t.isBusy||r({isDone:!1,isBusy:!0,errors:[],logs:[],otype:"post",start:0})}},__("Geocode posts")),g,i("div",{style:{fontStyle:"italic"}},__("For bulk geocoding (>100 items) online geocoding services are faster and less expensive.")),p(t.logs)),function(){const e=t.errors.length>0?p(t.errors):__("No errors");return i(o.Option,{title:__("Geocoding errors")},i("div",{className:"mapp-option-geocode-errors"},e))}())}},146:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>x});var o=a(577),n=a(107),i=a(641),l=a(939),s=a(346),r=a(315),p=a(614),c=a(697);const m=wp.element.createElement,{Fragment:d,useEffect:u,useLayoutEffect:g,useCallback:h,useRef:f,useState:v}=wp.element,{useSelect:b}=wp.data,{Button:y,Dashicon:w,FormTokenField:k,Modal:C}=wp.components,{sprintf}=wp.i18n,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function x(e){const[t,a]=v({...e,isCheckingLicense:!1,isSaving:!1});f(null);function g(e){a((t=>({...t,...e})))}function h(e){return _.map(e,((e,t)=>({value:t,label:e})))}function C(e,t){return e&&Array.isArray(e)&&e.length?(_.map(e,(e=>{for(let t in e)"string"==typeof e[t]&&(e[t]=e[t].trim())})),t?e.filter((e=>{for(let t in e)if(!e[t]||0==e[t].length)return!1;return!0})):e.filter((e=>!(!e.hasOwnProperty("key")||!e.key)))):[]}function x(e,a){switch(e){case"license-check":g({isCheckingLicense:!0}),l.mappLib.ajax({method:"POST",data:{action:"mapp_license_check",nonce:mappl10n.options.nonce,license:t.license},callback:e=>{if(g({isCheckingLicense:!1}),e&&"OK"==e.status){let a={...t.helpers};a.license_status=e.data,g({helpers:a})}}});break;case"reset":g({isSaving:!0}),l.mappLib.ajax({method:"POST",data:{action:"mapp_options_reset",nonce:mappl10n.options.nonce},callback:e=>{g({isSaving:!1}),e&&"OK"==e.status&&window.location.reload()}});break;case"save":let e={...t};delete e.helpers,e.filters.post=C(e.filters.post,!1),e.filters.user=C(e.filters.user,!1),e.metaKeys.post=C(e.metaKeys.post,!0),e.metaKeys.user=C(e.metaKeys.user,!0),e.sizes=C(e.sizes,!0),e.autoicons&&e.autoicons.values&&(e.autoicons.values=C(e.autoicons.values,!0)),g({isSaving:!0}),l.mappLib.ajax({method:"POST",data:{action:"mapp_options_save",nonce:mappl10n.options.nonce,settings:e},callback:e=>{g({isSaving:!1}),e&&"OK"==e.status&&window.location.reload()}})}}return u((()=>{mappl10n.options.engine!=t.engine&&x("save")}),[t.engine]),m("div",{className:"mapp-options"},m("form",{onSubmit:e=>{e.preventDefault(),x("save")}},m(o.Section,{title:__("Sample Map"),className:"mapp-demo-section"},m("div",{className:"mapp-options-demo"},m(s.MappMap,{alignment:"default",height:300,pois:[{address:"San Francisco, CA",id:1,title:"MapPress",body:__("Maps for WordPress"),point:{lat:37.774095,lng:-122.418731}}],width:"100%",zoom:8}))),mappl10n.options.pro&&(!t.helpers.is_multisite||t.helpers.is_super_admin||t.helpers.is_main_site)&&m(o.Section,{title:__("License")},m(o.Option,{title:__("MapPress license key"),className:"mapp-option-license"},m(o.Input,{value:t.license,name:"license",onChange:e=>{let a={...t.helpers};a.license_status="",g({license:e,helpers:a})},size:37,placeholder:__("Enter license to enable automatic updates")}),function(){const e=t.helpers.license_status,a=m(y,{isSecondary:!0,href:"https://mappresspro.com/mappress"},__("Get license")),o=m(y,{isBusy:t.isCheckingLicense,isSecondary:!0,onClick:()=>x("license-check")},__("Check now")),n=m(y,{isLink:!0,target:"_blank",href:"https://mappresspro.com/account"},__("Your account"));return t.license?"active"==e?m("span",{className:"mapp-license-status"},o,m(w,{icon:"yes"}),__("Active")):m(d,null,o,n,e&&!t.isCheckingLicense&&m("div",null,m(w,{icon:"no"}),"inactive"==e?__("License is invalid or expired"):e)):a}()),m(o.Option,{title:__("Beta versions")},m(o.Checkbox,{checked:t.betas,label:__("Enable updates for beta versions"),onChange:e=>g({betas:e})}))),m(o.Section,{title:__("Basic Settings")},m(o.Option,{title:__("Mapping API")},m(o.Radios,{options:[{label:"Leaflet",value:"leaflet"},{label:"Google",value:"google"}],onChange:e=>{g({engine:e,geocoder:"google"==e?"google":""})},checked:t.engine,help:{href:"#toc-picking-a-mapping-api",text:__("Leaflet is free and requires no API key. Google requires an API key and has usage limits.")}})),"leaflet"==t.engine&&function(){const e=[{value:"nominatim",label:"Nominatim",disabled:t.mapbox},{value:"mapbox",label:"MapBox",disabled:!t.mapbox},{value:"google",label:"Google",disabled:!t.apiKey}];let a={};return"nominatim"==t.geocoder&&(a={text:__("Nominatim is free but inaccurate. Consider using Mapbox or Google instead."),type:"warning"}),a.href="#toc-picking-a-geocoder",m(o.Option,{title:__("Geocoder")},m(o.Radios,{options:e,checked:t.geocoder,onChange:e=>g({geocoder:e}),help:a}))}(),"leaflet"==t.engine&&function(){const e=m(y,{isSecondary:!0,href:"https://account.mapbox.com/access-tokens/",target:"_blank"},__("Get an Access Token"));return m(o.Option,{title:__("Mapbox access token")},m("div",{className:"mapp-option-mapbox"},m(o.Input,{name:"mapbox",value:t.mapbox,onChange:e=>{g({mapbox:e}),g({geocoder:e?"mapbox":"nominatim"})},placeholder:__("Enter token to use Mapbox"),size:50}),e),m("div",{className:"mapp-help-text"},__("Mapbox makes Leaflet maps look great and provides an excellent geocoder.")))}(),function(){const e=m(y,{isSecondary:!0,href:"https://mappresspro.com/how-to-get-a-google-maps-api-key",target:"_blank"},__("Get an API Key"));return m(o.Option,{title:__("Google API key"),className:"mapp-option-apikey"},m(o.Input,{name:"apiKey",value:t.apiKey,onChange:e=>{g({apiKey:e})},placeholder:"google"==t.engine?__("Enter API key to use Google maps"):__("Enter API key to use Google geocoder"),size:50}),e)}()),m(o.Section,{title:__("Compatibility")},function(){let e={text:__("Prevents conflicts with other plugins, but maps may load slower.")};return t.helpers.iframes_required&&(e={text:sprintf(__("Required because %s is active"),t.helpers.iframes_required)}),m(o.Option,{title:__("Compatibility mode")},m("div",{className:t.helpers.iframes_required?"mapp-option-iframes-required":""},m(o.Checkbox,{checked:t.iframes||t.helpers.iframes_required,label:__("Enable iframe compatibility mode"),onChange:e=>g({iframes:e}),help:e})))}()),m(o.Section,{title:__("GDPR Compliance")},function(){const e=sprintf(__("MapPress is compatible with the free %s plugin for GDPR compliance with Google Maps."),'<a href="https://wordpress.org/plugins/complianz-gdpr/">Complianz</a>');return t.helpers.complianz?m(o.Option,{title:__("GDPR plugin")},m(w,{icon:"yes"}),__("Complianz is active. No setup is necessary in Complianz.")):m(o.Option,{title:__("GDPR plugin")},m("div",{className:"mapp-help-text"},m("div",{dangerouslySetInnerHTML:{__html:e}})))}()),m(o.Section,{title:__("Map Settings")},m(o.Option,{title:__("Automatic display")},m(o.Radios,{options:[{value:"",label:__("None")},{value:"top",label:__("Top of post")},{value:"bottom",label:__("Bottom of post")}],checked:t.autodisplay,onChange:e=>g({autodisplay:e})})),m(o.Option,{title:__("Map alignment")},m(o.Radios,{options:[{value:"",label:__("Default")},{value:"center",label:__("Center")},{value:"left",label:__("Left")},{value:"right",label:__("Right")}],checked:t.alignment,onChange:e=>g({alignment:e})})),m(o.Option,{title:__("Directions")},m(o.Radios,{checked:t.directions,options:[{value:"google",label:"Google"},{value:"inline",label:__("Inline")}],onChange:e=>g({directions:e})})),m(o.Option,{title:__("Mini width")},m(o.Input,{value:t.mini,onChange:e=>g({mini:e}),size:3,label:__("Width (px) to use map/list toggle buttons")})),m(o.Option,{title:__("Scroll wheel zoom")},m(o.Checkbox,{checked:t.scrollWheel,label:__("Enable map zoom with mouse scroll wheel"),onChange:e=>g({scrollWheel:e})}))),m(o.Section,{title:__("POIs")},m(o.Option,{title:__("Initial zoom")},m(o.Select,{label:__("Used for geolocation and centering maps with a single POI"),help:mappl10n.options.pro?{text:__("For searches, use the Search Radius setting instead.")}:null,value:t.poiZoom,options:_.map([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],(e=>({value:e,label:e}))),onChange:e=>g({poiZoom:e})})),m(o.Option,{title:__("Hover")},m(o.Checkbox,{checked:t.tooltips,label:__("Open POIs on hover"),onChange:e=>g({tooltips:e})})),m(o.Option,{title:__("Open first POI")},m(o.Checkbox,{checked:t.initialOpenInfo,onChange:e=>g({initialOpenInfo:e}),label:__("Open first POI when a map is displayed")})),m(o.Option,{title:__("Travel lines")},m(o.Checkbox,{label:__("Connect POIs with lines"),checked:t.lines,onChange:e=>g({lines:e})})),function(){const e=e=>g({lineOpts:{...t.lineOpts,...e}}),a=t.lineOpts,i=m(o.Select,{label:__("Icon"),onChange:t=>{e(t?{icons:[{icon:{path:t}}]}:{icons:null})},options:[{value:0,label:__("Circle")},{value:1,label:__("Arrow")},{value:2,label:__("Open arrow")}],placeholder:__("None"),value:a.icons?a.icons[0].icon.path:null}),l=m(o.Checkbox,{label:__("Geodesic (curved) lines"),checked:!!a.geodesic,onChange:t=>e({geodesic:t})}),s=m(o.Checkbox,{label:__("Animate icon"),checked:!!a.animate,onChange:t=>e({animate:t})});return m(o.Option,{title:__("Travel line options"),className:"mapp-option-line-options"},m(o.Control,{labelRight:__("Color")},m(n.MappColorPicker,{color:a.color,weight:a.weight,opacity:a.opacity,isExtended:!0,onChange:t=>e(t)})),"google"==t.engine&&l,"google"==t.engine&&i,"google"==t.engine&&s)}()),m(o.Section,{title:__("POI List")},m(o.Option,{title:__("Display")},m(o.Checkbox,{checked:t.poiList,label:__("Show a list of POIs with each map"),onChange:e=>g({poiList:e})})),m(o.Option,{title:__("Position")},m("div",{className:"mapp-option-poilist-radios"},m(o.Radios,{checked:t.layout,options:[{value:"left",label:__("Left of map")},{value:"inline",label:__("Below map")}],onChange:e=>g({layout:e})}))),"left"==t.layout&&m(o.Option,{title:__("Initial open")},m("div",{className:"mapp-option-poilist-open"},m(o.Checkbox,{checked:t.poiListOpen,label:__("Open list when map is displayed"),onChange:e=>g({poiListOpen:e})}))),m(o.Option,{title:__("Paging")},m("div",{className:"mapp-option-poilist-page-size"},m(o.Input,{labelRight:__("POIs per page"),max:999,min:1,onChange:e=>g({poiListPageSize:e}),size:3,type:"number",value:t.poiListPageSize}))),m(o.Option,{title:__("Sort")},m(o.Checkbox,{checked:t.sort,label:__("Sort POI list by title"),onChange:e=>g({sort:e})}))),m(o.Section,{title:__("Styled Maps")},m(o.Option,{title:__("Default style")},m("div",{className:"mapp-option-style"},m(p.m,{selected:t.style,onChange:e=>{g({style:e}),mappl10n.options.style=e}}),m("div",null,__('Replace the default "roadmap" or "streets" style'))))),mappl10n.options.pro&&m(o.Section,{title:__("Icons")},m(o.Option,{title:__("Default icon")},m(i.MappIconPicker,{iconid:t.defaultIcon,onChange:e=>{mappl10n.options.defaultIcon=e,g({defaultIcon:e})}})),m(o.Option,{title:__("Icon directory")},m("code",null,t.helpers.icon_directory)),m(o.Option,{title:__("Highlight selected POI")},m(o.Radios,{checked:t.highlight,options:[{value:"",label:__("None")},{value:"circle",label:__("Circle")},{value:"scale",label:__("Scale")},{value:"icon",label:__("Icon")}],onChange:e=>g({highlight:e})}),"icon"==t.highlight&&m(i.MappIconPicker,{defaultIcon:t.defaultIcon,iconid:t.highlightIcon,onChange:e=>g({highlightIcon:e})})),function(){let e=t.iconScale&&Array.isArray(t.iconScale)?[...t.iconScale]:[0,0];return m(o.Option,{title:__("Icon size")},m(o.Input,{min:0,max:64,onChange:t=>{t<=64&&(e[0]=t>0?t:"",g({iconScale:e}))},size:3,type:"number",value:e[0]?e[0]:""}),m("span",null," X "),m(o.Input,{min:0,max:64,onChange:t=>{t<=64&&(e[1]=t>0?t:"",g({iconScale:e}))},size:3,type:"number",value:e[1]?e[1]:""}),m("span",null," (px) "))}(),function(){let e=h(t.helpers.taxonomies);e.unshift({value:"post_type",label:__("Post type")});const a=b((e=>{if("post_type"==t.autoicons.key)return h(t.helpers.post_types);const a=wp.data.select("core").getEntityRecords("taxonomy",t.autoicons.key,{per_page:-1,_fields:"id,name,slug"});return a?a.map((e=>({value:e.slug,label:e.name}))):[]}),[t.autoicons.key]);return m(o.Option,{title:__("Automatic icons")},m(o.Select,{label:__('Be sure to set "Show in REST API" for custom taxonomies'),value:t.autoicons?t.autoicons.key:null,options:e,onChange:e=>{let a=t.autoicons?{...t.autoicons}:[];a.key=e,a.values=[],g({autoicons:a})},placeholder:""}),m(o.MappGrid,{cols:[{id:"key",label:__("Key"),type:"select",options:a},{id:"value",label:__("Icon"),type:"icon"}],data:t.autoicons.values,onChange:e=>{let a=t.autoicons?{...t.autoicons}:[];a.values=e,g({autoicons:a})}}))}()),m(o.Section,{title:__("Clustering")},m(o.Option,{title:__("Clustering")},m(o.Checkbox,{checked:t.clustering,label:__("Enable marker clustering"),onChange:e=>g({clustering:e})})),function(){let e=t.clusteringOptions?t.clusteringOptions:{};const a=(t,a)=>{e[t]=a,g({clusteringOptions:e})};if("google"==t.engine){const t="https://github.com/googlemaps/v3-utility-library/blob/3fca406/packages/markerclustererplus/src/markerclusterer.ts",n=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];return m("div",{className:"mapp-option-clustering-options"},m(o.Option,{title:__("Max zoom")},m(o.Select,{help:{href:t},label:m(d,null,__("Disable clustering at zoom"),m("code",null,"maxZoom")),onChange:e=>a("maxZoom",e),options:_.map(n,(e=>({value:e,label:e}))),placeholder:__("None"),value:e.maxZoom})))}{const t="https://github.com/Leaflet/Leaflet.markercluster#all-options",n=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];return m("div",{className:"mapp-option-clustering-options"},m(o.Option,{title:__("Max zoom")},m(o.Select,{help:{href:t},label:m(d,null,__("Disable clustering at zoom"),m("code",null,"disableClusteringAtZoom")),onChange:e=>a("disableClusteringAtZoom",e),options:_.map(n,(e=>({value:e,label:e}))),placeholder:__("Auto"),value:e.disableClusteringAtZoom})),m(o.Option,{title:__("Spiderfy")},m(o.Checkbox,{checked:e.spiderfyOnMaxZoom,help:{href:t},label:m(d,null,__("Spiderfy"),m("code",null,"spiderfyOnMaxZoom")),onChange:e=>a("spiderfyOnMaxZoom",e)})),m(o.Option,{title:__("Coverage")},m(o.Checkbox,{checked:void 0===e.showCoverageOnHover||e.showCoverageOnHover,help:{href:t},label:m(d,null,__("Show cluster bounds on hover"),m("code",null,"showCoverageOnHover")),onChange:e=>a("showCoverageOnHover",e)})))}}()),mappl10n.options.pro&&m(o.Section,{title:__("Mashups")},function(){const e=[{value:"poi",label:__("Open popup")},{value:"post",label:__("Open post")},{value:"postnew",label:__("Post in new tab")},{value:"postmodal",label:__("Post in modal")}];return m(o.Option,{title:__("Marker click")},m(o.Radios,{checked:t.mashupClick,options:e,onChange:e=>g({mashupClick:e})}))}(),m(o.Option,{title:__("Popup content")},m(o.Radios,{checked:t.mashupBody,options:[{value:"poi",label:__("POI title + body")},{value:"post",label:__("Post title + excerpt")}],onChange:e=>g({mashupBody:e})})),m(o.Option,{title:__("Thumbnails")},m(o.Radios,{checked:t.mashupThumbs,options:[{value:"post",label:__("Post featured image")},{value:"poi",label:__("POI images")}],onChange:e=>g({mashupThumbs:e})})),m(o.Option,{title:__("KMLs")},m(o.Checkbox,{checked:t.mashupKml,label:__("Include KML POIs in mashups"),onChange:e=>g({mashupKml:e})}))),mappl10n.options.pro&&m(o.Section,{title:__("Search")},m(o.Option,{title:__("Search")},m(o.Checkbox,{checked:t.search,label:__("Enable search for mashups"),onChange:e=>g({search:e})})),m(o.Option,{title:__("Search radius")},m(o.Select,{help:{href:"https://mappresspro.com/mappress-documentation/#toc-mashup-search"},label:__("Minimum search radius (km)"),value:t.radius,options:_.map([1,5,10,15,25,50,75,100,200,300],(e=>({value:e,label:e}))),onChange:e=>g({radius:e})})),m(o.Option,{title:__("Search country")},m(o.Select,{label:__("Country code for searches"),value:t.country,options:_.map(["","AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","VG","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CK","CR","HR","CU","CW","CY","CZ","CD","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","CI","JM","JP","JE","JO","KZ","KE","KI","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","KP","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","CG","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","KR","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","VI","UG","UA","AE","GB","US","UM","UY","UZ","VU","VA","VE","VN","WF","EH","YE","ZM","ZW"],(e=>({value:e,label:e}))),onChange:e=>g({country:e}),help:{href:"https://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements"}})),function(){const e=!mappl10n.options.ssl;return m(o.Option,{title:__("Geolocate")},m(o.Checkbox,{checked:t.geolocate,label:__("Center on user location when map is displayed"),onChange:e=>g({geolocate:e}),help:e?{text:__("Only available for sites using https")}:null}))}(),function(){const e=!mappl10n.options.ssl;return m(o.Option,{title:__("User location")},m(o.Checkbox,{checked:t.userLocation,label:__("Show user location as a blue circle on the map"),onChange:e=>g({userLocation:e}),help:e?{text:__("Only available for sites using https")}:null}))}(),function(){if("google"!=t.engine)return m(o.Option,{title:__("Bounding box")},m(o.Input,{onChange:e=>g({searchBox:e}),help:{text:__("Restrict searches to a bounding box (optional)"),href:"https://mappresspro.com/mappress-documentation/#toc-mashup-search"},placeholder:"SW lon, SW lat, NE lng, NE lat",size:45,value:t.searchBox}))}()),mappl10n.options.pro&&m(o.Section,{title:__("Mashup filters")},m(o.Option,{title:__("Filters position")},m(o.Radios,{options:[{value:"top",label:__("Top")},{value:"list",label:__("POI list")}],checked:t.filtersPos,onChange:e=>g({filtersPos:e})})),function(){const e=[{name:"post",label:__("Posts")},{name:"user",label:__("Users")}];return m(o.Option,{className:"mapp-option-filters",title:__("Filters")},m(o.MappTabs,{tabs:e,onRender:e=>m(o.MappCrudList,{data:t.filters&&t.filters[e]?t.filters[e]:[],isDraggable:!0,onChangeData:a=>{let o={...t.filters};o[e]=a,g({filters:o})},onRender:a=>function(e){let a,{otype:n,row:i,rowId:l,onChange:s,onDelete:r,...p}=e,c=h(t.helpers.taxonomies);a="user"==n?[{label:__("Role"),value:"role"}]:[{label:__("Post type"),value:"post"},{label:__("Text search"),value:"text"},{label:"──────────",value:"",disabled:!0},...c];const d=function(e){const t=_.findWhere(a,{value:e.key});return t?t.label:__("New filter")},u="text"==i.key?[{value:"input",label:__("Input")}]:[{value:"checkbox",label:__("Checkboxes")},{value:"radio",label:__("Radio buttons")},{value:"select",label:__("Select")}];return m(o.MappExpand,{actions:m("div",null,m(y,{icon:"trash",onClick:()=>r(),title:__("Delete")})),className:"mapp-option-filter",initialOpen:!i.key,showToggle:!0,title:d(i)},m("div",{className:"mapp-option-filter-row"},m(o.Select,{labelTop:__("Filter type"),options:a,onChange:e=>s({key:e,format:"text"==e?"input":"checkbox"}),placeholder:"",value:i.key?i.key:""}),m(o.Select,{onChange:e=>s({format:e}),labelTop:__("Format"),options:u,placeholder:"",value:i.format?i.format:""}),m(o.Input,{labelTop:__("Label"),placeholder:d(i),value:i.label,onChange:e=>s({label:e})}),"post"!=i.key&&"meta"!=i.key&&"text"!=i.key&&m(o.Select,{labelTop:__("Sort"),value:i.sort,options:[{value:"name",label:__("Name")},{value:"slug",label:__("Slug")}],onChange:e=>s({sort:e})})),i.key&&"meta"!=i.key&&"text"!=i.key&&m("div",{className:"mapp-option-filter-row mapp-option-filter-tokens"},m(k,{label:__("Include term slugs"),value:i.include,onChange:e=>s({include:e}),__experimentalShowHowTo:!0}),m(k,{label:__("Exclude term slugs"),value:i.exclude,onChange:e=>s({exclude:e})})))}({otype:e,...a})})}))}()),mappl10n.options.pro&&m(o.Section,{title:__("Templates")},m(o.Option,{title:__("Custom templates")},m(c.MappTemplateEditor)),m(o.Option,{title:__("Directions link")},m(o.Checkbox,{checked:t.directionsPopup,label:__("Show in popup"),onChange:e=>g({directionsPopup:e})}),m(o.Checkbox,{checked:t.directionsList,label:__("Show in list"),onChange:e=>g({directionsList:e})})),m(o.Option,{title:__("Thumbnails")},m(o.Select,{label:__("Popups"),onChange:e=>g({thumbsPopup:e}),options:[{value:"",label:__("None")},{value:"top",label:__("Top")},{value:"left",label:__("Left")},{value:"right",label:__("Right")}],value:t.thumbsPopup}),m(o.Select,{label:__("POI lists"),onChange:e=>g({thumbsList:e}),options:[{value:"",label:__("None")},{value:"top",label:__("Top")},{value:"left",label:__("Left")},{value:"right",label:__("Right")}],value:t.thumbsList})),m(o.Option,{title:__("Popup thumbnail size")},m(o.Select,{onChange:e=>g({thumbSize:e}),options:h(t.helpers.thumbnail_sizes),value:t.thumbSize}),m("span",null," "+__("or")+" "),m(o.Input,{value:t.thumbWidth,onChange:e=>g({thumbWidth:e}),type:"number",min:0,max:9999}),m("span",null," X "),m(o.Input,{value:t.thumbHeight,onChange:e=>g({thumbHeight:e}),type:"number",min:0,max:9999}),m("span",null," (px) "))),m(o.Section,{title:__("Localization")},function(){const e="leaflet"==t.engine?"https://en.wikipedia.org/wiki/ISO_639-1":"http://code.google.com/apis/maps/faq.html#languagesupport";return m(o.Option,{title:__("Language")},m(o.Select,{value:t.language,options:h(t.helpers.languages),onChange:e=>g({language:e}),help:{href:e,text:__("Language for searches and Google map controls")}}))}(),m(o.Option,{title:__("Directions server")},m(o.Input,{value:t.directionsServer,onChange:e=>g({directionsServer:e}),size:25}))),mappl10n.options.pro&&m(o.Section,{title:__("Generate Maps from Custom Fields")},function(){const e=[{name:"post",label:__("Posts")},{name:"user",label:__("Users")}];return m(o.Option,{className:"mapp-option-metakeys",title:__("Field mapping")},m(o.MappTabs,{tabs:e,onRender:e=>m(o.MappGrid,{cols:[{id:"key",label:__("Map field"),type:"select",options:h(t.helpers.meta_fields)},{id:"value",label:__("post"==e?"Post custom field":"User custom field"),type:"combobox",options:h("post"==e?t.helpers.meta_keys:t.helpers.meta_keys_user)}],data:t.metaKeys[e],onChange:a=>{let o={...t.metakeys};o[e]=a,g({metaKeys:o})}})}))}(),m(o.Option,{title:__("Post types")},m(o.Checkboxes,{values:t.postTypes,options:h(t.helpers.post_types),onChange:e=>g({postTypes:e})})),m(o.Option,{title:__("Overwrite")},m(o.Checkbox,{label:__("Overwrite maps on publish/save"),checked:t.metaSyncSave,onChange:e=>{g({metaSyncSave:e})}})),"google"==t.engine&&m(o.Option,{title:__("Google Server API key")},m(o.Input,{name:"apiKeyServer",value:t.apiKeyServer,onChange:e=>g({apiKeyServer:e}),size:50,help:{text:__("Server API key for geocoding. Only required if client key is restricted by referrer."),href:"https://mappresspro.com/mappress-documentation/#toc-google-api-keys"}})),m(r.MappOptionsMeta,{errors:t.helpers.geocoding_errors,postEdit:t.helpers.post_edit,userEdit:t.helpers.user_edit})),mappl10n.options.pro&&mappl10n.options.acfActive&&m(o.Section,{title:__("Frontend Forms")},m(o.Option,{title:__("Advanced Custom Fields")},m(o.Input,{className:"mapp-option-acf",name:"acf",value:t.acf,onChange:e=>{g({acf:e})},size:20}),__("ACF map field to include on MapPress mashups"),m(o.Help,{text:__("To generate MapPress maps from ACF fields, leave this blank and use the Geocoding section"),href:"https://mappresspro.com/mappress-documentation/#toc-frontend-forms"}))),m(o.Section,{title:__("Miscellaneous")},m(o.Option,{title:__("Map sizes")},m(o.MappGrid,{cols:[{id:"width",label:__("Width")+" (px, %, vw)",size:4},{id:"height",label:__("Height")+" (px, %, vh)"}],data:t.sizes,onChange:(e,t)=>g({sizes:e,size:t}),selectionColumn:"rowid",selected:t.size})),t.iframes||t.helpers.iframes_required?null:m(o.Option,{title:__("Scripts")},m(o.Checkbox,{checked:t.footer,label:__("Output scripts in footer"),onChange:e=>g({footer:e}),help:{text:__("Disable footer scripts if maps are output using AJAX")}})),m(o.Option,{title:"WPML"},m(o.Checkbox,{checked:t.wpml,label:__("Copy maps when overwriting a translation"),onChange:e=>g({wpml:e}),help:{href:"https://mappresspro.com/mappress-documentation#wpml"}}))),m("div",{className:"mapp-options-toolbar"},m(y,{isBusy:t.isSaving,className:"mapp-options-save",type:"submit",isPrimary:!0},__("Save")),m(y,{isBusy:t.isSaving,isSecondary:!0,onClick:()=>x("reset")},__("Reset Defaults")))))}window.addEventListener("DOMContentLoaded",(e=>{document.getElementById("mapp-options-settings")&&wp.element.render(m(x,mappress_options_state),document.getElementById("mapp-options-settings"))}))},185:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappPicker:()=>T});var o=a(286),n=a(68),i=a(326),l=(a(939),a(27),a(78));window.mapp=window.mapp||{};const s=wp.element.createElement,{apiFetch:r}=wp,{dispatch:p,select:c,useSelect:m}=wp.data,{Fragment:d,useCallback:u,useEffect:g,useLayoutEffect:h,useMemo:f,useRef:v,useState:b}=wp.element,{BaseControl:y,Button:w,ButtonGroup:k,Dashicon:C,Dropdown:x,DropdownMenu:S,Icon:N,MenuGroup:L,MenuItem:O,Modal:M,PanelBody:E,Popover:P,TextControl:I}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function T(e){e={context:null,mapid:null,mode:null,onClose:null,onInsert:null,onTrash:null,...e};const[t,a]=b({filter:e.filter?e.filter:"all",mode:e.mode?e.mode:"list",mapid:e.mapid?e.mapid:null,page:1,requery:!1,scrollContainer:null,scrollElement:null,search:"",searchValue:"",sortBy:"mapid",sortAsc:!1});function r(e){a((t=>({...t,...e})))}const u=v(null),h=v(null),f=v(null),y=v(null);(0,i.useIntersectionObserver)({container:"library"==e.context?document:f.current,element:y.current,options:{threshold:1},callback:()=>{D&&!E&&r({page:t.page+1})}});const{addSnackbar:k,renderSnackbar:C}=(0,l.D)();g((()=>{t.requery&&r({requery:!1}),p("mappStore").invalidateResolutionForStoreSelector("getMaps"),1==t.page&&(u.current.scrollTop=0)}),[t.filter,t.page,t.requery,t.search,t.sortBy,t.sortAsc]),g((()=>{"list"==e.mode&&u.current&&u.current.focus()}),[]);const{counts:x,isResolving:E,mapids:P,maps:T,more:D}=m((e=>{const a={filter:t.filter,otype:mappl10n.options.otype,oid:mappl10n.options.oid,page:t.page,page_size:20,search:t.search,sort_by:t.sortBy,sort_asc:t.sortAsc};return{counts:e("mappStore").getCounts(),maps:e("mappStore").getMaps(a),mapids:e("mappStore").getMapids(),more:e("mappStore").getMore(),isResolving:!e("mappStore").hasFinishedResolution("getMaps",[a])}}),[t.filter,t.page,t.search,t.sortBy,t.sortAsc]);function z(e){const t=P.filter((t=>t!=e));p("mappStore").setMapids(t),0==t.length&&D?r({page:1,requery:!0}):u.current&&u.current.focus()}function B(e,t,a){if(E)return;const o={otype:mappl10n.options.otype,oid:t,otitle:a};p("mappStore").mutateMap(e,o),t==mappl10n.options.oid&&p("mappStore").setCounts({object:x.object+1}),k(sprintf(__("Map %d attached to post"),e))}function R(){e.onClose()}function A(e){"trashed"!=t.filter&&r({mode:"edit",mapid:e})}const F=(0,i.useDebounce)((e=>{r({search:e})}),500);function j(){return P.length||E?s("div",{className:"mapp-pick-items"},P.map((a=>function(a){const n=T[a];return s("div",{className:"mapp-pick-item"+(a==t.mapid?" mapp-selected":""),key:a},s("div",{className:"mapp-pick-col-title",onClick:()=>A(n.mapid)},s("div",{className:"mapp-title"},n.title?n.title:__("Untitled")),s("div",{className:"mapp-mapid"},__("Map ID")+" "+n.mapid),s("div",{className:"mapp-postlink"},function(t){const a=T[t];let o;o="map"==e.context||"mashup"==e.context&&"post"==a.otype&&a.oid==mappl10n.options.oid?c("core/editor").getEditedPostAttribute("title"):a.otitle;o=o||__("Untitled"),"post"==a.otype&&a.oid>0&&a.oid==mappl10n.options.oid&&(o=__("Current post"));return"post"==a.otype&&a.oid>0?a.oid==mappl10n.options.oid?o:s(d,null,s("a",{href:mappl10n.options.editurl+"?post="+a.oid+"&action=edit",target:"_blank",title:__("Edit post")},o)):__("Unattached")}(a))),s("div",{className:"mapp-pick-col-actions"},function(a){const n=s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},s("path",{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"})),i=T[a];let l;"trashed"==t.filter?l=[{title:__("Restore"),onClick:()=>function(e){E||(p("mappStore").mutateMap(e,{status:""}),z(e),p("mappStore").setCounts({all:x.all+1,object:"object"==t.filter?x.object+1:x.object,trashed:x.trashed-1}),k(sprintf(__("Map %d restored"),e)))}(i.mapid)},{title:__("Delete Permanently"),onClick:()=>function(a){E||(confirm(__("Permanently delete this map?"))&&(p("mappStore").deleteMap(a),z(a),p("mappStore").setCounts({...x,trashed:x.trashed-1}),k(sprintf(__("Map %d deleted"),a))),t.mapid&&a==t.mapid&&e.onTrash&&e.onTrash(),h.current&&h.current.focus())}(i.mapid)}]:(l=[{title:__("Edit"),onClick:()=>A(i.mapid)},{title:__("Copy"),onClick:()=>async function(e){const t=await p("mappStore").duplicateMap(e);p("mappStore").setCounts({all:x.all+1,object:t.oid&&t.oid==mappl10n.options.oid?x.object+1:x.object}),p("mappStore").setMapids([t.mapid].concat(P)),k(sprintf(__("Map %d copied"),t.mapid)),u.current&&(u.current.scrollTop=0),r({mapid:t.mapid})}(i.mapid)},{title:__("Trash"),onClick:()=>function(e){E||(p("mappStore").mutateMap(e,{status:"trashed"}),z(e),p("mappStore").setCounts({all:x.all-1,object:"object"==t.filter?x.object-1:x.object,trashed:x.trashed+1}),k(sprintf(__("Map %d moved to trash"),e)))}(i.mapid)}],"post"==i.otype&&i.oid>0?l.push({title:__("Detach"),onClick:()=>function(e,a){if(E)return;p("mappStore").mutateMap(e,{oid:0}),"object"==t.filter&&z(e),a&&a==mappl10n.options.oid&&p("mappStore").setCounts({object:x.object-1})}(i.mapid,i.oid)}):"library"!=e.context&&l.push({title:__("Attach to post"),onClick:()=>B(i.mapid,mappl10n.options.oid,null)}),"library"==e.context?l.splice(1,0,{title:__("Copy shortcode"),onClick:()=>function(e){const t=document.createElement("input");document.body.appendChild(t),t.value='[mappress mapid="'+e+'"]',t.select(),document.execCommand("copy"),t.remove(),k(__("Shortcode copied"))}(i.mapid)}):l.splice(1,0,{title:__("Insert into post"),onClick:()=>function(t){e.onInsert(t)}(i.mapid)}));return s(S,{className:"mapp-pick-actions",icon:n,popoverProps:{placement:"left-start"}},(a=>{let{onClose:n}=a;return s(L,null,l.map(((e,t)=>s(O,{key:t,onClick:()=>{n(),e.onClick()}},e.title))),"library"==e.context&&0==i.oid&&"trashed"!=t.filter&&s(O,{key:"attach"},s(o.MappAttachControl,{onChange:(e,t)=>{B(i.mapid,e,t),n()}})))}))}(a)))}(a))),E&&[...Array(3).keys()].map((e=>s("div",{className:"mapp-pick-item mapp-skeleton",key:e},s("div",{className:"mapp-pick-col-title"},s("div",{className:"mapp-title"}),s("div",{className:"mapp-mapid"}),s("div",{className:"mapp-postlink"})))))):s("div",{className:"mapp-pick-message"},__("No maps found"))}function G(){let a=[{label:__("All"),value:"all"},{label:__("Attached to post"),value:"object",hide:"library"==e.context},{label:__("Trash"),value:"trashed"}];return s("div",{className:"mapp-pick-header"},s("div",{className:"mapp-pick-filter-tabs"},_.map(a,((e,a)=>{const o="mapp-pick-filter-tab"+(t.filter==e.value?" mapp-active":""),n=x[e.value];if(!e.hide)return s("div",{className:o,href:"#",key:a,onClick:()=>(r({filter:e.value,page:1,search:"",searchValue:"",sortBy:"mapid",sortAsc:!1}),void u.current.focus())},e.label,null!=n&&s("span",{className:"mapp-pick-filter-count"},n))}))),s("div",{className:"mapp-pick-sort-search"},function(){let e=[{sortBy:"mapid",sortAsc:!0,shortLabel:__("Map ID"),label:__("Map ID (Up)")},{sortBy:"mapid",sortAsc:!1,shortLabel:__("Map ID"),label:__("Map ID (Down)")}];const a=t=>{r({page:1,sortBy:e[t].sortBy,sortAsc:e[t].sortAsc})},o=e.findIndex((e=>e.sortBy==t.sortBy&&e.sortAsc==t.sortAsc));return s("label",{className:"mapp-pick-sort"},s("span",{className:"mapp-pick-sort-label"},__("Sort")),s("select",{value:o,onChange:e=>a(e.target.value)},e.map(((e,t)=>s("option",{key:t,value:t},e.label)))))}(),s("label",{className:"mapp-pick-search"},s(N,{icon:"search"}),s(I,{autoComplete:"off",ref:h,className:"mapp-pick-search",placeholder:__("Map ID, post title, or map title..."),onChange:e=>function(e){r({page:1,searchValue:e}),F(e)}(e),size:50,spellCheck:"false",value:t.searchValue}))))}function U(){return s("div",{className:"mapp-gt-modal-header"},s("div",{className:"mapp-gt-modal-header-title"},s("h1",null,__("Maps")),s(w,{isPrimary:!0,onClick:()=>{r({mode:"edit",mapid:null})}},__("Add New"))),s(w,{onClick:()=>R(),icon:"no-alt"}))}return s(d,null,function(){const a="mapp-pick mapp-pick-"+(t.filter?t.filter:"all"),o=s("div",{className:a},s("div",{className:"mapp-pick-list",ref:f},U(),G(),s("div",{className:"mapp-pick-items-section",ref:u,tabIndex:1},j(),D&&s("div",{className:"mapp-pick-infinite",ref:y}))),C());return"library"==e.context?o:s(M,{className:"mapp-gt-modal mapp-pick-modal ",isDismissible:!0,onRequestClose:()=>R(),shouldCloseOnEsc:!0,shouldCloseOnClickOutside:"list"==t.mode},o)}(),function(){if("edit"==t.mode)return s(n.MappEdit,{context:e.context,mapid:t.mapid,onCancel:()=>{"edit"==e.mode?e.onClose():r({mode:"list"})},onSave:t=>function(t){if(!P.includes(t.mapid)){const e=[t.mapid].concat(P);p("mappStore").setMapids(e)}k(sprintf(__("Map %d saved"),t.mapid)),"edit"==e.mode?e.onClose():r({mode:"list",mapid:t.mapid}),"list"==e.mode&&u.current&&u.current.focus()}(t)})}())}window.addEventListener("DOMContentLoaded",(e=>{document.getElementById("mapp-library")&&(mappl10n.options.otype="post",mappl10n.options.oid=0,wp.element.render(s(T,{context:"library"}),document.getElementById("mapp-library")))}))},885:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappSettings:()=>b});var o=a(614),n=a(78),i=a(577);const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:m}=wp.element,{BaseControl:d,Button:u,ButtonGroup:g,Dashicon:h,Dropdown:_,Panel:f,PanelBody:v}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function b(e){e={center:null,context:null,height:null,mapid:null,mapTypeId:null,onChange:null,poiList:null,search:null,title:null,width:null,zoom:null,...e};const[t,a]=m({});const{addSnackbar:r,renderSnackbar:p}=(0,n.D)();function c(t,a){let o={};null!=a&&(o.height=a),null!=t&&(o.width=t),e.onChange(o)}const d="mce"!=e.context&&"library"!=e.context;return l("div",{className:"mapp-settings"},l(v,{title:__("Map settings"),initialOpen:d},"map"==e.context&&function(){const t=e.title?e.title:__("Untitled");return l("div",{className:"mapp-settings-row mapp-settings-title"},l(i.Control,{labelTop:__("Title")},t))}(),"map"==e.context&&l("div",{className:"mapp-settings-row"},l(i.Control,{labelTop:__("Map ID")},e.mapid)),function(){if("mashup"==e.context)return l("div",{className:"mapp-settings-row mapp-style-toggle"},l("div",null,__("Style")),l(o.m,{selected:e.mapTypeId,onChange:t=>function(t){e.onChange({mapTypeId:t})}(t)}))}(),function(){mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0];var t=mappl10n.options.sizes.map(((e,t)=>({label:e.width+" X "+e.height,height:e.height,width:e.width,value:t+1})));t.unshift({height:"",label:__("Default"),value:0,width:""}),t.push({label:__("Custom"),value:"custom",disabled:!0});for(var a="custom",o=0;o<t.length-1;o++)t[o].width==e.width&&t[o].height==e.height&&(a=o);return l(s,null,l("div",{className:"mapp-settings-row"},l(i.Select,{className:"mapp-settings-dims-select",help:"",labelTop:__("Size"),value:a,options:t,onChange:e=>c(t[e].width,t[e].height)})),l("div",{className:"mapp-settings-row"},l(i.Input,{className:"mapp-settings-dims-custom",help:{text:__("px, %, vw")},labelTop:__("Width"),onChange:e=>c(e,null),value:e.width?e.width:""}),l(i.Input,{className:"mapp-settings-dims-custom",help:{text:__("px, %, vh")},labelTop:__("Height"),onChange:e=>c(null,e),value:e.height?e.height:""})))}(),l("div",{className:"mapp-settings-row"},l(i.Control,{className:"mapp-settings-viewport",labelTop:__("Center/Zoom")},l(g,{label:__("Center/Zoom")},l(u,{onClick:()=>(r(__("Viewport automatic")),void e.onChange({center:null,zoom:null})),isPressed:!e.center,isSmall:!0},__("Automatic")),l(u,{onClick:()=>function(){r(__("Viewport set"));const t=e.viewport.center?e.viewport.center.lat+","+e.viewport.center.lng:null;e.onChange({center:t,zoom:e.viewport.zoom})}(),isPressed:e.center,isSmall:!0},__("Set"))))),void 0,p()))}},78:(e,t,a)=>{"use strict";a.d(t,{D:()=>s});const{useEffect:o,useState:n}=wp.element,{createContext:i}=React,l=wp.element.createElement,s=()=>{const[e,t]=n({snackbars:[]});function a(e){t((t=>({...t,...e})))}o((()=>{if(e.snackbars.length){const t=setTimeout((()=>{let t=[...e.snackbars];t.shift(),a({snackbars:t})}),5e3);return()=>clearTimeout(t)}}),[e.snackbars]);return{addSnackbar:t=>a({snackbars:[...e.snackbars,t]}),renderSnackbar:()=>l("div",{className:"mapp-snackbars"},e.snackbars.map(((e,t)=>l("div",{className:"mapp-snackbar mapp-snackbar-show",key:t},e))))}}},66:(e,t,a)=>{"use strict";a.r(t),a.d(t,{mappStore:()=>p});var o=a(939);const{createReduxStore:n,register:i}=wp.data,{apiFetch:l}=wp,s={counts:{all:null,trashed:null,object:null},isSaving:!1,mapids:[],maps:{},more:!1};async function r(e){let{method:t="GET",path:a,data:o}=e;return await l({method:t,path:a,data:o}).catch((e=>{alert(e.message)}))}const p=n("mappStore",{actions:{deleteMap:e=>async t=>{let{dispatch:a}=t;a({type:"REMOVE_MAP",payload:e});await r({path:"/mapp/v1/maps/"+e,method:"DELETE"})},duplicateMap:e=>async t=>{let{dispatch:a}=t;const o=mappl10n.options.oid?mappl10n.options.oid:null,n=await r({path:"/mapp/v1/maps/clone/"+e,method:"POST",data:{oid:o}});return a({type:"SET_MAP",payload:n}),n},mutateMap:(e,t)=>async a=>{let{dispatch:o}=a;o({type:"MUTATE_MAP",payload:{mapid:e,changes:t}});await r({path:"/mapp/v1/maps/"+e,method:"PATCH",data:{changes:t}})},saveMap:e=>async t=>{let{dispatch:a}=t;const o=e.mapid?"/mapp/v1/maps/"+e.mapid:"/mapp/v1/maps/";a({type:"IS_SAVING",payload:!0});const n=await r({path:o,method:"POST",data:e});return a({type:"IS_SAVING",payload:!1}),a({type:"SET_MAP",payload:{...e,mapid:n}}),{...e,mapid:n}},setCounts:e=>({type:"SET_COUNTS",payload:e}),setMapids:e=>({type:"SET_MAPIDS",payload:e})},selectors:{getCounts:(e,t,a)=>e.counts,getMap:(e,t)=>e.maps[t],getMapids:e=>e.mapids,getMaps:(e,t)=>e.maps,getMore:e=>e.more,isSaving:e=>e.isSaving},resolvers:{getCounts:(e,t)=>async a=>{let{dispatch:n}=a;const i=await r({path:"/mapp/v1/maps/counts?"+o.mappLib.jQueryParam({otype:e,oid:t})});i&&n({type:"SET_COUNTS",payload:i})},getMap:e=>async t=>{let{dispatch:a}=t;const o=await r({path:"/mapp/v1/maps/"+e});o&&a({type:"SET_MAP",payload:o})},getMaps:e=>async t=>{let{dispatch:a,select:n}=t;const i=e.page&&e.page>1;i||a({type:"SET_MAPIDS",payload:[]});const l=await r({path:"/mapp/v1/maps?"+o.mappLib.jQueryParam(e)});a({type:"SET_MAPS",payload:l.maps}),a({type:"SET_MORE",payload:l.more}),a({type:"SET_COUNTS",payload:l.counts});n.getMapids();const s=l.maps.map((e=>e.mapid));a({type:"SET_MAPIDS",payload:i?[...new Set([...n.getMapids(),...s])]:s})}},reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"DELETE_MAP":{let a={...e.maps};delete a[t.payload];const o=e.mapids.filter((e=>e!=t.payload));return{...e,maps:a,mapids:o}}case"IS_SAVING":return{...e,isSaving:t.payload};case"MUTATE_MAP":{const{mapid:a,changes:o}=t.payload,n={...e.maps};return n[a]={...n[a],...o},{...e,maps:n}}case"SET_COUNTS":const a={...e.counts};for(let e in t.payload)a[e]=parseInt(t.payload[e]);return{...e,counts:a};case"SET_MAP":{const a={...e.maps},n={...t.payload};return n.pois.map((e=>e.id=e.id?e.id:o.mappLib.nanoid())),a[n.mapid]=n,{...e,maps:a}}case"SET_MAPIDS":return{...e,mapids:t.payload};case"SET_MAPS":{const a={...e.maps};return t.payload.map((e=>{a[e.mapid]&&!a[e.mapid].stub||(a[e.mapid]=e)})),{...e,maps:a}}case"SET_MORE":return{...e,more:t.payload};default:return e}}});i(p)},614:(e,t,a)=>{"use strict";a.d(t,{m:()=>k});var o=a(577),n=a(939),i=a(27);const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:m}=wp.element,{Button:d,Dashicon:u,ExternalLink:g,Icon:h,Modal:f,Panel:v,PanelBody:b,PanelRow:y,Spinner:w}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function k(e){const[t,a]=m({apiKey:"6a0cfe9e-3670-4598-a63e-f1627b5c9e56",isOpen:!1,isBusy:!1,isSearching:!1,mapboxError:"",mapboxId:"",mapboxName:"",mapboxUser:"",mapboxUrl:"",mapboxParsedUrl:"",mode:"pick",page:1,snazzyPagination:null,snazzySearch:"",snazzySelected:null,snazzyStyles:null,standardStyles:mappl10n.options.standardStyles,userStyles:mappl10n.options.userStyles});function r(e){a((t=>({...t,...e})))}function p(a){let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=_.findIndex(t.userStyles,{id:a.id});i>=0&&!o&&!confirm(__("Style already exists, overwrite?"))||(r({isBusy:!0}),n.mappLib.ajax({method:"POST",data:{action:"mapp_style_save",style:a,nonce:mappl10n.options.nonce},callback:t=>{r({isBusy:!1}),t&&"OK"==t.status&&(mappl10n.options.userStyles=t.data,r({mode:"pick",userStyles:t.data}),e.onChange(a.id))}}))}function c(e){r({isSearching:!0,snazzyStyles:null}),n.mappLib.ajax({method:"GET",data:{sort:"popular",page:e,pageSize:50,text:t.snazzySearch,key:t.apiKey},url:"https://snazzymaps.com/explore.json",callback:function(e){if(r({isSearching:!1,snazzyPagination:e&&e.pagination?e.pagination:null}),e&&e.styles){r({snazzyStyles:_.map(e.styles,((e,t)=>(e.id=e.id+"",e)))})}else alert("Error: unable to fetch styles")}})}function u(e,t){t="large"==t||"small"==t?t:"small",t=800;let a=mappl10n.options.baseurl+"/images/json_style.png";if("leaflet"==mappl10n.options.engine?mappl10n.options.mapbox?e.user&&e.mapboxid&&(a="https://api.mapbox.com/styles/v1/"+e.user+"/"+e.mapboxid+"/static/-122.4194,37.7749,10,0/800x800?access_token="+mappl10n.options.mapbox):a=mappl10n.options.baseurl+"/images/osm.png":e.imageUrl&&(a=e.imageUrl),a)return l("img",{src:a,title:e.name})}function v(a,o){switch(a){case"close":case"pick-cancel":r({isOpen:!1});break;case"json-add":r({mode:"json-add"});break;case"json-cancel":case"mapbox-cancel":case"snazzy-cancel":r({mode:"pick"});break;case"json-edit":e.onChange(o.id),r({mode:"json-edit"});break;case"json-save":p(o,!0);break;case"mapbox-add":case"snazzy-add":alert(__("Please upgrade to MapPress Pro to use custom styles"));break;case"mapbox-change-url":{let e,t,a;e=o.trim().toLowerCase(),e=e.replace(".html","").replace("https://api.mapbox.com/styles/v1/","").replace("mapbox://styles/",""),e=e.split("?")[0];let n=e.split("/");2==n.length&&(t=n[0],a=n[1]),r({mapboxUrl:o,mapboxUser:t,mapboxId:a});break}case"mapbox-edit":e.onChange(o.id),r({mode:"mapbox",mapboxId:o.mapboxid,mapboxName:o.name,mapboxUrl:o.url,mapboxUser:o.user});break;case"mapbox-save":t.mapboxName&&t.mapboxUser&&p({id:t.mapboxId,name:t.mapboxName,mapboxid:t.mapboxId,provider:"mapbox",url:t.mapboxUrl,user:t.mapboxUser});break;case"mode":r({mode:o});break;case"open":"leaflet"!=mappl10n.options.engine||mappl10n.options.mapbox?r({isOpen:!0}):alert(__("Please enter a Mapbox access token in the MapPress settings screen to use styled maps."));break;case"pick-delete":confirm(mappl10n.delete_prompt)&&(i=o,_.findIndex(t.userStyles,{id:i})<0?n.mappLib.alert("Invalid delete"):(r({isBusy:!0}),n.mappLib.ajax({method:"POST",data:{action:"mapp_style_delete",id:i,nonce:mappl10n.options.nonce},callback:t=>{r({isBusy:!1}),t&&"OK"==t.status&&(mappl10n.options.userStyles=t.data,r({userStyles:t.data}),e.selected==i&&e.onChange(null))}})));break;case"pick-select":e.onChange(o),r({isOpen:!1});break;case"snazzy-save":{let e=_.findWhere(t.snazzyStyles,{id:o});e&&p({id:o,imageUrl:e.imageUrl,json:e.json,name:e.name});break}case"snazzy-search":c()}var i}function b(){let a;return"json-add"==t.mode?a={id:null,name:"",json:""}:"json-edit"==t.mode&&(a=e.selected?_.findWhere(t.userStyles,{id:e.selected}):null),l(C,{style:a,onSave:e=>v("json-save",e),onCancel:()=>v("json-cancel")})}function y(e){let a;return a=e.styles&&e.styles.length?_.map(e.styles,((t,a)=>function(e,t){let a,o="mapp-style"+(t.selected==e.id?" mapp-selected":"");(t.onEdit||t.onDelete)&&(a=l("div",{className:"mapp-style-actions"},l("a",{onClick:()=>t.onEdit(e)},__("Edit")),l(h,{icon:"trash",onClick:()=>t.onDelete(e.id)})));return l("div",{className:o,key:e.id},l("div",{className:"mapp-style-image",onClick:()=>t.onSelect(e.id)},u(e)),l("div",{className:"mapp-style-details"},l("div",{className:"mapp-style-title"},e.name),a))}(t,e))):t.isSearching?"":l("div",{className:"mapp-style-list-msg"},__("No results")),l("div",{className:"mapp-style-list-wrapper"},l("div",{className:"mapp-style-list-header"},e.title),l("div",{className:"mapp-style-list"},a))}return l(s,null,function(){const a=t.standardStyles.concat(t.userStyles);let o=!mappl10n.options.style||"roadmap"!=e.selected&&"streets"!=e.selected&&e.selected?e.selected:mappl10n.options.style,n=_.findWhere(a,{id:o});return n=n||t.standardStyles[0],l(d,{className:"mapp-style-toggle",icon:u(n),iconSize:75,isSecondary:!0,onClick:()=>v("open",null),title:n.name})}(),"edit"==t.mode&&t.isOpen&&renderEdit(),"json-add"==t.mode&&t.isOpen&&b(),"json-edit"==t.mode&&t.isOpen&&b(),"mapbox"==t.mode&&t.isOpen&&function(){let e=t.mapboxUser&&t.mapboxId?u({user:t.mapboxUser,mapboxid:t.mapboxId,name:t.mapboxName},"large"):null;const a=!t.mapboxUser||!t.mapboxId||!t.mapboxName;return l(f,{title:__("Add style"),className:"mapp-style-modal",onRequestClose:()=>v("mapbox-cancel"),shouldCloseOnClickOutside:!0},l("div",{className:"mapp-style-mapbox-title"},__("Enter style from Mapbox Studio"),l(g,{href:"https://studio.mapbox.com"})),l("form",{className:"mapp-style-mapbox-form",onSubmit:e=>{e.stopPropagation(),e.preventDefault(),v("mapbox-save")}},l("label",null,l(o.Input,{autoFocus:!0,className:"mapp-style-mapbox-url",labelTop:l(s,null,__("MapBox Share URL"),l(o.Help,{href:"#toc-mapbox-studio-styles"})),onChange:e=>v("mapbox-change-url",e),value:t.mapboxUrl})),l("label",null,l("div",{className:"mapp-style-mapbox-label"},__("Style name")),l(o.Input,{className:"mapp-style-mapbox-name",value:t.mapboxName,onChange:e=>r({mapboxName:e})})),l("div",{className:"mapp-style-mapbox-preview"},e),l("div",{className:"mapp-style-toolbar"},l("div",null,l(d,{isBusy:t.isBusy,isPrimary:!0,disabled:a,type:"submit"},__("Save")),l(d,{isBusy:t.isBusy,onClick:()=>v("mapbox-cancel")},__("Cancel"))))))}(),"pick"==t.mode&&t.isOpen&&function(){let a="";return t.userStyles&&t.userStyles.length&&(a=y({selected:e.selected,onEdit:e=>"leaflet"==mappl10n.options.engine?v("mapbox-edit"):v("json-edit",e),onDelete:e=>v("pick-delete",e),onSelect:e=>v("pick-select",e),styles:t.userStyles,title:__("Custom styles")})),l(f,{title:l("div",{className:"mapp-style-header"},__("Select a style")),className:"mapp-style-modal",onRequestClose:()=>v("close")},l("div",{className:"mapp-style-list-wrapper"},y({onSelect:e=>v("pick-select",e),selected:e.selected,styles:t.standardStyles,title:__("Standard styles")}),a),l("div",{className:"mapp-style-toolbar"},l("div",null,l(d,{isBusy:t.isBusy,isPrimary:!0,onClick:()=>"leaflet"==mappl10n.options.engine?v("mapbox-add"):v("json-add")},__("New style")),"google"==mappl10n.options.engine&&l(d,{isBusy:t.isBusy,isSecondary:!0,onClick:()=>v("snazzy-add")},__("Download style")),l(d,{isBusy:t.isBusy,onClick:()=>v("pick-cancel")},__("Cancel")))))}(),"snazzy"==t.mode&&t.isOpen&&(t.snazzySelected,l(f,{title:__("Download style"),className:"mapp-style-modal mapp-style-modal-snazzy",onRequestClose:()=>v("snazzy-cancel"),shouldCloseOnClickOutside:!0},l("form",{className:"mapp-style-snazzy-search",onSubmit:e=>{v("snazzy-search"),e.stopPropagation(),e.preventDefault()}},l("input",{value:t.search,placeholder:__("Search"),onChange:e=>r({snazzySearch:e.target.value})}),l(d,{disabled:t.isSearching,isBusy:t.isSearching,isPrimary:!0,icon:"search",onClick:()=>v("snazzy-search")})),y({selected:t.snazzySelected,styles:t.snazzyStyles,onSelect:e=>r({snazzySelected:e})}),l("div",{className:"mapp-style-toolbar"},l("div",null,l(d,{isBusy:t.isBusy,isPrimary:!0,onClick:()=>v("snazzy-save",t.snazzySelected)},__("Download")),l(d,{isBusy:t.isBusy,onClick:()=>v("snazzy-cancel")},__("Cancel"))),function(){const e=t.snazzyPagination;return e&&t.snazzyStyles&&t.snazzyStyles.length?l(i.MappPaginate,{count:e.totalItems,onChange:e=>c(e),page:e.currentPage,pageSize:e.pageSize}):null}()))))}function C(e){const[t,a]=m((()=>{let t={...e.style},a="";try{a=JSON.stringify(JSON.parse(t.json),null,2)}catch(e){}return t.json=a,{style:t}}));function n(e){a((t=>({...t,...e})))}function i(a,o){let i={...t.style};switch(a){case"cancel":e.onCancel();break;case"change-json":i.json=o,n({style:i});break;case"change-name":i.name=o,n({style:i});break;case"save":i.json=i.json?JSON.stringify(JSON.parse(i.json)):"",e.onSave(i)}}let s;if(t.style.json)try{JSON.parse(t.style.json)}catch(e){s=e.toString()}let r=s?"mapp-json mapp-json-error":"mapp-json";return l(f,{title:l(o.Input,{value:t.style.name,onChange:e=>i("change-name",e),placeholder:__("Enter style name")}),className:"mapp-style-modal mapp-json-modal",onRequestClose:()=>i("cancel"),shouldCloseOnClickOutside:!0},l("div",null,__("JSON")),l("div",{className:r},l("textarea",{value:t.style.json,spellCheck:!1,onChange:e=>i("change-json",e.target.value)})),l("div",{className:"mapp-json-error"},s||""),l("div",{className:"mapp-json-toolbar"},l("div",null,l(d,{disabled:s,isBusy:t.isBusy,isPrimary:!0,onClick:()=>i("save")},__("Save")),l(d,{isBusy:t.isBusy,onClick:()=>i("cancel")},__("Cancel")))))}},573:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappCard:()=>f});var o=a(939);a(577);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useCallback:r,useRef:p,useState:c}=wp.element,{useSelect:m}=wp.data,{Button:d,Dashicon:u,ExternalLink:g,Guide:h,Modal:_}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function f(e){let{icon:t,title:a,...o}=e;return n("div",{className:"mapp-support-card"},a&&n("div",{className:"mapp-support-card-title"},n("h3",null,t&&n(u,{icon:t}),a)),n("div",{className:"mapp-support-card-content"},o.children))}document.getElementById("mapp-support-page")&&wp.element.render(n((function(e){const[t,a]=c({engine:e.engine?e.engine:"leaflet",isOpen:e.isOpen,apiKey:e.apiKey,mapbox:e.mapbox});function s(e){a((t=>({...t,...e})))}function r(e){return n("div",{className:"mapp-guide-engine"+(e.selected?" mapp-selected":""),onClick:()=>e.onClick()},n("div",{className:"mapp-guide-engine-title"},e.title),n("div",{className:"mapp-guide-engine-content"},e.content))}return p(null),l((()=>{}),[]),n("div",{className:"mapp-support"},n(i,null,n("div",{className:"mapp-support-section"},n("div",{className:"mapp-support-header"},n("img",{src:mappl10n.options.baseurl+"/images/icon-128x128.png"}),n("h1",null,__("MapPress Support")),n("i",null,__("Build amazing maps with the easiest and most powerful mapping plugin available")),n("div",null,n(d,{className:"mapp-support-guide-toggle",isPrimary:!0,onClick:()=>s({isOpen:!0})},__("Open Setup Wizard"))))),n("div",{className:"mapp-support-section"},n("div",{className:"mapp-support-cards"},n(f,{icon:"book",title:__("Documentation")},n("p",null,__("Detailed plugin documentation:")),n(g,{href:"https://mappresspro.com/mappress-documentation/"},__("Documentation")),n(g,{href:"https://mappresspro.com/whats-new/"},__("What's new")),n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-map-library-and-map-editors"},__("Creating your first map"))),n(f,{icon:"warning",title:__("Troubleshooting")},n("p",null,n("b",null,__("Check for a plugin or theme conflict:"))),n("ol",null,n("li",null,__("Deactivate ALL other plugins")),n("li",null,__("Switch to a standard WordPress theme")),n("li",null,__("If the maps are working, reactivate one by one to find the conflict."))),n("p",null,__("For more info:")),n(g,{href:"https://mappresspro.com/mappress-faq/"},__("MapPress FAQ"))),n(f,{icon:"megaphone",title:__("Support")},n("p",null,__("Need some help?")),n(g,{href:"https://mappresspro.com/forums/forum/mappress-support/"},__("Support forum")),n(g,{href:"https://mappresspro.com/chris-contact/"},__("Contact")))))),function(){if(t.isOpen)return n(h,{className:"mapp-guide",onFinish:()=>function(e,a){if("save"===e){let e;s({isOpen:!1}),e="google"==t.engine?"google":t.mapbox?"mapbox":"nominatim",o.mappLib.ajax({method:"POST",data:{action:"mapp_option_save",nonce:mappl10n.options.nonce,settings:{engine:t.engine,apiKey:t.apiKey,mapbox:t.mapbox,geocoder:e}},callback:e=>{"OK"!=e.status&&alert("Unable to save settings. Please check the support troubleshooting guide.")}})}}("save"),pages:[{content:n("div",{className:"mapp-guide-page mapp-guide-engines"},n("h1",null,__("Please Choose a Mapping API")),n("div",{className:"mapp-guide-body"},n("p",null,__("MapPress supports both Leaflet and Google mapping APIs."),n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-picking-a-mapping-api"},__("Learn more")))),n("div",{className:"mapp-guide-engines"},r({onClick:()=>s({engine:"leaflet"}),selected:"leaflet"==t.engine,title:"Leaflet",content:n("ul",null,n("li",null,__("No API key")),n("li",null,__("No credit card")),n("li",null,__("Unlimited free usage")),n("li",null,__("Good functionality")))}),r({onClick:()=>s({engine:"google"}),selected:"google"==t.engine,title:"Google",content:n("ul",null,n("li",null,__("API key required")),n("li",null,__("Credit card required")),n("li",null,__("Lots of free usage")),n("li",null,__("Excellent functionality")))}))),image:n("div",{className:"mapp-guide-header mapp-guide-image-small"},n("img",{src:mappl10n.options.baseurl+"/images/icon-128x128.png"}),n("h1",null,__("Welcome to MapPress!")))},{content:"google"==t.engine?n("div",{className:"mapp-guide-page mapp-guide-apikey"},n("h1",null,__("Google API Key")),n("h2",null,__("(credit card required)")),n("div",{className:"mapp-guide-body"},n("p",null,__("Google requires an API key to use Google Maps.")),n("p",null,__("A $200 monthly usage credit means it's free for most sites")),n(d,{isPrimary:!0,href:"https://mappresspro.com/how-to-get-a-google-maps-api-key/",target:"_blank"},__("Get an API Key")),n("input",{className:"mapp-guide-apikey",onChange:e=>s({apiKey:e.target.value}),placeholder:__("Enter your API key here"),value:t.apiKey}))):n("div",{className:"mapp-guide-page mapp-guide-apikey"},n("h1",null,__("Sign up with Mapbox")),n("h2",null,__("(optional - credit card required)")),n("div",{className:"mapp-guide-body"},n("p",null,__("Mapbox makes Leaflet better, with great-looking map tiles, styled maps, and a powerful geocoder.")),n("p",null,__("A generous monthly usage credit means it's free for most sites."),n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-using-mapbox-with-leaflet"},__("Learn more"))),n(d,{isPrimary:!0,href:"https://account.mapbox.com/auth/signup/",target:"_blank"},__("Get Mapbox Access Token")),n("input",{className:"mapp-guide-apikey",onChange:e=>s({mapbox:e.target.value}),placeholder:__("Enter your access token here"),value:t.mapbox}))),image:n("div",{className:"mapp-guide-header mapp-guide-image-small"},"google"==t.engine&&n("img",{src:mappl10n.options.baseurl+"/images/google_logo.png"}),"leaflet"==t.engine&&n("img",{src:mappl10n.options.baseurl+"/images/mapbox_logo_white.png"}))},{content:n("div",{className:"mapp-guide-page mapp-guide-gutenberg"},n("h1",null,__("Maps in the Block Editor")),n("div",{className:"mapp-guide-body"},n("p",null,__("MapPress provides custom block types for the Gutenberg editor.")),n("p",null,__("Just insert a MapPress Map block to get started."),n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-create-a-map-with-the-gutenberg-block-editor"},__("Learn more"))))),image:n("div",{className:"mapp-guide-header"},n("img",{src:mappl10n.options.baseurl+"/images/gutenberg_map_block.gif"}))},{content:n("div",{className:"mapp-guide-page mapp-guide-classic"},n("h1",null,__("Maps in the Classic Editor")),n("div",{className:"mapp-guide-body"},n("p",null,__('MapPress also supports the "classic" editor. Just click the MapPress button to open the map library.')),n("p",null,n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-create-a-map-with-the-classic-editor"},__("Learn more"))))),image:n("div",{className:"mapp-guide-header"},n("img",{src:mappl10n.options.baseurl+"/images/classic_map.gif"}))},{content:n("div",{className:"mapp-guide-page mapp-guide-library"},n("h1",null,__("Map Library")),n("div",{className:"mapp-guide-body"},n("p",null,__("The Map Library provides an easy way to see and edit all of your maps. The library can be opened in the post editor or from the MapPress menu.")),n("p",null,n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-map-library-and-map-editors"},__("Learn more"))))),image:n("div",{className:"mapp-guide-header"},n("img",{src:mappl10n.options.baseurl+"/images/library_menu.gif"}))},{content:n("div",{className:"mapp-guide-page mapp-guide-end"},n("h1",null,__("Happy Mapping")),n("div",{className:"mapp-guide-body"},n("p",null,__("Enjoy the plugin! Replay this guide any time from the MapPress support menu.")))),image:n("div",{className:"mapp-guide-header"},n("img",{src:mappl10n.options.baseurl+"/images/icon-128x128"}))}]})}())}),mappress_support_state),document.getElementById("mapp-support-page"))},697:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappTemplateEditor:()=>f});var o=a(577),n=a(939);const i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useCallback:p,useRef:c,useState:m}=wp.element,{Button:d,Dashicon:u,Modal:g,TabPanel:h}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function f(e){const[t,a]=m({codeEditor:null,isOpen:!1,name:null,tab:"editor",template:null,tokens:null});function s(e){a((t=>({...t,...e})))}const r=p((e=>{if(null!=e){let a=wp.codeEditor.initialize(e);a.codemirror.setSize("auto","auto"),a.codemirror.setOption("readOnly","editor"!=t.tab),s({codeEditor:a})}}),[t.tab]);function c(){s({isOpen:!1})}function u(e){return"editor"==e?function(){const e=i("div",{className:"mapp-templates-tokens"},_.map(t.tokens,((e,a)=>i("code",{onClick:()=>function(e){let a=t.codeEditor.codemirror.getDoc(),o=a.getCursor();a.replaceRange("{{{poi."+e+"}}}",o)}(a),key:a,title:e},e))));return i(l,null,i("div",{className:"mapp-templates-path"},t.template.path),e,i("div",{className:"mapp-templates-editor"},i("textarea",{ref:r,defaultValue:t.template.content})))}():i(l,null,i("div",{className:"mapp-templates-standard"},i("textarea",{ref:r,defaultValue:t.template.standard})))}function h(){const e=t.template.name+" ("+(t.template.exists?__("Custom"):__("New"))+")";return i("div",{className:"mapp-templates-name"},e)}return i("div",{className:"mapp-templates"},function(){const e=[{name:"map-popup",label:__("Map popup")},{name:"map-item",label:__("Map list item")},{name:"mashup-popup",label:__("Mashup popup")},{name:"mashup-item",label:__("Mashup list item")},{name:"user-mashup-popup",label:__("User popup")},{name:"user-mashup-item",label:__("User list item")}];return i("div",{className:"mapp-templates-list"},_.map(e,((e,t)=>i("a",{href:"#",key:e.name,className:"mapp-templates-item",onClick:t=>{var a;t.preventDefault(),a=e.name,n.mappLib.ajax({method:"GET",data:{action:"mapp_tpl_get",name:a,nonce:mappl10n.options.nonce},callback:e=>{e&&"OK"==e.status&&s({isOpen:!0,name:a,tab:"editor",template:e.data.template,tokens:e.data.tokens})}})}},e.label))))}(),t.isOpen&&t.template?i(g,{title:h(),className:"mapp-templates-modal",onRequestClose:()=>c(),shouldCloseOnClickOutside:!1},i(o.MappTabs,{className:"mapp-templates-tabs",onRender:e=>u(e),onSelect:e=>function(e){if("editor"!=e){let e={...t.template};e.content=t.codeEditor.codemirror.getValue(),s({template:e})}s({tab:e})}(e),tabs:[{name:"editor",label:__("Editor")},{name:"standard",label:__("Default")}]}),t.error&&i("div",{className:"mapp-templates-error"},t.error),i("div",{className:"mapp-templates-toolbar"},i("div",null,i(d,{isPrimary:!0,onClick:()=>function(){let e="editor"==t.tab?t.codeEditor.codemirror.getValue():t.template.content;n.mappLib.ajax({method:"POST",data:{action:"mapp_tpl_save",content:e,name:t.template.name,nonce:mappl10n.options.nonce},callback:function(e){e&&"OK"==e.status&&s({isOpen:!1,template:null,tokens:null})}})}()},__("Save")),i(d,{isSecondary:!0,onClick:()=>c()},__("Cancel"))),i("div",null,t.template.exists&&i(d,{isDestructive:!0,title:__("Reset template to default"),onClick:e=>{e.preventDefault(),confirm(mappl10n.delete_prompt)&&(n.mappLib.ajax({method:"POST",data:{action:"mapp_tpl_delete",name:t.template.name,nonce:mappl10n.options.nonce}}),s({isOpen:!1}))}},__("Reset"))))):null)}},326:(e,t,a)=>{"use strict";a.d(t,{useClickOutside:()=>c,useDebounce:()=>m,useResizeObserver:()=>d,useIntersectionObserver:()=>u,useTimeout:()=>g});wp.element.createElement;const{Fragment:o,useCallback:n,useEffect:i,useLayoutEffect:l,useMemo:s,useRef:r,useState:p}=wp.element;function c(e,t){i((()=>{const a=a=>{e.current&&!e.current.contains(a.target)&&t()};return document.addEventListener("mousedown",a),document.addEventListener("touchstart",a),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("touchstart",a)}}))}function m(e,t,a){const o=r(!1);i((()=>(o.current=!0,()=>o.current=!1)),[]);const l=_.debounce((function(){o.current&&e(...arguments)}),t);return n(l,a=a||[])}function d(e,t){const a=r();a.current=t,i((()=>{if(!e)return;const t=new ResizeObserver(((e,t)=>{a.current()}));return t.observe(e),()=>{t.disconnect()}}),[e])}function u(e){let{container:t,element:a,options:o,callback:n}=e;const l=r(null),s=r(null);s.current=n,i((()=>(!l.current&&a&&t&&(l.current=new IntersectionObserver((e=>{e[0].isIntersecting&&s.current()}),{...o,root:t}),l.current.observe(a)),()=>{l.current&&(l.current.disconnect(),l.current=null)})),[t,a])}function g(e,t){const a=React.useRef(null),o=React.useRef(e);return i((()=>{o.current=e}),[e]),i((()=>(t>0&&(a.current=window.setTimeout((()=>o.current()),t)),()=>{a.current&&window.clearTimeout(a.current)})),[t]),a}},939:(e,t,a)=>{"use strict";a.d(t,{mappLib:()=>o,mappEvent:()=>n,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 a=void 0!==t.message?t.message:t.statusText;o.alert("AJAX error -- "+a)}))},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},getIcon:function(e){{const t=this.getIconUrl(e);return"leaflet"==mappl10n.options.engine?L.icon({iconUrl:t,iconAnchor:[16,32],iconSize:[32,32],popupAnchor:[0,-32]}):{url:t}}},getIconUrl:function(e){return"https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png"},jQueryParam:function(e){var t=[],a=function(e,a){a=null==(a="function"==typeof a?a():a)?"":a,t[t.length]=encodeURIComponent(e)+"="+encodeURIComponent(a)},o=function(e,n){var i,l,s;if(e)if(Array.isArray(n))for(i=0,l=n.length;i<l;i++)o(e+"["+("object"==typeof n[i]&&n[i]?i:"")+"]",n[i]);else if("[object Object]"===Object.prototype.toString.call(n))for(s in n)o(e+"["+s+"]",n[s]);else a(e,n);else if(Array.isArray(n))for(i=0,l=n.length;i<l;i++)a(n[i].name,n[i].value);else for(s in n)o(s,n[s]);return t};return o("",e).join("&")},nanoid:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21;const t="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let a="",o=e;for(;o--;)a+=t[64*Math.random()|0];return a},pointToLatLng:function(e){return e?"leaflet"==mappl10n.options.engine?L.latLng(e):new google.maps.LatLng(e.lat,e.lng):null},template:function(e,t){if(o.templates=o.templates?o.templates:{},!o.templates[e]){var a=document.getElementById("mapp-tmpl-"+e).innerHTML;if(!a)return"";o.templates[e]=_.template(a,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g})}return o.templates[e](t)},toJSON:e=>e.toJSON?e.toJSON():e&&e.hasOwnProperty("lat")&&e.hasOwnProperty("lng")?e:"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}},n={addListener:function(e,t,a){let o=[];t=t.split(" ");for(var n=0;n<t.length;n++)"leaflet"==mappl10n.options.engine?(e.on(t[n],a),o.push({target:e,event:t[n],callback:a})):o.push(google.maps.event.addListener(e,t[n],a));return o},addListenerOnce:function(e,t,a){t=t.split(" ");for(var o=0;o<t.length;o++)"leaflet"==mappl10n.options.engine?e.once(t[o],a):google.maps.event.addListenerOnce(e,t[o],a)},clearInstanceListeners:function(e){"leaflet"==mappl10n.options.engine?e.off():google.maps.event.clearInstanceListeners(e)},clearListeners:function(e,t){t=t.split(" ");for(var a=0;a<t.length;a++)"leaflet"==mappl10n.options.engine?e.off(t[a]):google.maps.event.clearListeners(e,t[a])},removeListener:function(e){for(let t=0;t<e.length;t++)"leaflet"==mappl10n.options.engine?e[t].target.off(e[t].event,e[t].callback):google.maps.event.removeListener(e[t])},trigger:function(e,t,a){"leaflet"==mappl10n.options.engine?e.fire(t,a):google.maps.event.trigger(e,t,a)}},i={parseOverlay:function(e,t){if("google"==mappl10n.options.engine){if("kml"==e){const e=t.getDefaultViewport();return{point:e?o.toJSON(e.getCenter()):null,viewport:e?o.boundsToViewport(e):null}}const a=t instanceof google.maps.Polyline?{strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,stokeWeight:t.strokeWeight}:{fillColor:t.fillColor,fillOpacity:t.fillOpacity,strokeColor:t.strokeColor,strokeOpacity:1,stokeWeight:t.strokeWeight};if("circle"==e)return{point:o.toJSON(t.getCenter()),poly:{radius:t.getRadius(),...a}};if("rectangle"==e)return{viewport:o.boundsToViewport(t.getBounds()),poly:{...a}};if("polyline"==e){const e=[];return t.getPath().forEach((function(t){e.push(o.toJSON(t))})),{poly:{path:e,...a}}}if("polygon"==e){const e={fillColor:t.fillColor,fillOpacity:t.fillOpacity,strokeColor:t.strokeColor,strokeOpacity:1,stokeWeight:t.strokeWeight},a=[];return t.getPaths().forEach((function(e){var t=[];e.forEach((function(e){t.push(o.toJSON(e))})),a.push(t)})),{poly:{paths:a,...e}}}if(!e)return{point:o.toJSON(t.getPosition())}}else{if("kml"==e){const e=t.getBounds();return{point:e&&e.isValid()?o.toJSON(e.getCenter()):null,viewport:e&&e.isValid()?o.boundsToViewport(e):null}}if(!e)return{point:"leaflet"==mappl10n.options.engine?o.toJSON(t.getLatLng()):o.toJSON(t.getPosition())}}}}},346:(t,a,o)=>{"use strict";o.d(a,{MappMap:()=>I});var n=o(939),i=o(715),l=(o(817),o(602)),s=o(818),r=o(81),p=o(50),c=o(615);const m=wp.element.createElement,{Fragment:d,useEffect:u,useLayoutEffect:g,useMemo:h,useRef:f,useState:v}=wp.element;function b(e){e={anchor:null,className:null,content:null,map:null,onMouseEnter:null,onMouseLeave:null,point:null,...e};const t=f(null),[a,o]=v({isLoaded:null,mapDiv:"leaflet"==mappl10n.options.engine?e.map.getContainer():e.map.getDiv(),overlayView:null});function i(e){o((t=>({...t,...e})))}function l(){const o=t.current;if(!o)return;if(document.fullscreenElement||e.map.isFullscreen)return;let i;const{width:l,height:s}=o.getBoundingClientRect(),r=n.mappLib.pointToLatLng(e.point);if("leaflet"==mappl10n.options.engine)i=e.map.latLngToContainerPoint(r);else{const e=a.overlayView.getProjection();if(!e)return;i=e.fromLatLngToContainerPixel(r)}o.style.bottom=a.mapDiv.clientHeight-i.y-e.anchor.y+"px",o.style.left=i.x-l/2+e.anchor.x+"px"}return g((()=>{"google"==mappl10n.options.engine?a.overlayView||(a.overlayView=new google.maps.OverlayView,a.overlayView.onAdd=function(){i({isLoaded:!0})},a.overlayView.setMap(e.map)):(e.map.stop(),i({isLoaded:!0}))}),[]),g((()=>{if(!a.isLoaded)return;let t;return"google"==mappl10n.options.engine?a.overlayView.draw=()=>l():t=n.mappEvent.addListener(e.map,"move",(e=>l())),()=>{"google"==mappl10n.options.engine?a.overlayView.draw=null:n.mappEvent.removeListener(t)}})),g((()=>{a.isLoaded&&(l(),function(){const o=t.current;if(!o)return;const i=30,l=o.offsetWidth,s=o.offsetHeight,r=a.mapDiv.clientWidth,p=a.mapDiv.clientHeight,c=n.mappLib.pointToLatLng(e.point);let m;if("leaflet"==mappl10n.options.engine)m=e.map.latLngToContainerPoint(c);else{const e=a.overlayView.getProjection();m=e?e.fromLatLngToContainerPixel(c):null}if(!m)return;var d={x:m.x,y:m.y};m.x+l/2+e.anchor.x>r-i?d.x=Math.max(r-l/2-e.anchor.x-i,r/2-e.anchor.x):m.x-l/2+e.anchor.x<i&&(d.x=Math.min(l/2+e.anchor.x+i,r/2-e.anchor.x));m.y+e.anchor.y-s<i&&(d.y=s-e.anchor.y+i);d.y>=p&&(d.y=p-i);const u={x:m.x-d.x,y:m.y-d.y};(u.x<=-1||u.x>=1||u.y<=-1||u.y>=1)&&("leaflet"==mappl10n.options.engine?e.map.panBy([u.x,u.y]):e.map.panBy(u.x,u.y))}())}),[a.isLoaded]),a.isLoaded?m("div",{className:"mapp-ib-wrapper",ref:t,onMouseEnter:()=>{e.onMouseEnter&&e.onMouseEnter()},onMouseLeave:()=>{e.onMouseLeave&&e.onMouseLeave()}},m("div",{className:"mapp-ib-content"},m("div",{className:"mapp-ib"},m("div",{className:"mapp-iw "+(e.className?e.className:"")},e.content)),m("div",{className:"mapp-ib-tip"}))):null}var y=o(892),w=o(10),k=o(326);const C=n.mappLib.toJSON,{Fragment:x,useCallback:S,useEffect:N,useLayoutEffect:O,useRef:M,useState:E}=wp.element,P=wp.element.createElement,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function I(t){t={alignment:null,center:null,centerPoi:null,classname:null,container:null,geolocate: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,query:null,search:null,width:null,zoom:null,...t};const[a,o]=E({clusterer:null,clustererDefaultRenderer:"undefined"!=typeof markerClusterer?new markerClusterer.DefaultRenderer:null,directionsTo:null,drawingManager:null,filters:null,hovered:null,hoveredDelay:null,hoveredPopup:null,init:null,isDirectionsOpen:null,isFetching:null,isGeolocating:null,isHidden:!1,isIframe:t.container&&t.container.classList.contains("mapp-content"),isLoaded:null,isMounted:null,isMini:null,isSidebarOpen:null!=t.poiListOpen?t.poiListOpen:mappl10n.options.poiListOpen,kmlEvent:null,layers:{},layout:t.layout?t.layout:mappl10n.options.layout,map:null,opened:null,oid:t.oid?t.oid:mappl10n.options.oid,otype:t.otype?t.otype:mappl10n.options.otype,overlays:[],page:1,pageCount:0,parsedCenter:null,poiList:void 0!==t.poiList&&null!=t.poiList?t.poiList:mappl10n.options.poiList,pois:[],polyline:null,templates:t.query?"user"==t.otype?{item:"user-mashup-item",popup:"user-mashup-popup"}:{item:"mashup-item",popup:"mashup-popup"}:{item:"map-item",popup:"map-popup"},userLocation:null}),m=M(t.container),d=M(null),u=M(null),{geocode:g,geolocate:h}=(M(),(0,w.useGeocoding)({withBusinesses:t.isEditable}));function f(e){o((t=>({...t,...e})))}(0,k.useResizeObserver)(d.current,q),(0,k.useResizeObserver)(m.current,(function(){if(a.poiList&&"inline"!=a.layout&&m.current){const e=m.current.clientWidth<mappl10n.options.mini;!a.isMini&&e&&f({isSidebarOpen:!1}),e!=a.isMini&&(f({isMini:e}),m.current&&m.current.classList.toggle("mapp-mini",e))}})),N((()=>{switch(a.init){case null:!function(){const e=[__("MapPress FAQ")+": http://mappresspro.com/mappress-faq",__("Support")+": http://mappresspro.com/chris-contact",__("Get an API Key")+": 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"),text:__("A theme or plugin is preventing the Leaflet library from loading.")},{condition:"google"==mappl10n.options.engine&&"undefined"==typeof google,title:__("Google Maps API not loaded"),text:__("A theme or plugin is preventing Google Maps from loading.")},{condition:"google"==mappl10n.options.engine&&!mappl10n.options.apikey,title:__("Google Maps API key required")},{condition:document.querySelectorAll('script[src*="https://maps.googleapis.com/maps/api/js?v="]').length>1,title:__("Google Maps API loaded multiple times"),text:__("A theme or plugin has loaded Google Maps twice")},{condition:"undefined"==typeof _,title:__("Underscore library not loaded"),text:__("A theme or plugin is preventing the underscore.js library from loading.")}];t=t.filter((e=>e.condition));let a=t.map((e=>e.title+" : "+e.text));a.length&&(console.log(__("Map Error")+"\n----------------\n"+a.join("\n")+"\n----------------\n"+e.join("\n")),mappl10n.options.admin&&alert(__("Map error: please see the developer console (F12 in most browsers) for details.")))}();let e,o={...t.mapOpts};if(o.minZoom=isNaN(parseInt(o.minZoom))?0:parseInt(o.minZoom),"leaflet"==mappl10n.options.engine?(e=new L.Map(d.current,{attribution:'Map data <a href="https://openstreetmap.org">OpenStreetMap</a>',minZoom:0,scrollWheelZoom:mappl10n.options.scrollWheel,worldCopyJump:!0,zoomControl:null,...o}),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(e)):e=new google.maps.Map(d.current,{backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,mapTypeControl:!1,minZoom:0,scaleControl:!0,scrollWheelZoom:mappl10n.options.scrollWheel,streetViewControl:!t.query,streetViewControlOptions:{position:google.maps.ControlPosition.LEFT_BOTTOM},...o}),f({map:e}),mappl10n.options.userLocation&&mappl10n.options.ssl&&h((e=>{e&&e.geometry&&e.geometry.location&&f({userLocation:e.geometry.location})}),!0),mappl10n.options.geolocate||t.geolocate||"user"==t.center)return void h((e=>{e&&e.geometry&&e.geometry.location&&f({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),f({init:1})}));g({value:t.center,callback:e=>{e&&e.geometry&&e.geometry.location&&f({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),f({init:1})}});break;case 1:ee(t.mapTypeId),function(){if(t.isEditable&&"google"==mappl10n.options.engine&&google.maps.drawing){const e={fillColor:"#0000FF",fillOpacity:.4,strokeColor:"#0000FF",strokeOpacity:1,strokeWeight:2};a.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}),a.drawingManager.setMap(a.map)}}(),function(){a.polyline&&("leaflet"==mappl10n.options.engine?a.polyline.remove():a.polyline.setMap(null),f({polyline:null}));if(t.isEditable||!t.lines&&!mappl10n.options.lines||a.pois.length<2)return;const e={...mappl10n.options.lineOpts},o=[];if(_.map(a.pois,(e=>{o.push(B(e))})),"leaflet"==mappl10n.options.engine)f({polyline:new L.Polyline(o,e).addTo(a.map)});else{const t={strokeColor:e.color,strokeWeight:e.weight,strokeOpacity:e.opacity};e.icons&&(_.map(e.icons,(e=>{e.icon.path=parseInt(e.icon.path)})),e.icons[0].repeat="50px"),f({polyline:new google.maps.Polyline({map:a.map,path:o,...e,...t})}),e.animate&&e.icons&&e.icons.length&&function(){let e=0;const t=a.polyline.get("icons");t[0].repeat.replace("%","").replace("px","");window.setInterval((()=>{e+=1;t[0].offset=e+(t[0].repeat.indexOf("%")>=0?"%":"px"),a.polyline.set("icons",t)}),20)}()}}(),t.query&&!a.isIframe?v((()=>f({init:2}))):(f({pois:t.pois?t.pois:[]}),f({init:2}));break;case 2:const i="leaflet"==mappl10n.options.engine?"load":"tilesloaded";n.mappEvent.addListenerOnce(a.map,i,(()=>{f({bounds:I()}),function(){if(mappl10n.options.clustering&&!t.isEditable){let e,t=mappl10n.options.clusteringOptions?mappl10n.options.clusteringOptions:{};if(void 0!==t.disableClusteringAtZoom&&""==t.disableClusteringAtZoom&&(t.disableClusteringAtZoom=null),"leaflet"==mappl10n.options.engine)e=L.markerClusterGroup(t),a.map.addLayer(e);else{t.maxZoom=void 0!==t.maxZoom&&t.maxZoom?parseInt(t.maxZoom):void 0;const o=new markerClusterer.SuperClusterAlgorithm(t);e=new markerClusterer.MarkerClusterer({map:a.map,markers:[],algorithm:o,renderer:{render:(e,t)=>{let{count:o,position:n}=e;const i=a.clustererDefaultRenderer.render({count:o,position:n},t);return i.title=null,i}}})}f({clusterer:e})}}(),(t.initialOpenInfo||mappl10n.options.initialOpenInfo)&&!t.isEditable&&a.pois&&a.pois.length&&V(a.pois[0]),f({isLoaded:!0})})),W()}}),[a.init]);(0,k.useTimeout)((()=>{f({hoveredDelay:0}),a.hoveredPopup||f({hovered:null})}),a.hoveredDelay);function v(e){}function S(e){return a.pois.find((t=>t.id==e))}function O(e){return a.map.fitBounds(e)}function I(){try{return a.map.getBounds()}catch(e){return null}}function T(){let e;try{e=a.map.getCenter()}catch(t){e=null}return e?C(e):null}function D(){if(t.embed)return{width:"100%",height:"100%"};const e=mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0],a=e=>"string"==typeof e&&(e.indexOf("px")>=0||e.indexOf("%")>=0||e.indexOf("vh")>=0||e.indexOf("vw")>=0)?e:e+"px";return{width:t.width?a(t.width):a(e.width),height:t.height?a(t.height):a(e.height)}}function z(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 a=new google.maps.Circle({center:e.point,radius:e.poly.radius});t=a.getBounds();break;default:t=n.mappLib.viewportToBounds(e.viewport)}return t}function B(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 a=z(e);return"leaflet"==mappl10n.options.engine?a&&a.isValid()?a.getCenter():new L.latLng(0,0):a?a.getCenter():new google.maps.LatLng(0,0)}function R(){let e;try{e=a.map.getZoom()}catch(t){e=null}return e?parseInt(e):null}function A(){return!!(t.isEditable||t.search||mappl10n.options.search&&t.query)}N((()=>{a.isLoaded&&!t.query&&f({pois:t.pois?t.pois:[]})}),[t.pois]),N((()=>{a.clusterer&&("leaflet"==mappl10n.options.engine?(a.clusterer.clearLayers(),a.clusterer.addLayers(a.overlays)):(a.clusterer.clearMarkers(),a.clusterer.addMarkers(a.overlays)))}),[a.clusterer,a.overlays]),N((()=>{a.isLoaded&&t.query&&v()}),[t.query,a.filters]),N((()=>{a.isLoaded&&null==t.center&&W(null)}),[t.center]),N((()=>{a.isLoaded&&ee(t.mapTypeId)}),[t.mapTypeId]),N((()=>{a.isLoaded&&function(e){let t=mappl10n.options.poiZoom;if(e.viewport){var a=e.viewport.ne.lng-e.viewport.sw.lng;a<0&&(a+=360),t=Math.floor(Math.log(360*d.current.clientWidth/a/256)/Math.LN2)}te(B(e),t)}(t.centerPoi)}),[t.centerPoi]),N((()=>{if(!a.isLoaded)return;let e,o,i;return e=n.mappEvent.addListener(a.map,"moveend idle",(e=>F())),o=n.mappEvent.addListener(a.map,"click dragstart zoom_changed zoomstart",(e=>{"leaflet"==mappl10n.options.engine&&"click"==e.type&&e.originalEvent&&!e.originalEvent.target.matches(".mapp-canvas")||G()})),a.drawingManager&&(i=n.mappEvent.addListener(a.drawingManager,"overlaycomplete",(e=>{a.drawingManager.setDrawingMode(null),U(null),t.onDrawingEvent&&t.onDrawingEvent(e)}))),t.name&&(window[t.name]={getPois:()=>a.pois,poiOpen:e=>f({opened:"string"==typeof e?e:e.id})}),()=>{n.mappEvent.removeListener(e),n.mappEvent.removeListener(o),i&&n.mappEvent.removeListener(i)}}));const F=(0,k.useDebounce)((()=>{f({bounds:I(),page:1}),t.onViewportChange&&t.onViewportChange({center:T(),zoom:R()})}),500,[t.onViewportChange,a.map]);function j(e,a){if("poi"!=mappl10n.options.mashupClick&&t.query&&"post"==e.otype&&e.oid&&e.url)switch(mappl10n.options.mashupClick){case"post":return void window.location.assign(e.url);case"postnew":return void window.open(e.url);case"postmodal":const t=document.createElement("div");return document.body.appendChild(t),ReactDOM.render(P(y.MappPopupModal,{onClose:()=>{wp.element.unmountComponentAtNode(t),t.remove()},poi:e}),t)}else V(e,a)}function G(){f({hovered:null,opened:null,isDirectionsOpen:!1})}function U(e,o){!t.isEditable&&mappl10n.options.tooltips&&(e&&e.id==a.opened||a.opened||f(e?{hovered:e.id,hoveredDelay:0}:o?{hoveredDelay:300}:{hovered:null,hoveredDelay:0}))}function V(e,t){G(),a.isMini&&H(!1),f({kmlEvent:t,opened:e.id})}function K(e){e?f({hoveredPopup:e.id,hoveredDelay:0}):(f({hoveredPopup:null}),a.hovered&&!a.opened&&f({hoveredDelay:300}))}function q(){"leaflet"==mappl10n.options.engine?a.map.invalidateSize():n.mappEvent.trigger(a.map,"resize"),m.current&&0==m.current.offsetHeight?f({isHidden:!0}):a.isHidden&&(f({isHidden:!1}),W())}function H(e){f({isSidebarOpen:e=void 0!==e?e:!a.isSidebarOpen,isDirectionsOpen:!1}),setTimeout((()=>q()),100)}function W(e){e=null==e?a.parsedCenter:e;const o=t.zoom&&parseInt(t.zoom)?parseInt(t.zoom):null;if(e)return void te(e,o||1);if(0==a.pois.length)return void te({lat:0,lng:0},o||1);if(1==a.pois.length)return void te(B(a.pois[0]),o||mappl10n.options.poiZoom);let n="leaflet"==mappl10n.options.engine?new L.LatLngBounds:new google.maps.LatLngBounds;for(var i=0;i<a.pois.length;i++){var l=z(a.pois[i]);n=l?"leaflet"==mappl10n.options.engine?n.extend(l):n.union(l):n.extend(B(a.pois[i]))}o?te(C(n.getCenter()),o):O(n)}function Z(){return mappl10n.options.ssl?P("div",{className:"mapp-"+mappl10n.options.engine+"-geolocate-wrapper"},P("div",{className:"mapp-geolocate-control",onClick:()=>(f({isGeolocating:!0}),void h((e=>{f({isGeolocating:!1}),e&&e.geometry&&e.geometry.location&&te(e.geometry.location,mappl10n.options.poiZoom)}),!1)),title:__("Your Location")})):null}function J(){if(A())return a.isLoaded?P("div",{className:"mapp-header"},A()&&a.map?P("div",{className:"mapp-search-container"},P(s.MappPlaces,{buttonLabel:t.isEditable?__("Add to map"):P("img",{src:mappl10n.options.baseurl+"/images/search.png"}),focus:t.isEditable,includeBusinesses:t.isEditable,map:a.map,onSearch:e=>{t.onSearch?t.onSearch(e):function(e){if(!e||!e.geometry)return;const t=e.geometry.location?e.geometry.location:null,a=e.geometry.viewport?e.geometry.viewport:null;let o;if("leaflet"==mappl10n.options.engine){const e=new L.LatLng(t.lat,t.lng);o=a?new L.LatLngBounds(new L.LatLng(a.sw.lat,a.sw.lng),new L.LatLng(a.ne.lat,a.ne.lng)):e.toBounds(1e3*mappl10n.options.radius)}else{const e=new google.maps.Circle({center:t,radius:1e3*mappl10n.options.radius});o=a?new google.maps.LatLngBounds(new google.maps.LatLng(a.sw.lat,a.sw.lng),new google.maps.LatLng(a.ne.lat,a.ne.lng)).union(e.getBounds()):e.getBounds()}o&&O(o),te(t)}(e)}})):null,"top"==mappl10n.options.filtersPos&&null):P("div",{className:"mapp-header"})}function Y(){return P(x,null,a.isFetching||a.isGeolocating?P(x,null,P("div",{className:"mapp-spinner-overlay"}),P("div",{className:"mapp-spinner"})):null,J(),P("div",{className:"mapp-main"},"inline"!=a.layout&&$(),P("div",{className:"mapp-canvas-panel"+("google"==mappl10n.options.engine?" mapp-google":" mapp-leaflet")},P("div",{className:"mapp-canvas",ref:d}),a.isLoaded&&a.userLocation?P(r.MappPoi,{isClusterable:!1,isEditable:!1,isOpen:!1,key:"user",map:a.map,poi:{point:a.userLocation,iconid:"geolocation"}}):null,function(){if(!a.isLoaded)return;const o=[],n=(e,t,n)=>{a.clusterer&&(t&&o.push(e),n==a.pois.length-1&&f({overlays:o}))};return a.pois.map(((o,i)=>P(r.MappPoi,{key:o.id,isClusterable:!!a.clusterer&&!o.type,isEditable:!!t.isEditable,isHovered:o.id==a.hovered,isOpen:o.id==a.opened,map:a.map,onChange:e=>{t.onPoiChange&&t.onPoiChange(o.id,e)},onClick:e=>j(o,e),onMouseOut:()=>{U(null,!0)},onMouseOver:()=>U(o),onOverlayAdd:(e,t)=>n(e,t,i),onRenderPopup:(o,n)=>function(o,n){const i=function(e){if(!a.clusterer)return;if("leaflet"==mappl10n.options.engine){var t=a.clusterer.getVisibleParent(e);return t&&t!=e?t.getLatLng():null}const o=a.clusterer.clusters;for(var n=0;n<o.length;n++){const t=o[n].markers;if(t.length>1)for(let a=0;a<t.length;a++)if(t[a]==e)return o[n].center_}}(n),l=B(o),s=C(i||l);let r,c,m={x:0,y:0};i?m={x:0,y:-14}:o.type||(m=mappl10n.options.iconScale&&mappl10n.options.iconScale[0]&&mappl10n.options.iconScale[1]?{x:0,y:0-mappl10n.options.iconScale[1]}:{x:0,y:-32});a.kmlEvent&&(a.kmlEvent.pixelOffset&&(m={x:e.pixelOffset.width,y:e.pixelOffset.height}),a.kmlEvent.featureData?r=a.kmlEvent.featureData:a.kmlEvent&&a.kmlEvent.propagatedFrom&&a.kmlEvent.propagatedFrom.feature&&a.kmlEvent.propagatedFrom.feature.properties&&(r=a.kmlEvent.propagatedFrom.feature.properties));c=t.onRenderPopup?t.onRenderPopup(o,G):P(p.MappPoiContent,{context:"popup",feature:r,isEditable:t.isEditable,onDirectionsClick:()=>f({isDirectionsOpen:!0,directionsTo:o}),poi:o,template:a.templates.popup,thumbs:mappl10n.options.thumbsPopup});let d=!t.isEditable&&mappl10n.options.thumbsPopup?"mapp-thumb-"+mappl10n.options.thumbsPopup:"";return d+=o.images&&o.images.length?" mapp-has-thumb":"",P(b,{anchor:m,className:d,content:c,map:a.map,onMouseEnter:()=>K(o),onMouseLeave:()=>K(null),point:s})}(o,n),poi:o})))}(),t.isEditable||"leaflet"==mappl10n.options.engine||!a.map?null:P(l.MappMenuControl,{map:a.map,onCenter:()=>{G(),W()}}),Z())),a.poiList&&"inline"!=a.layout&&a.isMini?P("div",{className:"mapp-footer"},!a.isSidebarOpen&&P("div",{className:"mapp-button mapp-view-list",onClick:()=>H(!0)},P("img",{src:mappl10n.options.baseurl+"/images/outline_format_list_bulleted_black_18dp.png"}),"List"),a.isSidebarOpen&&P("div",{className:"mapp-button mapp-view-map",onClick:()=>H(!1)},P("img",{src:mappl10n.options.baseurl+"/images/outline_map_black_18dp.png"}),"Map")):null)}function Q(){const e={paddingBottom:D().height};return P(x,null,P("div",{className:"mapp-wrapper",style:e},P("div",{className:"mapp-content"},Y())),"inline"==a.layout&&$())}function X(){if(!a.poiList||!a.isLoaded)return null;let e=[];return e=A()&&a.bounds&&!t.isEditable?a.pois.filter(((e,t)=>a.bounds.contains(B(e)))):a.pois,a.pageCount!=e.length&&f({pageCount:e.length}),P(c.MappPoiList,{className:!t.isEditable&&mappl10n.options.thumbsList?" mapp-thumb-"+mappl10n.options.thumbsList:"",hovered:a.hovered,isEditable:t.isEditable,isPaged:!!t.query,onClick:e=>j(S(e)),onDirectionsClick:e=>f({isDirectionsOpen:!0,directionsTo:S(e)}),onDragDrop:e=>{let{from:a,to:o}=e;return function(e,a){t.onDragDrop&&t.onDragDrop(e,a)}(a,o)},onMouseEnter:e=>U(S(e)),onMouseLeave:e=>U(null),onPage:e=>{f({page:e})},opened:a.opened,page:a.page,pois:e,template:t.isEditable?null:a.templates.item})}function $(){let e="mapp-sidebar";return e+="inline"==a.layout?" mapp-sidebar-inline":"",e+=a.isSidebarOpen?" mapp-sidebar-open":"",a.isDirectionsOpen?P("div",{className:e,ref:u},function(){if(!a.isDirectionsOpen)return null;let e="";if(a.directionsTo)if(a.directionsTo.address)e=a.directionsTo.address;else{const t=C(B(a.directionsTo));e=t.lat+", "+t.lng}return P(i.MappDirections,{from:"",to:e,onClose:()=>{f({isDirectionsOpen:!1,directionsTo:null})}})}()):a.poiList?P("div",{className:e,ref:u},P("div",{className:"mapp-sidebar-toggle",onClick:()=>H()}),"list"==mappl10n.options.filtersPos&&null,t.onRenderSidebar&&t.onRenderSidebar(),X()):void 0}function ee(e){const t=mappl10n.options.standardStyles.concat(mappl10n.options.userStyles),o=_.find(t,(t=>t.id==e));!mappl10n.options.style||"roadmap"!=e&&"streets"!=e&&o||(e=mappl10n.options.style);let n=_.find(t,(t=>t.id==e));if(n=n||t[0],"leaflet"==mappl10n.options.engine){let e={mapbox:{accessToken:mappl10n.options.mapbox,attribution:['<a href="https://www.mappresspro.com" target="_blank">MapPress</a>','<a href="https://www.mapbox.com/about/maps" target="_blank">&copy; Mapbox<a/>','<a href="https://www.openstreetmap.org/about/" target="_blank">&copy; OpenStreetMap</a>'],url:"https://api.mapbox.com/styles/v1/{user}/{mapboxid}/tiles/256/{z}/{x}/{y}{r}?access_token={accessToken}&fresh=true",zoomOffset:0},osm:{attribution:['<a href="https://www.mappresspro.com" target="_blank">MapPress</a>','<a href="https://openstreetmap.org" target="_blank">Map data (c) OpenStreetMap</a>'],url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}}[n.provider],t={...e,...n};L.tileLayer(e.url,t).addTo(a.map)}else if(a.map.setMapTypeId("standard"==n.type?n.id:"roadmap"),n.json){let e=null;try{e=JSON.parse(n.json)}catch(e){console.log("Invalid JSON in map style")}a.map.setOptions({styles:e||null})}else a.map.setOptions({styles:null})}function te(e,t,o){"leaflet"==mappl10n.options.engine?(null==t&&(t=a.map.getZoom()?a.map.getZoom():0),a.map.setView(e,t,o)):(e=e&&!C(e)?{lat:parseFloat(e.lat),lng:parseFloat(e.lng)}:e,t=t?parseInt(t):null,e&&a.map.setCenter(e),t&&a.map.setZoom(t))}return a.isIframe?P(x,null,Y(),"inline"==a.layout&&$()):t.container?Q():function(){const e=D();t.name&&t.name;let a="mapp-layout";const o=t.alignment?t.alignment:mappl10n.options.alignment;o&&!document.body.classList.contains("block-editor-page")&&(a+=" align"+o,a+=" mapp-align-"+o);let n="full"==t.alignment?{width:"auto"}:{width:e.width};return P("div",{className:a,style:n,ref:m,tabIndex:"-1"},Q())}()}},759:(e,t,a)=>{"use strict";a.d(t,{mappMarker:()=>n});var o=a(939);function n(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")}n.prototype={draw:function(){if(!this.div||!this.icon)return;let e=this.overlayView.getProjection();if(e){let t=e.fromLatLngToDivPixel(this.position),a=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.style.left=t.x-a.width/2+"px",this.div.style.top=t.y-a.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(),a=this.overlayView.getProjection().fromLatLngToContainerPixel(this.position);this.dragging={moved:!1,startPixel:{x:e.clientX,y:e.clientY},offset:{x:a.x-(e.clientX-t.left),y:a.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 a={x:e.clientX-t.left+this.dragging.offset.x,y:e.clientY-t.top+this.dragging.offset.y};this.setPosition(this.overlayView.getProjection().fromContainerPixelToLatLng(a)),this.draw(),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 a="set"+e[0].toUpperCase()+e.slice(1);this[a]&&this[a](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){let e='<img draggable="false" src="'+this.icon.url+'">';this.div.innerHTML=e;let t=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.style.width=t.width+"px",this.div.style.height=t.height+"px",this.setZIndex(),this.draw()}},setMap:function(e){this.map=e,this.overlayView.setMap(e)},setPosition:function(e){this.position=e},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}))}}},602:(e,t,a)=>{"use strict";a.d(t,{MappMenuControl:()=>c});var o=a(326);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function c(e){e={layer:null,map:null,onCenter:null,...e};const[t,a]=p({activeLayer:e.layer?e.layer:null,layers:null,isOpen:!1}),s=r(null);function c(e){a((t=>({...t,...e})))}function m(){c({isOpen:!t.isOpen})}return(0,o.useClickOutside)(s,(()=>{t.isOpen&&m()})),l((()=>{if("google"==mappl10n.options.engine){c({layers:{traffic:{googleLayer:new google.maps.TrafficLayer,label:__("Traffic")},bicycling:{googleLayer:new google.maps.BicyclingLayer,label:__("Bicycling")},transit:{googleLayer:new google.maps.TransitLayer,label:__("Transit")}}})}}),[]),n("div",{ref:s},n("div",{className:"mapp-menu-toggle",onClick:()=>m()}),t.isOpen&&function(){const a=_.map(t.layers,((a,o)=>{const i=t.activeLayer==o?"mapp-menu-item mapp-active":"mapp-menu-item";return n("div",{className:i,key:o,onClick:()=>function(a){t.activeLayer&&t.layers[t.activeLayer].googleLayer.setMap(null),a!=t.activeLayer&&t.layers[a].googleLayer.setMap(e.map),c({activeLayer:a==t.activeLayer?null:a,isOpen:!1})}(o)},a.label)}));return n("div",{className:"mapp-menu"},n("div",{className:"mapp-menu-items"},n("div",{className:"mapp-menu-item",onClick:()=>(c({isOpen:!1}),void e.onCenter())},__("Center map")),"google"==mappl10n.options.engine&&n(i,null,n("div",{className:"mapp-menu-separator"}),a)),n("div",{className:"mapp-menu-footer"},n("a",{className:"mapp-menu-help",href:"https://mappresspro.com/mappress-documentation",target:"_blank"},n("span",null,__("Help")))))}())}},27:(e,t,a)=>{"use strict";a.d(t,{MappPaginate:()=>p});const o=wp.element.createElement,{Fragment:n,useEffect:i,useLayoutEffect:l,useRef:s,useState:r}=wp.element,{sprintf}=wp.i18n;function p(e){function t(t,a){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.page<o&&e.onChange(e.page+1);break;case"prev":e.page>1&&e.onChange(e.page-1)}}return function(){const a=Math.ceil(e.count/e.pageSize),n=e.isBusy||e.page<=1,i=e.isBusy||e.page>=a,l=n?"mapp-paginate-button mapp-disabled":"mapp-paginate-button",s=i?"mapp-paginate-button mapp-disabled":"mapp-paginate-button",r=(p="%d of %d",wp.i18n.__(p,"mappress-google-maps-for-wordpress"));var p;return o("div",{className:"mapp-paginate"},o("div",{className:l,onClick:()=>{n||t("first")}},"«"),o("div",{className:l,onClick:()=>{n||t("prev")}},"‹"),o("div",{className:"mapp-paginate-count"},sprintf(r,e.page,a)),o("div",{className:s,onClick:()=>{i||t("next")}},"›"),o("div",{className:s,onClick:()=>{i||t("last")}},"»"))}()}},818:(e,t,a)=>{"use strict";a.d(t,{MappPlaces:()=>d});var o=a(117),n=a(10);const i=wp.element.createElement,{Fragment:l,useCallback:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:m}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function d(e){e={buttonLabel:null,focus:!1,includeBusinesses:!1,map:null,onSearch:null,...e};const{geocode:t,getPredictions:a}=(0,n.useGeocoding)({map:e.map,includeBusinesses:e.includeBusinesses}),[l,s]=m({suggestions:[]});return i(o.MappAutocomplete,{buttonLabel:e.buttonLabel,className:"mapp-places",debounce:"nominatim"===mappl10n.options.geocoder?500:300,delay:"nominatim"==mappl10n.options.geocoder?500:50,focus:e.focus,onFetch:function(t){a({map:e.map,value:t,callback:e=>{var t;t={suggestions:e},s((e=>({...e,...t})))}})},onSelect:function(a){let{suggestion:o,value:n}=a;t({map:e.map,suggestion:o,value:n,callback:t=>{t&&e.onSearch(t)}})},placeholder:__("Search"),suggestions:l.suggestions,title:__("Enter an address, place, KML file URL, or lat,lng")})}},50:(e,t,a)=>{"use strict";a.d(t,{MappPoiContent:()=>m});var o=a(939);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:r,useRef:p,useState:c}=wp.element;wp.i18n.sprintf;function m(e){e={context:null,feature:null,isEditable:null,onDirectionsClick:null,poi:null,template:null,thumbs:null,...e};const[t,a]=c({imageNumber:0});function l(e){a((t=>({...t,...e})))}return n(i,null,function(){const a="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":return n("div",{className:"mapp-avatar",dangerouslySetInnerHTML:{__html:e.html}});case"embed":return n("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"}:{src:e.url};return n("img",t)}}}(o);return n("div",{className:"mapp-thumbnail",onClick:()=>function(t){e.isEditable||"popup"!=e.context||"embed"==t.type||e.poi.url&&window.open(e.poi.url,"_blank")}(o),style:a},t.imageNumber>=1&&n("div",{className:"mapp-gallery-previous",onClick:e=>function(e){t.imageNumber>0&&(l({imageNumber:t.imageNumber-1}),e.stopPropagation())}(e)}),i,t.imageNumber<e.poi.images.length-1&&n("div",{className:"mapp-gallery-next",onClick:a=>function(a){t.imageNumber<e.poi.images.length-1&&(l({imageNumber:t.imageNumber+1}),a.stopPropagation())}(a)}))}(),n("div",{className:"mapp-info"},function(){let t={...e.poi};t.icon=o.mappLib.getIconUrl(e.poi.iconid),e.feature&&(t.body=e.feature.description,t.title=e.feature.name),t.props=t.props?t.props:{};const a=o.mappLib.template(e.template,{poi:t});return n("div",{className:"mapp-template",dangerouslySetInnerHTML:{__html:a}})}(),function(){var t;if(!(e.template.indexOf("user")>=0))return"popup"==e.context&&mappl10n.options.directionsPopup||"list"==e.context&&mappl10n.options.directionsList?n("div",{className:"mapp-dir-wrapper"},n("span",{className:"mapp-dir",onClick:t=>function(t){t.stopPropagation(),e.onDirectionsClick()}(t)},(t="Get Directions",wp.i18n.__(t,"mappress-google-maps-for-wordpress")))):void 0}()))}},615:(e,t,a)=>{"use strict";a.d(t,{MappPoiList:()=>u});var o=a(939),n=a(27),i=a(50);const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useMemo:c,useRef:m,useState:d}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),sprintf=wp.i18n.sprintf;const u=wp.element.memo((function(e){e={className:null,hovered:null,isEditable:!1,isPaged:!1,onClick:null,onDragDrop:null,onMouseEnter:null,onMouseLeave:null,onPage:null,opened:null,page:1,pois:null,template:null,...e};const[t,a]=d({dragging:null,dragover:null,pageSize:!e.isEditable&&mappl10n.options.poiListPageSize?parseInt(mappl10n.options.poiListPageSize):20});function r(e){a((t=>({...t,...e})))}function p(a){let n,p="mapp-item";return e.opened!=a.id&&e.hovered!=a.id||(p+=" mapp-selected"),p+=t.dragover==a.id?" mapp-dragover":"",n=e.isEditable?l(s,null,l("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(a.iconid)}),l("div",{className:"mapp-title"},a.title)):l(i.MappPoiContent,{context:"list",onDirectionsClick:()=>e.onDirectionsClick(a.id),poi:a,template:e.template,thumbs:mappl10n.options.thumbsList}),l("div",{className:p,dangerouslySetInnerHTML:null,draggable:e.isEditable,key:a.id,onClick:()=>e.onClick(a.id),onDragOver:e=>e.preventDefault(),onDragStart:e=>r({dragging:a.id}),onDragEnter:e=>r({dragover:a.id}),onDragEnd:e=>r({dragging:null,dragover:null}),onDrop:o=>{return n=a.id,void(e.onDragDrop&&e.onDragDrop({from:t.dragging,to:n}));var n},onMouseEnter:t=>{e.onMouseEnter(a.id)},onMouseLeave:t=>{e.onMouseLeave(a.id)}},n)}return l("div",{className:"mapp-list "+(e.className?e.className:"")},e.isPaged&&function(){let t=1!=e.pois.length?__("%d Results"):__("%d Result");return t=sprintf(t,e.pois.length),l("div",{className:"mapp-list-header"},l("div",{className:"mapp-list-count"},t))}(),function(){const a=t.pageSize*(e.page-1),o=a+t.pageSize-1;return l("div",{className:"mapp-items",key:e.page},_.map(e.pois,((t,n)=>{if(!e.isPaged||n>=a&&n<=o)return p(t)})))}(),e.isPaged&&(!e.isPaged||e.pois.length<=t.pageSize?null:l("div",{className:"mapp-list-footer"},l(n.MappPaginate,{count:e.pois.length,onChange:t=>e.onPage(t),page:e.page,pageSize:t.pageSize}))))}))},81:(e,t,a)=>{"use strict";a.d(t,{MappPoi:()=>m});var o=a(939),n=a(759);wp.element.createElement;const{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:r,useRef:p,useState:c}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function m(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),[a,i]=c({overlay:null});function s(t){r()&&"google"==mappl10n.options.engine&&("rectangle"==e.poi.type&&(o.mappEvent.clearListeners(a.overlay,"bounds_changed"),t&&o.mappEvent.addListener(a.overlay,"bounds_changed",(()=>{m()}))),"circle"==e.poi.type&&(o.mappEvent.clearListeners(a.overlay,"center_changed radius_changed"),t&&o.mappEvent.addListener(a.overlay,"center_changed radius_changed",(()=>{m()}))),"polygon"!=e.poi.type&&"polyline"!=e.poi.type||(o.mappEvent.clearListeners(a.overlay,"rightclick"),o.mappEvent.clearListeners(a.overlay.getPath(),"insert_at remove_at set_at"),t&&(o.mappEvent.addListener(a.overlay,"rightclick",(e=>{null!=e.vertex&&a.overlay.getPath().getLength()>2&&(a.overlay.getPath().removeAt(e.vertex),m())})),o.mappEvent.addListener(a.overlay.getPath(),"insert_at remove_at set_at",(()=>{m()})))))}function r(){return"google"==mappl10n.options.engine&&-1!=["polyline","polygon","circle","rectangle"].indexOf(e.poi.type)}function m(){const t=o.mappPoi.parseOverlay(e.poi.type,a.overlay);e.onChange(t)}function d(t,a){a?"leaflet"==mappl10n.options.engine?t.addTo(e.map):t.setMap(e.map):"leaflet"==mappl10n.options.engine?t.remove():t.setMap(null)}return l((()=>{const a="leaflet"==mappl10n.options.engine&&"kml"!=e.poi.type?null:e.poi.type,l=_.pick(e.poi.poly,"strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity");let s;switch(a){case"polygon":s=new google.maps.Polygon({paths:e.poi.poly.paths,...l});break;case"polyline":s=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);s=new google.maps.Circle({center:t,radius:parseFloat(e.poi.poly.radius),...l});break;case"rectangle":s=new google.maps.Rectangle({bounds:o.mappLib.viewportToBounds(e.poi.viewport),...l});break;case"kml":const a=e.poi.kml&&e.poi.kml.url?e.poi.kml.url:"";s="leaflet"==mappl10n.options.engine?omnivore.kml(a):new google.maps.KmlLayer({url:a,preserveViewport:!0,suppressInfoWindows:!0});break;default:s="leaflet"==mappl10n.options.engine?L.marker([e.poi.point.lat,e.poi.point.lng]):new n.mappMarker({position:new google.maps.LatLng(e.poi.point.lat,e.poi.point.lng)}),s.setIcon(o.mappLib.getIcon(e.poi.iconid))}var p;return p={overlay:s},i((e=>({...e,...p}))),"kml"!=e.poi.type&&("leaflet"==mappl10n.options.engine?s.options.draggable=e.isEditable:s.setDraggable(e.isEditable),r()&&s.setEditable(e.isEditable)),e.isClusterable?"google"==mappl10n.options.engine&&d(s,e.map):d(s,e.map),e.onOverlayAdd&&e.onOverlayAdd(s,e.isClusterable),t.current=s,()=>{d(t.current,null)}}),[]),l((()=>{if(a.overlay){const t=_.pick(e.poi.poly,"strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity");a.overlay.setOptions({...t})}}),[e.poi.poly]),l((()=>{a.overlay&&a.overlay.setIcon(o.mappLib.getIcon(e.poi.iconid))}),[e.poi.iconid]),l((()=>{a.overlay&&function(t){if(e.poi.type)return;if("icon"==mappl10n.options.highlight&&"leaflet"==mappl10n.options.engine&&e.isEditable)return;var n="leaflet"==mappl10n.options.engine?a.overlay._icon:a.overlay.getDiv();if(!n)return;switch(e.isEditable?"circle":mappl10n.options.highlight){case"circle":n.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&&a.overlay.getIcon().options.iconUrl==i.options.iconUrl)return;a.overlay.setIcon(i);break;case"scale":n.classList.add("mapp-marker"),n.classList.toggle("mapp-marker-scale",t)}const l=t?1e4:0;"leaflet"==mappl10n.options.engine?e.poi.type||a.overlay.setZIndexOffset(l):a.overlay.set("zIndex",l)}(e.isHovered||e.isOpen)}),[e.isHovered,e.isOpen,a.overlay]),l((()=>{if(a.overlay)return o.mappEvent.addListener(a.overlay,"click",(t=>{e.onClick(t)})),o.mappEvent.addListener(a.overlay,"mouseover",(t=>e.onMouseOver(t))),o.mappEvent.addListener(a.overlay,"mouseout",(t=>e.onMouseOut(t))),"kml"==e.poi.type&&("leaflet"==mappl10n.options.engine?(o.mappEvent.addListenerOnce(a.overlay,"ready",(()=>{m()})),o.mappEvent.addListenerOnce(a.overlay,"error",(t=>{alert(__("Error reading KML file.")+" "+__("This may be a CORS error. See the MapPress FAQ for help.")+" : "+e.poi.kml.url)}))):(o.mappEvent.addListener(a.overlay,"defaultviewport_changed",(()=>{if(e.isEditable&&!e.poi.viewport){const t=a.overlay.getDefaultViewport();t&&e.map.fitBounds(t)}m()})),o.mappEvent.addListener(a.overlay,"status_changed",(()=>{"OK"!=a.overlay.getStatus()&&alert(__("Error reading KML file.")+" : "+e.poi.kml.url)})))),e.isEditable&&(s(!0),o.mappEvent.addListener(a.overlay,"dragstart",(()=>(s(!1),void(e.onChange&&e.onChange({viewport:null}))))),o.mappEvent.addListener(a.overlay,"dragend",(()=>(m(),void s(!0))))),()=>{o.mappEvent.clearInstanceListeners(a.overlay)}})),e.isOpen||e.isHovered?e.onRenderPopup(e.poi,a.overlay):null}},892:(e,t,a)=>{"use strict";a.d(t,{MappPopupModal:()=>m});var o=a(939);const n=wp.element.createElement,i=wp.element.createPortal,{Fragment:l,useEffect:s,useLayoutEffect:r,useRef:p,useState:c}=wp.element;function m(e){e={onClose:null,poi:null,...e};const[t,a]=c({isBusy:!1,html:null});function l(e){a((t=>({...t,...e})))}const r=React.createRef();function p(t){27==t.keyCode&&e.onClose()}return s((()=>(document.body.classList.add("mapp-modal-noscroll"),()=>document.body.classList.remove("mapp-modal-noscroll"))),[]),s((()=>{e.poi.oid&&(l({isBusy:!0}),o.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]),s((()=>{r.current&&r.current.focus(),console.log("focus"+document.activeElement)}),[r.current]),i(n("div",{className:"mapp-modal"},n("div",{className:"mapp-modal-backdrop",onClick:e.onClose,onKeyDown:p},n("div",{className:"mapp-modal-close",onClick:e.onClose},"×")),n("div",{className:"mapp-modal-content-wrapper",ref:r,onKeyDown:p,tabIndex:0},n("div",{className:"mapp-modal-content"},t.isBusy&&n("div",{className:"mapp-modal-spinner"}),!t.isBusy&&n("div",{className:"mapp-modal-template",dangerouslySetInnerHTML:{__html:t.html}}),n("div",{className:"mapp-modal-close",onClick:e.onClose},"X")))),document.body)}},308:(e,t,a)=>{"use strict";e.exports=function(e,t){var o=String(e).replace(/^&/,"").replace(/&$/,"").split("&"),n=o.length,i=void 0,l=void 0,s=void 0,r=void 0,p=void 0,c=void 0,m=void 0,d=void 0,u=void 0,g=void 0,h=void 0,_=void 0,f=void 0,v=function(e){return decodeURIComponent(e.replace(/\+/g,"%20"))},b="undefined"!=typeof window?window:a.g;b.$locutus=b.$locutus||{};var y=b.$locutus;for(y.php=y.php||{},t||(t=b),i=0;i<n&&(u=v((d=o[i].split("="))[0]),g=d.length<2?"":v(d[1]),!(u.includes("__proto__")||u.includes("constructor")||u.includes("prototype")));i++){for(;" "===u.charAt(0);)u=u.slice(1);if(u.indexOf("\0")>-1&&(u=u.slice(0,u.indexOf("\0"))),u&&"["!==u.charAt(0)){for(_=[],h=0,l=0;l<u.length;l++)if("["!==u.charAt(l)||h){if("]"===u.charAt(l)&&h&&(_.length||_.push(u.slice(0,h-1)),_.push(u.substr(h,l-h)),h=0,"["!==u.charAt(l+1)))break}else h=l+1;for(_.length||(_=[u]),l=0;l<_[0].length&&(" "!==(m=_[0].charAt(l))&&"."!==m&&"["!==m||(_[0]=_[0].substr(0,l)+"_"+_[0].substr(l+1)),"["!==m);l++);for(c=t,l=0,f=_.length;l<f;l++){if(p=c,(""===(u=_[l].replace(/^['"]/,"").replace(/['"]$/,""))||" "===u)&&0!==l){for(r in s=-1,c)c.hasOwnProperty(r)&&+r>s&&r.match(/^\d+$/g)&&(s=+r);u=s+1}Object(c[u])!==c[u]&&(c[u]={}),c=c[u]}p[u]=g}}}}},a={};function o(e){var n=a[e];if(void 0!==n)return n.exports;var i=a[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var a in t)o.o(t,a)&&!o.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o(569),o(66),o(972),o(286),o(107),o(946),o(800),o(68),o(641),o(897),o(218),o(265),o(74),o(146),o(577),o(315),o(185),o(885),o(573),o(697)})();
1
+ (()=>{var t={117:(e,t,a)=>{"use strict";a.d(t,{MappAutocomplete:()=>d});var o=a(326);const n=wp.element.createElement,{Fragment:i,useCallback:l,useEffect:s,useLayoutEffect:r,useMemo:p,useRef:c,useState:m}=wp.element;function d(e){e={buttonLabel:null,className:"",delay:null,focus:!1,onFetch:null,onSelect:null,placeholder:"",selected:null,suggestions:[],title:"",...e};const t=c(null),a=c(null),[i,l]=m({isOpen:!1,value:""});function r(e){l((t=>({...t,...e})))}(0,o.useClickOutside)(t,(()=>{i.isOpen&&r({isOpen:!1})})),s((()=>{e.focus&&a.current&&a.current.focus()}),[]),s((()=>{i.map&&setMapTypeId(e.mapTypeId)}),[e.mapTypeId,i.map]);const p=(0,o.useDebounce)((t=>{e.onFetch&&e.onFetch(t)}),e.delay);function d(){let t;r({isOpen:!1}),e.suggestions&&(t=null==i.selected?e.suggestions[0]:e.suggestions[i.selected]),e.onSelect({suggestion:t,value:u})}const u=i.selected>=0&&e.suggestions&&e.suggestions[i.selected]?e.suggestions[i.selected].value:i.value;return n("div",{className:"mapp-autocomplete",ref:t},n("div",{className:"mapp-autocomplete-wrapper"},n("input",{className:e.className,onChange:e=>{!function(e){r({value:e,selected:null}),p(e)}(e.target.value)},onKeyDownCapture:t=>function(t){switch(t.stopPropagation(),t.code){case"Backspace":r({isOpen:i.value.length>1});break;case"Enter":d();break;case"Escape":r({isOpen:!1});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<e.suggestions.length-1){const t=null==i.selected?0:i.selected+1;e.suggestions[t]&&r({isOpen:!0,selected:t})}else r({selected:null});break;case"Tab":case"AltLeft":case"AltRight":case"ControlLeft":case"ControlRight":case"MetaLeft":case"MetaRight":break;default:r({isOpen:!0})}}(t),placeholder:e.placeholder,ref:a,title:e.title,type:"text",value:u}),i.isOpen&&function(){if(e.suggestions&&e.suggestions.length)return n("div",{className:"mapp-autocomplete-list"},_.map(e.suggestions,((t,a)=>{const o="mapp-autocomplete-item"+(i.selected==a?" mapp-selected":"");return n("div",{className:o,key:a,onClick:()=>function(t,a){r({isOpen:!1,selected:a}),e.onSelect({suggestion:t})}(t,a)},t.value)})))}()),e.buttonLabel&&n("div",{className:"mapp-submit-button",onClick:()=>d()},e.buttonLabel))}},715:(e,t,a)=>{"use strict";a.d(t,{MappDirections:()=>p});const o=wp.element.createElement,{Fragment:n,useEffect:i,useLayoutEffect:l,useRef:s,useState:r}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function p(e){e={from:null,onClose:null,to:null,...e};const[t,a]=r({from:e.from?e.from:"",to:e.to?e.to:""});function n(e){a((t=>({...t,...e})))}function l(){e.onClose&&e.onClose()}function s(){const e=t.from.trim(),a=t.to.trim();let o=mappl10n.options.directionsServer;o="https://maps.google.com"==o?"https://www.google.com":o,-1==o.toLowerCase().indexOf("http")&&(o="https://"+o),o+="/maps/dir/?api=1&origin="+encodeURIComponent(e)+"&destination="+encodeURIComponent(a),window.open(o),l()}function p(e){13==e?s():27==e&&l()}return i((()=>{"google"==mappl10n.options.directions&&s()}),[]),"google"==mappl10n.options.directions?null:o("div",{className:"mapp-directions"},o("div",{className:"mapp-close",onClick:()=>l()}),o("div",null,o("input",{className:"mapp-dir-from",onChange:e=>n({from:e.target.value}),onKeyPress:e=>p(e.which),tabIndex:"1",placeholder:__("My location"),value:t.from}),o("div",{className:"mapp-dir-arrows",onClick:()=>{n({from:t.to,to:t.from})}})),o("div",null,o("input",{className:"mapp-dir-to",onChange:e=>n({to:e.target.value}),onKeyPress:e=>p(e.which),tabIndex:"2",value:t.to})),o("div",{className:"mapp-dir-toolbar"},o("div",{className:"mapp-submit-button",onClick:()=>s()},__("Get Directions"))))}},817:(e,t,a)=>{"use strict";a.d(t,{MappFilters:()=>m});var o=a(939),n=a(326);const i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useRef:p,useState:c}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),sprintf=wp.i18n.sprintf,m=e=>{e={onChange:null,otype:"post",poiCount:0,...e};const t=(0,n.useDebounce)(e.onChange,500),[a,r]=c({filters:[],isBusy:!0,open:null,selected:{}});function m(e){r((t=>({...t,...e})))}const d=p({});function u(e,o){let n=a.selected[e.key]?a.selected[e.key].values:null;if("checkbox"==e.format){var i;const e=null===(i=n)||void 0===i?void 0:i.indexOf(o);e>-1?n.splice(e,1):(n=n||[],n.push(o))}else n=o?[o]:[];n.length?a.selected[e.key]={key:e.key,values:n,meta_key:e.meta_key,meta_values:e.meta_values}:delete a.selected[e.key],m({selected:a.selected}),t(a.selected)}function g(e){m({open:a.open==e?null:e})}function h(e){e.key;const t=[...e.values],n=a.selected[e.key]?a.selected[e.key].values:"";switch(e.format){case"input":return i("input",{type:"text",value:n?n[0]:"",onChange:t=>u(e,t.target.value)});case"checkbox":return _.map(t,(t=>i("label",{key:t.value},i("input",{checked:null==n?void 0:n.includes(t.value),key:t.value,onChange:t=>u(e,t.target.value),type:e.format,value:t.value}),t.iconid&&i("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(t.iconid)}),i("span",{dangerouslySetInnerHTML:{__html:t.label}}))));case"radio":return"radio"==e.format&&t.unshift({value:"",label:__("All")}),_.map(t,(t=>i("label",{key:t.value},i("input",{checked:n==t.value||""==t.value&&!n,key:t.value,onChange:t=>u(e,t.target.value),type:e.format,value:t.value}),t.iconid&&i("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(t.iconid)}),i("span",{dangerouslySetInnerHTML:{__html:t.label}}))));case"select":t.unshift({value:"",label:""});const a=_.map(t,(e=>'<option value="'+e.value+'">'+e.label+"</option>"));return i("select",{value:n[0],dangerouslySetInnerHTML:{__html:a},onChange:t=>u(e,t.target.value)})}}function f(o){return i("div",{className:"mapp-filter-dropdown"},function(e){return i("div",{className:"mapp-filter-values"},"all"==e?a.filters.map((e=>i(l,{key:e.key},i("div",{className:"mapp-filter-label"},e.label),h(e)))):h(e))}(o),"all"==o&&function(a){const o="all"==a?"all":a.key;let n=e.poiCount>1?__("%d Results"):__("%d Result");return n=sprintf(n,e.poiCount),i("div",{className:"mapp-filter-toolbar"},i("div",{className:"mapp-link-button",onClick:()=>(m({selected:{}}),void t())},__("Reset")),i("div",{className:"mapp-filter-count"},n),i("div",{className:"mapp-submit-button",onClick:()=>g(o)},__("Done")))}(o))}function v(e){const t="all"==e?"all":e.key,o="all"==e?__("Filter"):e.label,n="mapp-filter mapp-filter-"+t+(a.open==t?" mapp-filter-open":"");return i("div",{key:t,className:n,ref:e=>d.current[t]=e},i("div",{className:"mapp-button mapp-button-caret mapp-filter-button"+(a.isBusy?" mapp-button-disabled":""),onClick:()=>g(t)},o),f(e))}return(0,n.useClickOutside)({current:a.open&&d.current[a.open]?d.current[a.open]:null},(()=>{m({open:null})})),s((()=>{m({isBusy:!0}),o.mappLib.ajax({method:"GET",data:{action:"mapp_filters_get",nonce:mappl10n.options.nonce,otype:e.otype},callback:e=>{e&&"OK"==e.status?m({filters:e.data}):console.error("MapPress: unable to fetch filter data"),m({isBusy:!1})}})}),[]),i("div",{className:"mapp-filters"},v("all"),_.map(a.filters,(e=>e.isStandalone?v(e):null)))}},10:(e,t,a)=>{"use strict";a.d(t,{useGeocoding:()=>m});const o=a(939).mappLib.toJSON,{Fragment:n,useCallback:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=(wp.element.createElement,wp.element),__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),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(e){let{suggestion:t,callback:a}=e;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken,this.token=null;var n={fields:["formatted_address","name","geometry"],placeId:t.place_id,sessionToken:this.token};this.placesService.getDetails(n,(function(e,t){if("OK"==t&&e&&e.geometry){if(e.geometry.location&&(e.geometry.location=o(e.geometry.location)),e.geometry.viewport){var n=o(e.geometry.viewport);e.geometry.viewport={sw:{lat:n.south,lng:n.west},ne:{lat:n.north,lng:n.east}}}a(e)}else a(null)}))},getFirstPrediction:function(e){let{map:t,value:a,callback:o}=e;this.getPredictions({map:t,value:a,callback:e=>{e&&Array.isArray(e)?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:a,includeBusinesses:o,callback:n}=e;this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;var i=t?t.getBounds():null;"leaflet"==mappl10n.options.engine&&(i=new google.maps.LatLngBounds(new google.maps.LatLng(i.getSouthWest().lat,i.getSouthWest().lng),new google.maps.LatLng(i.getNorthEast().lat,i.getNorthEast().lng)));var l={input:a,bounds:i=i||new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180)),sessionToken:this.token,types:o?null:["geocode"]};this.autocompleteService.getPlacePredictions(l,(function(e,t){"OK"==t&&e&&e.length?(e=(e=e.map((e=>(e.value=e.description,e)))).filter((e=>e.place_id)),n(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"),n(null))}))}},c.mapbox=function(){},c.mapbox.prototype={getDetails:function(e){let{suggestion:t,callback:a}=e,o=t.place_name,n=o.indexOf(","),i=o.indexOf(",",n+1);n>0&&(o=parseInt(o.substr(0,n))?o.substr(0,i).replace(",",""):o.substr(0,n));let l=t.bbox&&4==t.bbox.length?{sw:{lat:t.bbox[1],lng:t.bbox[0]},ne:{lat:t.bbox[3],lng:t.bbox[2]}}:null;a({formatted_address:t.place_name,name:o,geometry:{location:{lat:t.center[1],lng:t.center[0]},viewport:l}})},getFirstPrediction:function(e){let{map:t,value:a,callback:o}=e;this.getPredictions({map:t,value:a,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:a,callback:o}=e;var n="https://api.mapbox.com/geocoding/v5/mapbox.places/"+a+".json?access_token="+mappl10n.options.mapbox;n=mappl10n.options.country?n+"&country="+mappl10n.options.country.toLowerCase():n,n=mappl10n.options.language?n+"&language="+mappl10n.options.language.toLowerCase():n;var i=t?t.getCenter():null;i&&(n+="&proximity="+i.lng+","+i.lat),mappl10n.options.searchBox&&(n+="&bbox="+mappl10n.options.searchBox),fetch(n).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))),o(e.features)):o(null)}))}},c.nominatim=function(){},c.nominatim.prototype={getDetails:function(e){let{suggestion:t,callback:a}=e,o=t.display_name,n=o.indexOf(","),i=o.indexOf(",",n+1);n>0&&(o=parseInt(o.substr(0,n))?o.substr(0,i).replace(",",""):o.substr(0,n));let l=t.boundingbox&&4==t.boundingbox.length?{sw:{lat:t.boundingbox[0],lng:t.boundingbox[2]},ne:{lat:t.boundingbox[1],lng:t.boundingbox[3]}}:null;a({formatted_address:t.display_name,name:o,geometry:{location:{lat:t.lat,lng:t.lon},viewport:l}})},getFirstPrediction:function(e){let{map:t,value:a,callback:o}=e;this.getPredictions({map:t,value:a,callback:e=>{e&&e.length?this.getDetails({suggestion:e[0],callback:e=>o(e)}):o(null)}})},getPredictions:function(e){let{map:t,value:a,callback:o}=e;var n="https://nominatim.openstreetmap.org/search?format=json&dedupe=1&limit=5&q="+encodeURIComponent(a);if(n=mappl10n.options.country?n+"&countrycodes="+mappl10n.options.country.toLowerCase():n,n=mappl10n.options.language?n+"&accept-language="+mappl10n.options.language.toLowerCase():n,mappl10n.options.searchBox)n+="&viewbox="+mappl10n.options.searchBox,n+="&bounded=1";else{var i=t?t.getBounds():null;if(i){let e=i.getSouthWest(),t=i.getNorthEast();n+="&viewbox="+e.lng+","+e.lat+","+t.lng+","+t.lat}}fetch(n).then((e=>e.json())).then((e=>{e&&e.length?(e=e.map((e=>(e.value=e.display_name,e))),o(e)):o(null)}))}};const m=e=>{let{includeBusinesses:t}=e;function a(){let e="";return e="leaflet"!=mappl10n.options.engine?"google":mappl10n.options.geocoder?mappl10n.options.geocoder:"nominatim",new c[e]}return{geocode:function(e){let{map:o,suggestion:n,value:i,callback:l}=e;const s=a();i="string"==typeof i?i.trim():i,n||i?function(e){let{map:t,value:a,callback:o}=e;if(!a)return void o(null);if("string"!=typeof a){return void o(a.lat&&a.lng?{geometry:{location:{lat:a.lat,lng:a.lng}}}:null)}if("http"==a.substring(0,4))return void o(a);const n=a.split(",");if(2==n.length){const e=parseFloat(n[0]),t=parseFloat(n[1]);if(!isNaN(e)&&!isNaN(t))return void o({name:e+", "+t,geometry:{location:{lat:e,lng:t}}})}o(null)}({map:o,value:i,callback:e=>{e?l(e):n?s.getDetails({suggestion:n,callback:l}):s.getFirstPrediction({map:o,value:i,includeBusinesses:t,callback:l})}}):l(null)},geolocate:function(e,t){navigator&&navigator.geolocation||(alert(__("Unable to get your location")),e(null)),navigator.geolocation.getCurrentPosition((function(t){var a={lat:t.coords.latitude,lng:t.coords.longitude};e({name:a.lat+", "+a.lng,geometry:{location:a}})}),(function(a){if(!t){var o=a&&a.message?" : "+a.message:"";alert(__("Unable to get your location")+" "+o)}e(null)}),{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4})},getPredictions:function(e){let{map:t,value:o,callback:n}=e;a().getPredictions({map:t,value:o,callback:n})}}}},286:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappAttachControl:()=>u});const o=wp.element.createElement,{addQueryArgs:n}=wp.url,{useCallback:i,useEffect:l,useState:s}=wp.element,{Button:r,Dashicon:p,Dropdown:c,Spinner:m,TextControl:d}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function u(e){const[t,a]=s({isFetching:!1,isOpen:!1,results:[],search:"",searchTerm:""});function r(e){a((t=>({...t,...e})))}l((()=>{r({isFetching:!0}),wp.apiFetch({path:n("/wp/v2/search",{search:t.search,per_page:20})}).then((e=>{r({results:e,isFetching:!1})}))}),[t.search]);const p=i(_.debounce((function(e){r({search:e})}),1e3),[]);function u(a,n){return o("div",{className:"mapp-attach-control"},o("div",{className:"mapp-attach-control-toolbar"},o(d,{autoComplete:"false",value:t.searchTerm,onChange:e=>function(e){r({searchTerm:e}),p(e)}(e),placeholder:__("Search")})),function(){if(t.isFetching)return o(m,null);if(t.results)return t.results.length?o("div",{className:"mapp-attach-items"},t.results.map((t=>o("div",{key:t.id,className:"mapp-attach-item",onClick:()=>{e.onChange(t.id,t.title)}},o("div",{className:"mapp-attach-item-title"},t.title?t.title:__("Untitled")),o("div",{className:"mapp-attach-item-type"},t.subtype))))):o("div",{},__("No posts found"))}())}return o("div",{className:"mapp-attach-control",onClick:e=>e.stopPropagation()},o(c,{renderToggle:e=>{let{isOpen:t,onToggle:a}=e;return o("div",{onClick:a},__("Attach map to post"))},renderContent:e=>{let{isOpen:t,onToggle:a}=e;return u()}}))}},569:(e,t,a)=>{"use strict";a.r(t);var o=a(185);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=wp.element,{Button:c,Dashicon:m,Modal:d}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function u(e){const[t,a]=p({isOpen:!0,mapid:null});function l(e){a((t=>({...t,...e})))}function s(){const e="undefined"!=typeof tinyMCE&&tinyMCE?tinyMCE.get("content"):null,t=e&&e.selection?e.selection.getSel():null;if(!t||void 0===t.anchorOffset||!t.anchorNode||!t.anchorNode.data)return null;let a=null,o=t.anchorNode.data,n=-1;for(let e=t.anchorOffset-1;e>=0;e--){let t=o[e];if("["==t){n=e;break}if("]"==t||"<"==t||">"==t)break}return n>=0&&(a=wp.shortcode.next("mappress",o,n),a)?a.shortcode.attrs.named.mapid:null}return n(i,null,n("button",{className:"button",type:"button",onClick:e=>{e.preventDefault(),l({isOpen:!0,mapid:s()})}},n(m,{className:"wp-media-buttons-icon",icon:"location"}),__("MapPress")),t.isOpen&&n(o.MappPicker,{context:"mce",mapid:t.mapid,onClose:()=>{l({isOpen:!1,mapid:null})},onInsert:e=>function(e){l({isOpen:!1});var t='[mappress mapid="'+e+'"]';"undefined"==typeof wpActiveEditor?__("Please select the post content to insert the map into."):send_to_editor(t)}(e)}))}document.addEventListener("click",(e=>{e.target.classList.contains("mapp-classic-button")&&wp.element.render(n(u),e.target.parentElement)}))},107:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappColorPicker:()=>O});var o=a(577);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useCallback:r,useRef:p,useState:c}=wp.element,{useSelect:m}=wp.data,{withState:d}=wp.compose,{Button:u,ColorPalette:g,ColorPicker:h,Dashicon:f,Dropdown:v,ExternalLink:b,Modal:y,Panel:w,PanelBody:k,PanelRow:C,Popover:x,RadioControl:S,Spinner:N,TabPanel:L}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function O(e){e={isExtended:null,onChange:null,color:null,opacity:null,weight:null,...e};const[t,a]=c({color:e.color,isCustomOpen:!1,isOpen:!1,opacity:e.opacity?e.opacity:1,weight:e.weight?e.weight:2});function s(e){a((t=>({...t,...e})))}function r(){s({isOpen:!1})}function p(a){s({color:a,isOpen:!1}),e.onChange({color:a,opacity:t.opacity,weight:t.weight})}return l((()=>{}),[]),n(i,null,n("span",{className:"mapp-colors-toggle",onClick:()=>{s({isOpen:!0})},style:{backgroundColor:e.color,border:e.isExtended?"1px solid "+e.color:"1px solid gray",opacity:e.isExtended&&e.opacity?e.opacity:1},tabIndex:0}),function(){if(!t.isOpen)return null;const a=_.map([1,.9,.8,.7,.6,.5,.4,.3,.2,.1,0],(e=>({label:100*e+"%",value:e}))),i=_.map([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],(e=>({label:e+"px",value:e})));return n(y,{title:__("Select a color"),className:"mapp-colors-modal",onRequestClose:()=>r()},n("div",{className:"mapp-colors"},n("div",{className:"mapp-colors-list"},_.map([["yellow","yellowgreen","green","seagreen","blue","cornflowerblue","darkslateblue","purple","firebrick","red","darkorange","orange","saddlebrown"],["lightyellow","greenyellow","lightgreen","darkseagreen","lightblue","skyblue","slateblue","orchid","plum","pink","sandybrown","goldenrod","peru"],["white","lightgray","gray","black"]],((t,a)=>n("div",{key:a},_.map(t,(t=>n("span",{className:"mapp-color"+(t==e.color?" mapp-selected":""),key:t,onClick:()=>{s({isCustomOpen:!1}),p(t)},style:{backgroundColor:t},title:t}))))))),t.isCustomOpen&&n(h,{color:e.color,onChangeComplete:e=>p(e.hex),disableAlpha:!0}),e.isExtended&&n(o.Select,{label:__("Opacity"),options:a,value:t.opacity,onChange:a=>{return s({opacity:o=a}),void e.onChange({color:t.color,opacity:o,weight:t.weight});var o}}),e.isExtended&&n(o.Select,{label:__("Stroke"),options:i,value:e.weight?e.weight:"",onChange:a=>{return s({weight:o=a}),void e.onChange({color:t.color,opacity:t.opacity,weight:o});var o}}),n("div",{className:"mapp-colors-toolbar"},n(u,{isPrimary:!0,onClick:()=>r()},__("Done")),n(u,{onClick:()=>s({isCustomOpen:!t.isCustomOpen})},__("Custom color")))))}())}},946:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>d});a(577);var o=a(939);const{Button:n}=wp.components,i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useCallback:p,useRef:c,useState:m}=wp.element,{sprintf}=wp.i18n,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function d(e){const[t,a]=m({error:"",isBusy:!1,isComplete:!1});function l(e){a((t=>({...t,...e})))}return i("div",{className:""},i(n,{isPrimary:!0,disabled:t.isComplete||t.isBusy,isBusy:t.isBusy,onClick:()=>{t.isBusy||(l({isBusy:!0}),o.mappLib.ajax({method:"POST",data:{action:"mapp_upgrade",nonce:mappl10n.options.nonce},callback:e=>{e&&"OK"==e.status?l({isBusy:!1,isComplete:!0,error:null}):l({isBusy:!1,isComplete:!0,error:e.status})}}))}},__("Upgrade")),function(){if(t.isComplete)return t.error?i("div",{className:""},i("div",{className:"mapp-upgrade-error"},__("Error during update! Please contact support."),i("div",{className:""},t.error))):i("div",{className:"mapp-upgrade-success"},__("Success! Database updated."))}())}const u=document.getElementById("mapp-db-upgrade");u&&wp.element.render(i(d,null),u)},972:()=>{const e=wp.element.createElement,{Fragment:t,useEffect:a,useLayoutEffect:o,useRef:n,useState:i}=wp.element,{Button:l,Modal:s}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function r(t){const[o,n]=i({isOpen:!1,reason:"",reasonText:"",redirectUrl:null});function r(e){n((t=>({...t,...e})))}function p(e,t){switch(e){case"cancel":r({isOpen:!1});break;case"submit":r({isOpen:!1}),window.location.href=o.redirectUrl+"&mapp_reason="+o.reason+"&mapp_reason_text="+encodeURIComponent(o.reasonText.trim())}}return a((()=>{const e=document.getElementById("deactivate-mappress-google-maps-for-wordpress");if(!e)return;const t=e.addEventListener("click",(e=>{!function(e){const t=e?e.href:null;t&&r({isOpen:!0,redirectUrl:t})}(e.target),e.stopPropagation(),e.preventDefault()}));return()=>{e.removeEventListener("click",t)}}),[]),o.isOpen?e(s,{isDismissible:!0,onRequestClose:()=>p("cancel"),shouldCloseOnEsc:!0,shouldCloseOnClickOutside:!0,title:__("Feedback")},function(){const t=!o.reason||"other"==o.reason&&!o.reasonText;return sprintf("<a href='https://mappresspro.com/chris-contact' target='_blank'>%s</a>",__("contact me")),e("div",{className:"mapp-deactivate"},e("div",{className:"mapp-deactivate-content"},e("h2",null,__("Sorry to see you go! Need help?"),e(l,{className:"mapp-deactivate-help",isSecondary:!0,href:"https://mappresspro.com/chris-contact",target:"_blank"},__("Contact me"))),e("h2",null,__("Please provide some feedback:")),function(){const t=[{value:"badday",label:__("I don't want to say")},{value:"noapikey",label:__("I don't want to get an API key"),tip:__("Leaflet doesn't require a key."),tip2:__("Google and MapBox require a credit card, but include so much free usage that 99% of sites are never billed.")},{value:"nodisplay",label:__("The map didn't display")},{value:"toohard",label:__("Too hard to use"),placeholder:__("Please explain...")},{value:"feature",label:__("Missing feature"),placeholder:__("Please explain...")},{value:"other",label:__("Other"),placeholder:__("Please explain...")}];return e("div",{className:"mapp-deactivate-reasons"},_.map(t,(t=>{const a=t.value==o.reason;return e("div",{className:"mapp-deactivate-reason",key:t.value},e("label",null,e("input",{checked:a,onChange:e=>r({reason:e.target.value}),type:"radio",value:t.value}),t.label),a&&t.placeholder&&e("div",null,e("textarea",{onChange:e=>r({reasonText:e.target.value}),placeholder:t.placeholder,value:o.reasonText})),a&&t.tip&&e("fieldset",{className:"mapp-deactivate-tip"},e("legend",null,__("Did you know?")),e("div",null,t.tip),t.tip2&&e("div",null,t.tip2)))})))}()),e("div",{className:"mapp-deactivate-footer"},e(l,{isSecondary:!0,disabled:t,onClick:()=>p("submit")},__("Deactivate")),e(l,{isPrimary:!0,onClick:()=>p("cancel")},__("Cancel"))))}()):null}document.addEventListener("DOMContentLoaded",(()=>{const t=document.createElement("div");wp.element.render(e(r),t)}))},800:(e,t,a)=>{"use strict";a.r(t);var o=a(185);wp&&wp.plugins&&wp.plugins.registerPlugin&&wp.editPost&&wp.plugins.registerPlugin("mappress-document-settings-panel",{render:function(){const{PluginDocumentSettingPanel:e}=wp.editPost,{Fragment:t,useEffect:a,useLayoutEffect:n,useRef:i,useState:l}=wp.element,{dispatch:s,select:r,useSelect:p}=wp.data,{Button:c,Spinner:m}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),d=wp.element.createElement,[u,g]=l({isPickerOpen:!1,pickerMode:"list"});function h(e){g((t=>({...t,...e})))}const{counts:_}=p((e=>{const t=[mappl10n.options.otype,mappl10n.options.oid];return{counts:e("mappStore").getCounts(...t),isResolving:!e("mappStore").hasFinishedResolution("getCounts",t)}}));return d(e,{title:"MapPress",className:"mapp-document-panel"},function(){const e=_.object?sprintf(__("%d maps for this post"),_.object):__("No maps attached to post");return d("div",null,e)}(),d(c,{icon:"portfolio",isSecondary:!0,onClick:()=>{h({isPickerOpen:!0})}},__("Open map library")),function(){if(u.isPickerOpen)return d(o.MappPicker,{filter:"object",mapid:null,mode:"list",onClose:()=>{h({isPickerOpen:!1})},onInsert:e=>function(e){const t=wp.blocks.createBlock("mappress/map",{mapid:e});wp.data.dispatch("core/block-editor").insertBlock(t,0),h({isPickerOpen:!1})}(e)})}())},icon:null})},68:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappEdit:()=>G});var o=a(107),n=a(641);const i=wp.element.createElement,{Button:l,Dashicon:s,Icon:r,Spinner:p}=wp.components,{useSelect:c}=wp.data,{Fragment:m,useEffect:d,useLayoutEffect:u,useRef:g,useState:h}=wp.element,{MediaUpload:f}=wp.mediaUtils,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function v(e){e={poi:null,onChange:null,onClose:null,onDelete:null,onSave:null,...e};const t="mapp-poi-body",a=g(null),[s,r]=h({images:e.poi.images?e.poi.images:[],isBusy:!1,title:e.poi.title,isVisual:!0});function p(e){r((t=>({...t,...e})))}function c(e){e?tinyMCE.execCommand("mceAddEditor",!1,t):tinyMCE.execCommand("mceRemoveEditor",!1,t)}function u(){return["circle","polyline","polygon","rectangle"].includes(e.poi.type)}function v(){e.onChange({images:s.images,body:tinymce&&tinymce.get(t)?tinymce.get(t).getContent():a.current.value,title:s.title}),e.onClose()}function y(e){return i("div",{className:"mapp-poi-image",key:e.id?e.id:e.url},"embed"==e.type&&i(b,{url:e.url}),"embed"!=e.type&&i("img",{src:e.url}),i("div",{className:"mapp-poi-image-delete",onClick:()=>function(e){const t=s.images.findIndex((t=>t.url==e));t>=0&&(s.images.splice(t,1),p({images:s.images}))}(e.url)},"X"))}return d((()=>(function(){if("undefined"==typeof tinyMCE||void 0===tinyMCE.init)return;var e="en";if(void 0!==window.tinyMCEPreInit&&void 0!==window.tinyMCEPreInit.mceInit&&void 0!==window.tinyMCEPreInit.mceInit.content){var t=window.tinyMCEPreInit.mceInit.content;e=void 0!==t.language?t.language:"en"}var a={mode:"none",height:"100%",convert_urls:!1,language:e,menubar:!1,plugins:"image,paste,textcolor,wordpress,wpeditimage,wplink,wpview",relative_urls:!1,remove_script_host:!1,statusbar:!1,theme:"modern",toolbar1:"bold,italic,link",toolbar2:"",toolbar3:"",toolbar4:""};tinyMCE.init(a)}(),()=>{c(!1)})),[]),d((()=>{s.isVisual?c(!0):c(!1)}),[s.isVisual]),i(m,null,i("div",{className:"mapp-poi-header"},i("input",{className:"mapp-poi-title",value:s.title,onChange:e=>{p({title:e.target.value})},onKeyDown:e=>function(e){13==e.keyCode&&(v(),e.stopPropagation(),e.preventDefault())}(e)}),u(s.type)?null:i(n.MappIconPicker,{iconid:e.poi.iconid,onChange:t=>{e.onChange({iconid:t})}}),function(){var t,a,n,l,s,r;const p=e.poi;return u(p.type)?i(o.MappColorPicker,{color:"polyline"==p.type?null===(t=p.poly)||void 0===t?void 0:t.strokeColor:null===(a=p.poly)||void 0===a?void 0:a.fillColor,opacity:"polyline"==p.type?null===(n=p.poly)||void 0===n?void 0:n.strokeOpacity:null===(l=p.poly)||void 0===l?void 0:l.fillOpacity,weight:"polyline"==p.type?null===(s=p.poly)||void 0===s?void 0:s.strokeWeight:null===(r=p.poly)||void 0===r?void 0:r.strokeWeight,isExtended:!0,onChange:t=>{let{color:a,opacity:o,weight:n}=t;const i="polyline"==e.poi.type?{strokeColor:a,strokeOpacity:o,strokeWeight:n}:{fillColor:a,fillOpacity:o,strokeColor:a,strokeWeight:n,strokeOpacity:1};e.onChange({poly:{...e.poi.poly,...i}})}}):null}()),function(){const o="mapp-mce-visual"+(s.isVisual?" mapp-active":""),n="mapp-mce-html"+(s.isVisual?"":" mapp-active");return i(m,null,i("div",{className:"mapp-mce-toolbar"},i("div",{className:"mapp-mce-tabs"},i("a",{className:o,onClick:()=>p({isVisual:!0})},__("Visual"))," | ",i("a",{className:n,onClick:()=>p({isVisual:!1})},__("HTML"))),i("a",{href:"#",className:"insert-media add_media","data-editor":t},__("Add Media"))),i("div",{className:"mapp-mce-main"},i("textarea",{defaultValue:e.poi.body,id:t,ref:a,style:{height:"100%"}})))}(),"kml"==e.poi.type&&i("div",{className:"mapp-poi-kml"},i("span",null,__("KML")+" : "),i("a",{href:e.poi.kml.url,target:"_blank"},e.poi.kml.url)),s.images?i("div",{className:"mapp-poi-images"},s.images.map((e=>y(e)))):null,i("div",{className:"mapp-poi-toolbar"},i("div",null,i(l,{isPrimary:!0,onClick:()=>v()},__("Save")),i(l,{isSecondary:!0,onClick:()=>e.onClose()},__("Cancel"))),i("div",null,i(f,{allowedTypes:["image","video"],autoOpen:!0,gallery:!0,multiple:!0,onClose:()=>{p({images:s.images})},onSelect:e=>{return t=e,t=Array.isArray(t)?t:[t],void p({images:_.map(t,(e=>({id:e.id,url:e.url})))});var t},type:"image",value:s.images?s.images.map((e=>e.id)):[],render:e=>{let{open:t}=e;return i(l,{isSecondary:!0,onClick:t},__("Images"))}}),i(l,{isSecondary:!0,onClick:()=>function(){const e=prompt(__("Video URL"));if(e){let t=s.images?[...s.images]:[];t.push({type:"embed",url:e}),p({images:t})}}()},__("Video")),i(l,{isDestructive:!0,onClick:()=>e.onDelete()},__("Delete")))))}function b(e){e={url:null,...e};const{html:t}=c((t=>{const a=t("core").getEmbedPreview(e.url);return a?{html:a.html}:{html:null}}));return t?i("div",{className:"mapp-poi-embed",dangerouslySetInnerHTML:{__html:t}}):i("div",{className:"mapp-poi-embed"},i(p,null))}var y=a(939),w=a(346),k=a(885),C=a(614);window.mapp=window.mapp||{};const x=wp.element.createElement,{dispatch:S,select:N,useSelect:L}=wp.data,{Fragment:O,useEffect:M,useLayoutEffect:E,useRef:P,useState:I}=wp.element,{Button:T,Dropdown:D,Modal:z,Panel:B,PanelBody:R,Popover:A,TextControl:F}=wp.components,j=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function G(e){e={context:null,mapid:null,onCancel:null,onSave:null,...e};const t=P(),[a,o]=I({mapdata:e.mapid?null:{pois:[]},viewport:null,zoom:null});function n(e){o((t=>({...t,...e})))}const{isResolving:i,isSaving:l,savedMapdata:s}=L((t=>e.mapid?{isSaving:t("mappStore").isSaving(),isResolving:!t("mappStore").hasFinishedResolution("getMap",[e.mapid]),savedMapdata:t("mappStore").getMap(e.mapid)}:{isSaving:!1,isResolving:!1,savedMapdata:null}),[e.mapid]);function r(){e.onCancel()}function p(e,t){const o=a.mapdata.pois?[...a.mapdata.pois]:[],i=o.findIndex((t=>t.id==e));-1==i&&alert("ERROR poi not found"),o[i]={...o[i],...t},n({mapdata:{...a.mapdata,pois:o}}),t.iconid&&n({lastIcon:t.iconid})}function c(e){const t=a.mapdata.pois?[...a.mapdata.pois]:[];t.unshift(e),n({centerPoi:e,mapdata:{...a.mapdata,pois:t}})}function m(e,t){return x(v,{onClose:()=>t(),onDelete:t=>function(e){if(!confirm(mappl10n.delete_prompt))return;const t=a.mapdata.pois?[...a.mapdata.pois]:[],o=t.findIndex((t=>t.id==e));t.splice(o,1),n({mapdata:{...a.mapdata,pois:t}})}(e.id),onChange:t=>p(e.id,t),poi:e})}async function d(){const t=await S("mappStore").saveMap(a.mapdata);e.onSave(t)}function u(e){n({mapdata:{...a.mapdata,...e}})}function g(){if(i)return null;const t={centerPoi:a.centerPoi,embed:!0,isEditable:!0,layout:"left",mapOpts:{minZoom:2,streetViewControl:!1},menu:!1,name:"media-map",onDragDrop:(e,t)=>function(e,t){const o={...a.mapdata};let i=_.findIndex(o.pois,(t=>t.id==e)),l=_.findIndex(o.pois,(e=>e.id==t));o.pois.splice(l,0,o.pois.splice(i,1)[0]),n({mapdata:o})}(e,t),onDrawingEvent:e=>function(e){const t="marker"==e.type?null:e.type,o={...y.mappPoi.parseOverlay(t,e.overlay),body:"",iconid:a.lastIcon,id:y.mappLib.nanoid(),type:t,title:"marker"==e.type?e.overlay.position.toUrlValue():j("Shape")};e.overlay.setMap(null),c(o)}(e),onPoiChange:(e,t)=>p(e,t),onRenderPopup:(e,t)=>m(e,t),onRenderSidebar:()=>function(){if(null==a.mapdata)return null;if("mce"!=e.context&&"library"!=e.context)return null;const{center:t,height:o,poiList:n,search:i,title:l,width:s,zoom:r}=a.mapdata;return x(k.MappSettings,{center:t,context:e.context,height:o,mapid:e.mapid,onChange:e=>u(e),poiList:n,search:i,title:l,viewport:a.viewport,width:s,zoom:r})}(),onSearch:e=>function(e){let t;if(e.geometry){const o=e.formatted_address?e.formatted_address.replace(/, United States of America/i,"").replace(/, United States/i,"").replace(/, USA/i,""):null,n=e.name==o?"":o;t={id:y.mappLib.nanoid(),address:o,body:n,iconid:a.lastIcon,id:y.mappLib.nanoid(),point:e.geometry.location,title:e.name,viewport:e.geometry.viewport?e.geometry.viewport:null}}else"string"==typeof e&&"http"==e.substring(0,4)&&(t={iconid:a.lastIcon,id:y.mappLib.nanoid(),kml:{url:e},title:"KML",type:"kml"});c(t)}(e),onViewportChange:e=>function(e){n({viewport:e})}(e),poiList:!0,poiListOpen:!0};return"map"!=e.context&&"mashup"!=e.context||(t.center=null,t.zoom=null),x(w.MappMap,{...a.mapdata,...t})}return M((()=>{e.mapid?s&&n({mapdata:s}):n({mapdata:{otype:mappl10n.options.otype,oid:mappl10n.options.oid,pois:[]}})}),[s]),x(z,{className:"mapp-gt-modal mapp-edit-modal",isDismissible:!0,onRequestClose:!1,shouldCloseOnEsc:!1,shouldCloseOnClickOutside:!1},x("div",{ref:t,className:"mapp-edit",tabIndex:-1},function(){var e;let t=null!==(e=a.mapdata)&&void 0!==e&&e.title?a.mapdata.title:"",o=i?"":j("Untitled");return x("div",{className:"mapp-gt-modal-header"},x(F,{className:"mapp-edit-title",disabled:i,placeholder:o,value:t,onChange:e=>function(e){n({mapdata:{...a.mapdata,title:e}})}(e),onKeyDown:e=>function(e){13==e.keyCode&&(d(),e.stopPropagation(),e.preventDefault())}(e)}))}(),x("div",{className:"mapp-edit-main"},x("div",{className:"mapp-edit-map",key:e.mapid,onKeyDown:e=>e.stopPropagation(),tabIndex:-1},g()),a.mapdata?x(C.m,{selected:a.mapdata.mapTypeId,onChange:e=>u({mapTypeId:e})}):null),x("div",{className:"mapp-edit-toolbar",tabIndex:-1,onKeyDown:e=>e.stopPropagation()},x(T,{isPrimary:!0,disabled:l||i,isBusy:l,onClick:()=>d()},j("Save")),x(T,{isSecondary:!0,disabled:l||i,onClick:()=>r()},j("Cancel")))))}},641:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappIconPicker:()=>O});var o=a(939),n=a(107),i=a(577);const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useCallback:c,useRef:m,useState:d}=wp.element,{useSelect:u}=wp.data,{withState:g}=wp.compose,{Button:h,ColorPicker:f,DropZone:v,DropZoneProvider:b,FormFileUpload:y,Modal:w,Popover:k,RangeControl:C,Spinner:x,TabPanel:S}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),N=[{id:"mapp-shapes",fontFamily:"Marker Shapes",glyphs:[{name:"circle",center:[16,16]},{name:"widepin",center:[16,14]},{name:"route",center:[16,16]},{name:"shield",center:[16,16]},{name:"squarepin",center:[16,15]},{name:"square",center:[16,16]},{name:"squarerounded",center:[16,16]},{name:"roundpin",center:[16,13]},{name:"pin",center:null},{name:"pindot",center:null}]}],L=[{id:"mapp-icons",className:"mapp-marker-icons",filePrefix:"mp",fontFamily:"Marker Icons",label:"Map icons",glyphs:["airport","amusement-park","aquarium","archery","art-gallery","assistive-listening","atm","audio-description","bakery","bank","bar","baseball","beauty-salon","bicycle-store","bicycling","boat-ramp","boat-tour","boating","book-store","bowling-alley","braille","bus-station","cafe","campground","canoe","car-dealer","car-rental","car-repair","car-wash","casino","cemetery","chairlift","church","city-hall","closed-captioning","clothing-store","compass","convenience-store","courthouse","cross-country-skiing","crosshairs","dentist","department-store","diving","doctor","electrician","electronics-store","embassy","expand","female","finance","fire-station","fish-cleaning","fishing-pier","fishing","florist","food","fullscreen","funeral-home","furniture-store","gas-station","contractor","golf","grocery","gym","hair-care","hang-gliding","hardware-store","health","hindu-temple","horse-riding","hospital","ice-fishing","ice-skating","inline-skating","insurance-agency","jet-skiing","jewelry-store","kayaking","laundry","lawyer","library","liquor-store","local-government","location-arrow","locksmith","lodging","low-vision-access","male","marina","mosque","motobike-trail","movie-rental","movie-theater","moving-company","museum","natural-feature","night-club","open-captioning","painter","park","parking","pet-store","pharmacy","physiotherapist","place-of-worship","playground","plumber","point-of-interest","police","political","post-box","post-office","rafting","real-estate-agency","restaurant","roofing-contractor","route","rv-park","sailing","school","scuba-diving","search","shopping-mall","sign-language","skateboarding","ski-jumping","skiing","sledding","snow-shoeing","snow","snowboarding","snowmobile","spa","stadium","storage","store","subway-station","surfing","swimming","synagogue","taxi-stand","tennis","toilet","trail-walking","train-station","transit-station","travel-agency","unisex","university","veterinary-care","viewing","volume-control-telephone","walking","waterskiing","whale-watching","wheelchair","wind-surfing","zoo"]},{id:"material-icons",className:"material-icons",filePrefix:"mi",fontFamily:"Material Icons",label:"Material Icons",glyphs:["ac_unit","access_alarm","access_alarms","access_time","access_time_filled","accessibility","accessibility_new","accessible","accessible_forward","account_balance","account_balance_wallet","account_box","account_circle","account_tree","ad_units","adb","add","add_a_photo","add_alarm","add_alert","add_box","add_business","add_chart","add_circle","add_circle_outline","add_comment","add_ic_call","add_link","add_location","add_location_alt","add_moderator","add_photo_alternate","add_reaction","add_road","add_shopping_cart","add_task","add_to_drive","add_to_home_screen","add_to_photos","add_to_queue","addchart","adjust","admin_panel_settings","ads_click","agriculture","air","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","airplane_ticket","airplanemode_active","airplanemode_inactive","airplanemode_off","airplanemode_on","airplay","airport_shuttle","alarm","alarm_add","alarm_off","alarm_on","album","align_horizontal_center","align_horizontal_left","align_horizontal_right","align_vertical_bottom","align_vertical_center","align_vertical_top","all_inbox","all_inclusive","all_out","alt_route","alternate_email","amp_stories","analytics","anchor","android","animation","announcement","aod","apartment","api","app_blocking","app_registration","app_settings_alt","approval","apps","architecture","archive","area_chart","arrow_back","arrow_back_ios","arrow_back_ios_new","arrow_circle_down","arrow_circle_up","arrow_downward","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_forward_ios","arrow_left","arrow_right","arrow_right_alt","arrow_upward","art_track","article","aspect_ratio","assessment","assignment","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","assistant","assistant_direction","assistant_photo","atm","attach_email","attach_file","attach_money","attachment","attractions","attribution","audiotrack","auto_awesome","auto_awesome_mosaic","auto_awesome_motion","auto_delete","auto_fix_high","auto_fix_normal","auto_fix_off","auto_graph","auto_stories","autofps_select","autorenew","av_timer","baby_changing_station","back_hand","backpack","backspace","backup","backup_table","badge","bakery_dining","balcony","ballot","bar_chart","batch_prediction","bathroom","bathtub","battery_alert","battery_charging_full","battery_full","battery_saver","battery_std","battery_unknown","beach_access","bed","bedroom_baby","bedroom_child","bedroom_parent","bedtime","beenhere","bento","bike_scooter","biotech","blender","block","bloodtype","bluetooth","bluetooth_audio","bluetooth_connected","bluetooth_disabled","bluetooth_drive","bluetooth_searching","blur_circular","blur_linear","blur_off","blur_on","bolt","book","book_online","bookmark","bookmark_add","bookmark_added","bookmark_border","bookmark_outline","bookmark_remove","bookmarks","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","branding_watermark","breakfast_dining","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","brightness_auto","brightness_high","brightness_low","brightness_medium","broken_image","browser_not_supported","brunch_dining","brush","bubble_chart","bug_report","build","build_circle","bungalow","burst_mode","bus_alert","business","business_center","cabin","cable","cached","cake","calculate","calendar_today","calendar_view_day","calendar_view_month","calendar_view_week","call","call_end","call_made","call_merge","call_missed","call_missed_outgoing","call_received","call_split","call_to_action","camera","camera_alt","camera_enhance","camera_front","camera_indoor","camera_outdoor","camera_rear","camera_roll","cameraswitch","campaign","cancel","cancel_presentation","cancel_schedule_send","car_rental","car_repair","card_giftcard","card_membership","card_travel","carpenter","cases","casino","cast","cast_connected","cast_for_education","catching_pokemon","category","celebration","cell_wifi","center_focus_strong","center_focus_weak","chair","chair_alt","chalet","change_circle","change_history","charging_station","chat","chat_bubble","chat_bubble_outline","check","check_box","check_box_outline_blank","check_circle","check_circle_outline","checklist","checklist_rtl","checkroom","chevron_left","chevron_right","child_care","child_friendly","chrome_reader_mode","circle","circle_notifications","class","clean_hands","cleaning_services","clear","clear_all","close","close_fullscreen","closed_caption","closed_caption_disabled","closed_caption_off","cloud","cloud_circle","cloud_done","cloud_download","cloud_off","cloud_queue","cloud_upload","code","code_off","coffee","coffee_maker","collections","collections_bookmark","color_lens","colorize","comment","comment_bank","commute","compare","compare_arrows","compass_calibration","compost","compress","computer","confirmation_num","confirmation_number","connect_without_contact","connected_tv","construction","contact_mail","contact_page","contact_phone","contact_support","contactless","contacts","content_copy","content_cut","content_paste","content_paste_off","control_camera","control_point","control_point_duplicate","copy","copy_all","copyright","coronavirus","corporate_fare","cottage","countertops","create","create_new_folder","credit_card","credit_card_off","credit_score","crib","crop","crop_16_9","crop_3_2","crop_5_4","crop_7_5","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","cruelty_free","cut","dangerous","dark_mode","dashboard","dashboard_customize","data_exploration","data_saver_off","data_saver_on","data_usage","date_range","deck","dehaze","delete","delete_forever","delete_outline","delete_sweep","delivery_dining","departure_board","description","design_services","desktop_access_disabled","desktop_mac","desktop_windows","details","developer_board","developer_board_off","developer_mode","device_hub","device_thermostat","device_unknown","devices","devices_other","dialer_sip","dialpad","dining","dinner_dining","directions","directions_bike","directions_boat","directions_boat_filled","directions_bus","directions_bus_filled","directions_car","directions_car_filled","directions_ferry","directions_off","directions_railway","directions_railway_filled","directions_run","directions_subway","directions_subway_filled","directions_train","directions_transit","directions_transit_filled","directions_walk","dirty_lens","disabled_by_default","disabled_visible","disc_full","dnd_forwardslash","dns","do_disturb","do_disturb_alt","do_disturb_off","do_disturb_on","do_not_disturb","do_not_disturb_alt","do_not_disturb_off","do_not_disturb_on","do_not_disturb_on_total_silence","do_not_step","do_not_touch","dock","document_scanner","domain","domain_disabled","domain_verification","done","done_all","done_outline","donut_large","donut_small","door_back","door_front","door_sliding","doorbell","double_arrow","downhill_skiing","download","download_done","download_for_offline","downloading","drafts","drag_handle","drag_indicator","draw","drive_eta","drive_file_move","drive_file_move_rtl","drive_file_rename_outline","drive_folder_upload","dry","dry_cleaning","duo","dvr","dynamic_feed","dynamic_form","e_mobiledata","earbuds","earbuds_battery","east","eco","edgesensor_high","edgesensor_low","edit","edit_attributes","edit_calendar","edit_location","edit_location_alt","edit_note","edit_notifications","edit_off","edit_road","eject","elderly","electric_bike","electric_car","electric_moped","electric_rickshaw","electric_scooter","electrical_services","elevator","email","emergency","emoji_emotions","emoji_events","emoji_flags","emoji_food_beverage","emoji_nature","emoji_objects","emoji_people","emoji_symbols","emoji_transportation","engineering","enhance_photo_translate","enhanced_encryption","equalizer","error","error_outline","escalator","escalator_warning","euro","euro_symbol","ev_station","event","event_available","event_busy","event_note","event_seat","exit_to_app","expand","expand_less","expand_more","explicit","explore","explore_off","exposure","exposure_minus_1","exposure_minus_2","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","extension","extension_off","face","face_retouching_natural","face_retouching_off","face_unlock","facebook","fact_check","family_restroom","fast_forward","fast_rewind","fastfood","favorite","favorite_border","favorite_outline","featured_play_list","featured_video","feed","feedback","female","fence","festival","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","file_copy","file_download","file_download_done","file_download_off","file_present","file_upload","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_alt","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_list","filter_none","filter_tilt_shift","filter_vintage","find_in_page","find_replace","fingerprint","fire_extinguisher","fireplace","first_page","fit_screen","fitness_center","flag","flaky","flare","flash_auto","flash_off","flash_on","flashlight_off","flashlight_on","flatware","flight","flight_land","flight_takeoff","flip","flip_camera_android","flip_camera_ios","flip_to_back","flip_to_front","flourescent","flutter_dash","fmd_bad","fmd_good","folder","folder_open","folder_shared","folder_special","follow_the_signs","font_download","font_download_off","food_bank","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_indent_decrease","format_indent_increase","format_italic","format_line_spacing","format_list_bulleted","format_list_numbered","format_list_numbered_rtl","format_paint","format_quote","format_shapes","format_size","format_strikethrough","format_textdirection_l_to_r","format_textdirection_r_to_l","format_underline","format_underlined","forum","forward","forward_10","forward_30","forward_5","forward_to_inbox","foundation","free_breakfast","free_cancellation","front_hand","fullscreen","fullscreen_exit","functions","g_mobiledata","g_translate","gamepad","games","garage","gavel","generating_tokens","gesture","get_app","gif","gite","golf_course","gpp_bad","gpp_good","gpp_maybe","gps_fixed","gps_not_fixed","gps_off","grade","gradient","grading","grain","graphic_eq","grass","grid_3x3","grid_4x4","grid_goldenratio","grid_off","grid_on","grid_view","group","group_add","group_off","group_work","groups","h_mobiledata","h_plus_mobiledata","hail","handyman","hardware","hd","hdr_auto","hdr_auto_select","hdr_enhanced_select","hdr_off","hdr_off_select","hdr_on","hdr_on_select","hdr_plus","hdr_strong","hdr_weak","headphones","headphones_battery","headset","headset_mic","headset_off","healing","health_and_safety","hearing","hearing_disabled","height","help","help_center","help_outline","hevc","hide_image","hide_source","high_quality","highlight","highlight_alt","highlight_off","highlight_remove","hiking","history","history_edu","history_toggle_off","holiday_village","home","home_max","home_mini","home_repair_service","home_work","horizontal_distribute","horizontal_rule","horizontal_split","hot_tub","hotel","hotel_class","hourglass_bottom","hourglass_disabled","hourglass_empty","hourglass_full","hourglass_top","house","house_siding","houseboat","how_to_reg","how_to_vote","http","https","hvac","ice_skating","icecream","image","image_aspect_ratio","image_not_supported","image_search","imagesearch_roller","import_contacts","import_export","important_devices","inbox","incomplete_circle","indeterminate_check_box","info","input","insert_chart","insert_chart_outlined","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_photo","insights","integration_instructions","inventory","inventory_2","invert_colors","invert_colors_off","invert_colors_on","ios_share","iron","iso","kayaking","keyboard","keyboard_alt","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_control","keyboard_hide","keyboard_return","keyboard_tab","keyboard_voice","king_bed","kitchen","kitesurfing","label","label_important","label_off","landscape","language","laptop","laptop_chromebook","laptop_mac","laptop_windows","last_page","launch","layers","layers_clear","leaderboard","leak_add","leak_remove","leave_bags_at_home","legend_toggle","lens","lens_blur","library_add","library_add_check","library_books","library_music","light","light_mode","lightbulb","line_style","line_weight","linear_scale","link","link_off","linked_camera","liquor","list","list_alt","live_help","live_tv","living","local_activity","local_airport","local_atm","local_attraction","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_fire_department","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_police","local_post_office","local_print_shop","local_printshop","local_restaurant","local_see","local_shipping","local_taxi","location_city","location_disabled","location_history","location_off","location_on","location_searching","lock","lock_clock","lock_open","login","logout","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loop","loupe","low_priority","loyalty","lte_mobiledata","lte_plus_mobiledata","luggage","lunch_dining","mail","mail_outline","male","manage_accounts","manage_search","map","maps_home_work","maps_ugc","margin","mark_as_unread","mark_chat_read","mark_chat_unread","mark_email_read","mark_email_unread","markunread","markunread_mailbox","masks","maximize","media_bluetooth_off","media_bluetooth_on","mediation","medical_services","medication","meeting_room","memory","menu","menu_book","menu_open","merge_type","message","messenger","messenger_outline","mic","mic_external_off","mic_external_on","mic_none","mic_off","microwave","military_tech","minimize","miscellaneous_services","missed_video_call","mms","mobile_friendly","mobile_off","mobile_screen_share","mobiledata_off","mode","mode_comment","mode_edit","mode_edit_outline","mode_night","mode_standby","model_training","monetization_on","money","money_off","money_off_csred","monitor","monitor_weight","monochrome_photos","mood","mood_bad","moped","more","more_horiz","more_time","more_vert","motion_photos_auto","motion_photos_off","motion_photos_on","motion_photos_pause","motion_photos_paused","motorcycle","mouse","move_to_inbox","movie","movie_creation","movie_filter","moving","mp","multiline_chart","multiple_stop","multitrack_audio","museum","music_note","music_off","music_video","my_library_add","my_library_books","my_library_music","my_location","nat","nature","nature_people","navigate_before","navigate_next","navigation","near_me","near_me_disabled","nearby_error","nearby_off","network_cell","network_check","network_locked","network_wifi","new_label","new_releases","next_plan","next_week","nfc","night_shelter","nightlife","nightlight","nightlight_round","nights_stay","no_accounts","no_backpack","no_cell","no_drinks","no_encryption","no_encryption_gmailerrorred","no_flash","no_food","no_luggage","no_meals","no_meeting_room","no_photography","no_sim","no_stroller","no_transfer","nordic_walking","north","north_east","north_west","not_accessible","not_interested","not_listed_location","not_started","note","note_add","note_alt","notes","notification_add","notification_important","notifications","notifications_active","notifications_none","notifications_off","notifications_on","notifications_paused","now_wallpaper","now_widgets","offline_bolt","offline_pin","offline_share","ondemand_video","online_prediction","opacity","open_in_browser","open_in_full","open_in_new","open_in_new_off","open_with","other_houses","outbond","outbound","outbox","outdoor_grill","outlet","outlined_flag","padding","pages","pageview","paid","palette","pan_tool","panorama","panorama_fish_eye","panorama_fisheye","panorama_horizontal","panorama_horizontal_select","panorama_photosphere","panorama_photosphere_select","panorama_vertical","panorama_vertical_select","panorama_wide_angle","panorama_wide_angle_select","paragliding","park","party_mode","password","paste","pattern","pause","pause_circle","pause_circle_filled","pause_circle_outline","pause_presentation","payment","payments","pedal_bike","pending","pending_actions","people","people_alt","people_outline","perm_camera_mic","perm_contact_cal","perm_contact_calendar","perm_data_setting","perm_device_info","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","person","person_add","person_add_alt","person_add_alt_1","person_add_disabled","person_off","person_outline","person_pin","person_pin_circle","person_remove","person_remove_alt_1","person_search","personal_injury","personal_video","pest_control","pest_control_rodent","pets","phone","phone_android","phone_bluetooth_speaker","phone_callback","phone_disabled","phone_enabled","phone_forwarded","phone_in_talk","phone_iphone","phone_locked","phone_missed","phone_paused","phonelink","phonelink_erase","phonelink_lock","phonelink_off","phonelink_ring","phonelink_setup","photo","photo_album","photo_camera","photo_camera_back","photo_camera_front","photo_filter","photo_library","photo_size_select_actual","photo_size_select_large","photo_size_select_small","piano","piano_off","picture_as_pdf","picture_in_picture","picture_in_picture_alt","pie_chart","pie_chart_outline","pin","pin_drop","pin_end","pin_invoke","pivot_table_chart","place","plagiarism","play_arrow","play_circle","play_circle_fill","play_circle_filled","play_circle_outline","play_disabled","play_for_work","play_lesson","playlist_add","playlist_add_check","playlist_play","plumbing","plus_one","podcasts","point_of_sale","policy","poll","polymer","pool","portable_wifi_off","portrait","post_add","power","power_input","power_off","power_settings_new","precision_manufacturing","pregnant_woman","present_to_all","preview","price_change","price_check","print","print_disabled","priority_high","privacy_tip","private_connectivity","production_quantity_limits","psychology","public","public_off","publish","published_with_changes","push_pin","qr_code","qr_code_2","qr_code_scanner","query_builder","query_stats","question_answer","queue","queue_music","queue_play_next","quick_contacts_dialer","quick_contacts_mail","quickreply","quiz","r_mobiledata","radar","radio","radio_button_checked","radio_button_off","radio_button_on","radio_button_unchecked","railway_alert","ramen_dining","rate_review","raw_off","raw_on","read_more","real_estate_agent","receipt","receipt_long","recent_actors","recommend","record_voice_over","recycling","redeem","redo","reduce_capacity","refresh","remember_me","remove","remove_circle","remove_circle_outline","remove_done","remove_from_queue","remove_moderator","remove_red_eye","remove_shopping_cart","reorder","repeat","repeat_on","repeat_one","repeat_one_on","replay","replay_10","replay_30","replay_5","replay_circle_filled","reply","reply_all","report","report_gmailerrorred","report_off","report_problem","request_page","request_quote","reset_tv","restart_alt","restaurant","restaurant_menu","restore","restore_from_trash","restore_page","reviews","rice_bowl","ring_volume","roofing","room","room_preferences","room_service","rotate_90_degrees_ccw","rotate_left","rotate_right","rounded_corner","router","rowing","rss_feed","rsvp","rtt","rule","rule_folder","run_circle","running_with_errors","rv_hookup","safety_divider","sailing","sanitizer","satellite","save","save_alt","saved_search","savings","scanner","scatter_plot","schedule","schedule_send","schema","school","science","score","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_rotation","screen_search_desktop","screen_share","screenshot","sd","sd_card","sd_card_alert","sd_storage","search","search_off","security","security_update","security_update_good","security_update_warning","segment","select_all","self_improvement","sell","send","send_and_archive","send_to_mobile","sensor_door","sensor_window","sensors","sensors_off","sentiment_dissatisfied","sentiment_neutral","sentiment_satisfied","sentiment_satisfied_alt","sentiment_very_dissatisfied","sentiment_very_satisfied","set_meal","settings","settings_accessibility","settings_applications","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_display","settings_ethernet","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_overscan","settings_phone","settings_power","settings_remote","settings_suggest","settings_system_daydream","settings_voice","share","share_arrival_time","share_location","shield","shop","shop_2","shop_two","shopping_bag","shopping_basket","shopping_cart","short_text","shortcut","show_chart","shower","shuffle","shuffle_on","shutter_speed","sick","signal_cellular_0_bar","signal_cellular_4_bar","signal_cellular_alt","signal_cellular_connected_no_internet_0_bar","signal_cellular_connected_no_internet_4_bar","signal_cellular_no_sim","signal_cellular_nodata","signal_cellular_null","signal_cellular_off","signal_wifi_0_bar","signal_wifi_4_bar","signal_wifi_4_bar_lock","signal_wifi_bad","signal_wifi_connected_no_internet_4","signal_wifi_off","signal_wifi_statusbar_4_bar","signal_wifi_statusbar_connected_no_internet_4","signal_wifi_statusbar_null","sim_card","sim_card_alert","sim_card_download","single_bed","sip","skateboarding","skip_next","skip_previous","sledding","slideshow","slow_motion_video","smart_button","smart_display","smart_screen","smart_toy","smartphone","smoke_free","smoking_rooms","sms","sms_failed","snippet_folder","snooze","snowboarding","snowmobile","snowshoeing","soap","social_distance","sort","sort_by_alpha","source","south","south_east","south_west","spa","space_bar","space_dashboard","speaker","speaker_group","speaker_notes","speaker_notes_off","speaker_phone","speed","spellcheck","splitscreen","sports","sports_bar","sports_baseball","sports_basketball","sports_cricket","sports_esports","sports_football","sports_golf","sports_handball","sports_hockey","sports_kabaddi","sports_mma","sports_motorsports","sports_rugby","sports_score","sports_soccer","sports_tennis","sports_volleyball","square_foot","stacked_bar_chart","stacked_line_chart","stairs","star","star_border","star_border_purple500","star_half","star_outline","star_purple500","star_rate","stars","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","sticky_note_2","stop","stop_circle","stop_screen_share","storage","store","store_mall_directory","storefront","storm","straighten","stream","streetview","strikethrough_s","stroller","style","subdirectory_arrow_left","subdirectory_arrow_right","subject","subscript","subscriptions","subtitles","subtitles_off","subway","summarize","superscript","supervised_user_circle","supervisor_account","support","support_agent","surfing","surround_sound","swap_calls","swap_horiz","swap_horizontal_circle","swap_vert","swap_vert_circle","swap_vertical_circle","swipe","switch_account","switch_camera","switch_left","switch_right","switch_video","sync","sync_alt","sync_disabled","sync_problem","system_security_update","system_security_update_good","system_security_update_warning","system_update","system_update_alt","system_update_tv","tab","tab_unselected","table_chart","table_rows","table_view","tablet","tablet_android","tablet_mac","tag","tag_faces","takeout_dining","tap_and_play","tapas","task","task_alt","taxi_alert","terrain","text_fields","text_format","text_rotate_up","text_rotate_vertical","text_rotation_angledown","text_rotation_angleup","text_rotation_down","text_rotation_none","text_snippet","textsms","texture","theater_comedy","theaters","thermostat","thermostat_auto","thumb_down","thumb_down_alt","thumb_down_off_alt","thumb_up","thumb_up_alt","thumb_up_off_alt","thumbs_up_down","time_to_leave","timelapse","timeline","timer","timer_10","timer_10_select","timer_3","timer_3_select","timer_off","tips_and_updates","title","toc","today","toggle_off","toggle_on","toll","tonality","topic","touch_app","tour","toys","track_changes","traffic","train","tram","transfer_within_a_station","transform","transgender","transit_enterexit","translate","travel_explore","trending_down","trending_flat","trending_neutral","trending_up","trip_origin","try","tty","tune","tungsten","turned_in","turned_in_not","tv","tv_off","two_wheeler","umbrella","unarchive","undo","unfold_less","unfold_more","unpublished","unsubscribe","upcoming","update","update_disabled","upgrade","upload","upload_file","usb","usb_off","verified","verified_user","vertical_align_bottom","vertical_align_center","vertical_align_top","vertical_distribute","vertical_split","vibration","video_call","video_camera_back","video_camera_front","video_collection","video_label","video_library","video_settings","video_stable","videocam","videocam_off","videogame_asset","videogame_asset_off","view_agenda","view_array","view_carousel","view_column","view_comfortable","view_comfy","view_compact","view_day","view_headline","view_in_ar","view_list","view_module","view_quilt","view_sidebar","view_stream","view_week","vignette","villa","visibility","visibility_off","voice_chat","voice_over_off","voicemail","volume_down","volume_mute","volume_off","volume_up","volunteer_activism","vpn_key","vpn_lock","vrpano","wallet_giftcard","wallet_membership","wallet_travel","wallpaper","warning","warning_amber","wash","watch","watch_later","water","water_damage","water_drop","waterfall_chart","waves","waving_hand","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_shade","wb_sunny","wb_twilight","wc","web","web_asset","web_asset_off","weekend","west","whatshot","wheelchair_pickup","where_to_vote","widgets","wifi","wifi_calling","wifi_calling_3","wifi_lock","wifi_off","wifi_protected_setup","wifi_tethering","wifi_tethering_error_rounded","wifi_tethering_off","window","wine_bar","work","work_off","work_outline","workspaces","wrap_text","wrong_location","wysiwyg","yard","youtube_searched_for","zoom_in","zoom_out","zoom_out_map"]}];function O(e){const[t,a]=d({defaultIcon:mappl10n.options.defaultIcon,filename:null,filter:"",glyph:"",glyphColor:"white",glyphFont:L[0],glyphSize:20,isOpen:!1,mode:"list",shape:"circle",shapeColor:"gray",shapeFont:N[0],toDelete:[],userIcons:mappl10n.options.userIcons});function p(e){a((t=>({...t,...e})))}function c(a,n){switch(a){case"bulk-select":let a=[...t.toDelete],i=t.toDelete.indexOf(n.iconid);i>=0?a.splice(i,1):a.push(n.iconid),p({toDelete:a});break;case"close":p({isOpen:!1});break;case"delete":confirm(mappl10n.delete_prompt)&&o.mappLib.ajax({method:"POST",data:{action:"mapp_icon_delete",iconids:t.toDelete,nonce:mappl10n.options.nonce},callback:function(a){a&&"OK"==a.status?(t.toDelete.indexOf(e.iconid)>=0&&!function(e){if(!e)return!1;let t=e.replace(/.png|.gif|.jpg/gi,"").toLowerCase();return mappl10n.options.standardIcons.indexOf(t)>=0}(e.iconid)&&e.onChange(null),mappl10n.options.userIcons=a.data,p({toDelete:[],mode:"list",userIcons:mappl10n.options.userIcons})):alert("Delete error: "+a.status)}});break;case"edit-cancel":p({mode:"list"});break;case"edit-save":!function(e){const a=32,o=2;let n=document.createElement("canvas");n.width=a*o,n.height=a*o,n.style.imageRendering="pixelated";let i=n.getContext("2d");i.font=a*o+"px "+t.shapeFont.fontFamily,i.fillStyle=t.shapeColor,i.textBaseline="bottom",i.fillText(t.shape,0,a*o),i.strokeStyle="white",i.strokeText(t.shape,1,a*o);const l=_.findWhere(t.shapeFont.glyphs,{name:t.shape});if(t.glyph&&l.center){i.imageSmoothingEnabled=!1,i.font=t.glyphSize*o+"px "+t.glyphFont.fontFamily,i.fillStyle=t.glyphColor;const e=[l.center[0]*o,l.center[1]*o];i.fillText(t.glyph,e[0]-t.glyphSize,e[1]+t.glyphSize)}"undefined"!=typeof debug?document.getElementById("mapp-edit-debug").append(n):n.toBlob((e=>{let a=new FormData;a.append("image0",e,t.filename),u(a)}),"image/png",100)}();break;case"edit-upload":!function(e){let t=new FormData;_.map(e,((e,a)=>{e.type.match("image.*")?t.append("image"+a,e):alert("File "+e.name+" is not an image.")})),u(t)}(n);break;case"list-select":e.onChange&&e.onChange(n),c("close");break;case"mode":p("bulk"==n?{mode:n,toDelete:[]}:{mode:n});break;case"open":p({isOpen:!0})}}function m(a){const n="user"==a?mappl10n.options.userIcons:mappl10n.options.standardIcons;return _.map(n,(n=>{if("standard"==a&&function(e){return mappl10n.options.userIcons.indexOf(e)>=0}(n+".png"))return"";let i="mapp-icon-wrapper";return"bulk"==t.mode&&t.toDelete.indexOf(n)>=0?i+=" mapp-bulk-selected":"list"!=t.mode||e.iconid!=n&&e.iconid+".png"!=n||(i+=" mapp-selected"),l("div",{alt:n,className:i,key:n,onClick:()=>{"list"==t.mode?c("list-select",n):"user"==a&&c("bulk-select",{iconid:n,type:a})}},l("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(n),title:n}))}))}function u(t){t.append("action","mapp_icon_save"),t.append("nonce",mappl10n.options.nonce),o.mappLib.ajax({method:"POST",data:t,callback:t=>{t&&"OK"==t.status?(mappl10n.options.userIcons=t.data.icons,p({userIcons:mappl10n.options.userIcons}),p({mode:"list"}),e.onChange&&e.onChange(t.data.filename)):alert("Upload error: "+t.status)}})}return r((()=>{let e=t.glyph?t.glyph:t.shape;e+=".png",p({filename:e})}),[t.shape,t.shapeColor,t.glyphFont,t.glyph,t.glyphColor,t.glyphSize]),l(s,null,l("img",{className:"mapp-icon",onClick:()=>c("open",null),src:o.mappLib.getIconUrl(e.iconid)}),"list"==t.mode&&t.isOpen&&l(w,{title:l("div",{className:"mapp-icons-title"},__("Select icon"),l(h,{disabled:"bulk"==t.mode,isPrimary:!0,onClick:()=>c("mode","edit")},__("New icon"))),className:"mapp-icons-modal",onRequestClose:()=>c("close")},l("div",{className:"mapp-icons"},l("div",{className:"mapp-icons-list"},mappl10n.options.userIcons.length>0&&l("div",{className:"mapp-icons-list-title"},__("Custom icons")),l("div",{className:"mapp-icons-user"},m("user")),mappl10n.options.userIcons.length>0&&l("div",{className:"mapp-icons-list-title"},__("Standard icons")),l("div",{className:"mapp-icons-standard"},m("standard"))),l("div",{className:"mapp-icons-toolbar"},l("div",null,l(h,{disabled:"bulk"==t.mode,isSecondary:!0,onClick:()=>c("list-select",null)},__("Use default icon")),mappl10n.options.userIcons.length>0&&l(h,{isTertiary:!0,onClick:()=>c("mode","bulk")},__("Edit list"))),l("div",{className:"mapp-icons-filename"},e.iconid?e.iconid:__("No icon selected"))))),"bulk"==t.mode&&t.isOpen&&l(w,{title:l("div",{className:"mapp-icons-title"},__("Select icons to delete")),className:"mapp-icons-modal",onRequestClose:()=>c("close")},l("div",{className:"mapp-icons"},l("div",{className:"mapp-icons-list"},l("div",{className:"mapp-icons-user"},m("user"))),l("div",{className:"mapp-icons-toolbar"},l("div",null,l(h,{isDestructive:!0,disabled:t.toDelete.length<1,onClick:()=>c("delete")},__("Delete")),l(h,{isSecondary:!0,onClick:()=>c("mode","list")},__("Cancel")))))),"edit"==t.mode&&l(w,{title:__("Create new icon"),className:"mapp-icons-edit-modal",onRequestClose:()=>c("edit-cancel"),shouldCloseOnClickOutside:!1},l("div",{className:"mapp-icons-edit"},l("div",{id:"mapp-edit-debug"}),l("section",null,l("h2",null,__("Shape")),l("span",{className:"mapp-icons-edit-shapes",style:{color:t.shapeColor,fontFamily:t.shapeFont.fontFamily}},_.map(t.shapeFont.glyphs,((e,a)=>{const o=t.shape==e.name;return l("span",{className:"mapp-icons-edit-shape-wrapper"+(o?" mapp-selected":""),key:e.name,onClick:()=>p({shape:e.name}),title:e.name},l("span",{className:"mapp-icons-edit-shape"},e.name,e.center&&t.glyph&&l("div",{className:"mapp-icons-edit-shape-glyph "+t.glyphFont.className,style:{left:e.center[0],top:e.center[1],color:t.glyphColor,fontSize:t.glyphSize,width:t.glyphSize}},t.glyph)))})))),l("section",{className:"mapp-icons-edit-font"},l("h2",null,__("Font")),l(i.Select,{value:t.glyphFont.id,options:_.map(L,(e=>({value:e.id,label:e.label}))),onChange:e=>p({glyphFont:_.findWhere(L,{id:e}),glyph:null})}),l("span",null,__("Font size")),l(C,{initialPosition:20,min:16,max:24,value:t.glyphSize,onChange:e=>p({glyphSize:e})})),l("section",null,l("h2",null,__("Color")),l("span",{className:"mapp-icons-edit-colors"},l(n.MappColorPicker,{color:t.shapeColor,isExtended:!1,onChange:e=>p({shapeColor:e.color})}),l("span",null,__("Fill")),l(n.MappColorPicker,{color:t.glyphColor,isExtended:!1,onChange:e=>p({glyphColor:e.color})}),l("span",null,__("Stroke")))),function(){const e=_.filter(t.glyphFont.glyphs,(e=>!t.filter||e.includes(t.filter)));return l("div",{className:"mapp-icons-edit-glyphs"},l("section",{className:"mapp-icons-edit-search"},l("h2",null,__("Search")),l(i.Input,{value:t.filter,onChange:e=>p({filter:e})})),l("div",{className:"mapp-icons-edit-glyph-list",style:{color:t.glyphColor}},_.map(e,((e,a)=>l("div",{tabIndex:0,className:"mapp-icons-edit-glyph-wrapper"+(t.glyph==e?" mapp-selected":""),key:a,onClick:()=>p({glyph:t.glyph==e?null:e})},l("span",{className:"mapp-icons-edit-glyph "+t.glyphFont.className},e),l("div",{className:"mapp-icons-edit-glyph-title"},e.replaceAll("_"," ")))))))}(),l("div",{className:"mapp-icons-edit-toolbar"},l("div",{className:"mapp-icons-edit-toolbar-left"},l(h,{isPrimary:!0,onClick:()=>c("edit-save")},__("Save")),l(h,{isSecondary:!0,onClick:()=>c("edit-cancel")},__("Cancel")),l(i.Input,{className:"mapp-icons-filename",value:t.filename,onChange:e=>p({filename:e})})),l("div",null,l(y,{accept:"image/*",icon:"upload",multiple:!0,onChange:e=>{c("edit-upload",e.target.files)}},__("Upload icons")))))))}},897:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappImport:()=>y});a(939);var o=a(346),n=a(577);const i=wp.element.createElement,{apiFetch:l}=wp,{Fragment:s,useEffect:r,useLayoutEffect:p,useCallback:c,useRef:m,useState:d}=wp.element,{useSelect:u}=wp.data,{withState:g}=wp.compose,{Button:h,FormFileUpload:f,Modal:v,ToggleControl:b}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function y(e){const[t,a]=d({isBusy:!1,file:null,isMapModalOpen:!1,mapid:null,overwrite:!1,response:null,tab:"sheet",url:""});m(null);function r(e){a((t=>({...t,...e})))}const{isResolving:p,mapdata:c}=u((e=>t.mapid?{isResolving:!e("mappStore").hasFinishedResolution("getMap",[t.mapid]),mapdata:e("mappStore").getMap(t.mapid)}:{isResolving:!1,mapdata:null}),[t.mapid]);const g=t.isBusy||"file"==t.tab&&!t.file||"sheet"==t.tab&&0==t.url.trim().length;return i("div",{className:"mapp-import"},i("form",{onSubmit:e=>{e.preventDefault(),async function(){r({isBusy:!0,response:null});let e={method:"POST",path:"/mapp/v1/maps/import"};if("sheet"==t.tab)e.data={url:t.url,overwrite:t.overwrite};else if("file"==t.tab){let a=new FormData;a.append("overwrite",t.overwrite),a.append("file",t.file),e.body=a}const a=await l(e).catch((e=>{alert(e.message)}));r({isBusy:!1}),a&&r({response:a})}()}},i(s,null,i("h2",null,__("Source")),i(n.MappTabs,{tabs:[{name:"sheet",label:__("Google Sheets")},{name:"file",label:__("File")}],initialTab:t.tab,onRender:e=>"sheet"==e?function(){const e=i("div",{className:"mapp-import-help"},__("Google sheets must be shared before importing:"),i("ol",null,i("li",null,__("File -> Share -> Publish to web")),i("li",null,__("Select 'Entire Document' and 'Comma-Separated Values (.csv)")),i("li",null,__("Copy the URL and paste it here"))));return i("div",{className:"mapp-import-tab-sheet"},i("label",{className:"mapp-import-sheet-name"},i("span",null,"URL"),i("input",{onChange:e=>{r({url:e.target.value})},type:"text",value:t.url})),e)}():"file"==e?function(){const e=i("div",{className:"mapp-import-help"},__("File must be in CSV format:"),i("ol",null,i("li",null,__("Excel: File -> Save As -> 'CSV' or 'CSV UTF-8' (for special characters)'")),i("li",null,__("Google sheets: File -> Download -> Comma Separated Values (.csv)"))));return i("div",{className:"mapp-import-tab-file"},i("div",{className:"mapp-import-file-name"},i(f,{accept:"text/csv",isSecondary:!0,multiple:!1,onChange:e=>{r({file:e.target.files[0]})}},__("Select file")),i("input",{disabled:!0,type:"text",value:t.file?t.file.name:""})),e)}():void 0,onSelect:e=>r({tab:e})})),i(b,{checked:t.overwrite,label:__("Use map IDs from file"),onChange:e=>r({overwrite:e})}),t.overwrite&&i("div",{className:"mapp-import-overwrite-warning"},__("WARNING: this will overwrite any existing maps with the same IDs")),i(h,{disabled:g,isBusy:t.isBusy,isPrimary:!0,type:"submit"},__("Import"))),function(){if(t.response&&t.response.results)return i("div",{className:"mapp-import-log"},i("h2",null,__("Results")),_.map(t.response.results,((e,a)=>i("div",{key:a},function(e){let a=t.response.headers;return i("div",{className:"mapp-import-table"},i("div",{className:"mapp-import-table-header"},i("div",{key:"line",className:"mapp-import-cell"},__("Line")),_.map(a,((e,t)=>i("div",{key:t,className:"mapp-import-cell"},e))),i("div",{key:"msg",className:"mapp-import-cell"},__("Result"))),_.map(e.logs,((e,t)=>{let o="mapp-import-cell";return e.msg&&(o+="e"==e.msg.msgtype?" mapp-import-cell-error":" mapp-import-cell-info"),i("div",{className:"mapp-import-row",key:t},i("div",{key:"col_rowid",className:"mapp-import-cell"},e.rowid),_.map(a,((t,a)=>i("div",{key:a,className:"mapp-import-cell"},e[t]?e[t]:" "))),i("div",{key:"error",className:o},e.msg.msg))})))}(e),function(e){return _.map(e.msgs,((e,a)=>{const o="e"==e.msgtype?"mapp-import-error":"mapp-import-info";return i("div",{className:o,key:a},e.msg,e.mapid&&i(h,{onClick:()=>{r({mapid:e.mapid,isMapModalOpen:!0})},disabled:p||t.isMapModalOpen,isBusy:p&&t.mapid==e.mapid,isSecondary:!0},__("Show map")))}))}(e)))))}(),t.isMapModalOpen&&!p&&i(v,{title:__("Map")+" "+t.mapid,onRequestClose:()=>r({isMapModalOpen:!1})},i("div",{className:"mapp-import-map"},c&&!p&&i(o.MappMap,{...c,height:"50vh",mapOpts:{mapTypeControl:!1,streetViewControl:!1},poiList:!0,search:!1,width:"50vw"}))))}document.getElementById("mapp-import-container")&&wp.element.render(i(y,null),document.getElementById("mapp-import-container"))},218:(e,t,a)=>{"use strict";a.r(t);var o=a(346),n=a(185),i=a(885);window.mapp=window.mapp||{};const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:m}=wp.element,{dispatch:d,select:u,useSelect:g}=wp.data,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function h(e){const{Button:t,Placeholder:a,Toolbar:p,ToolbarButton:c,ToolbarGroup:d}=wp.components,{BlockControls:u,InspectorControls:h}=wp.blockEditor,[_,f]=m({isFetching:null,isPickerOpen:!1,pickerMode:"list",viewport:null});function v(e){f((t=>({...t,...e})))}const{isResolving:b,mapdata:y}=g((t=>e.attributes.mapid?{isResolving:!t("mappStore").hasFinishedResolution("getMap",[e.attributes.mapid]),mapdata:t("mappStore").getMap(e.attributes.mapid)}:{isResolving:!1,mapdata:null}),[e.attributes.mapid]);function w(){v({isPickerOpen:!0,pickerMode:"list"})}return r((()=>{"wide"!=e.attributes.align&&"full"!=e.attributes.align||e.setAttributes({width:"100%"})}),[e.attributes.align]),e.attributes.preview?l("img",{className:"mapp-gt-preview",src:mappl10n.options.baseurl+"/images/preview.png",width:"100%"}):b?null:l(s,null,l(u,null,l(void 0!==d?d:p,null,e.attributes.mapid&&l(c,{icon:"edit",label:__("Edit map"),onClick:()=>{v({isPickerOpen:!0,pickerMode:"edit"})}}),l(c,{icon:"portfolio",label:__("Map Library"),onClick:()=>w()}))),e.attributes.mapid&&y?l(s,null,function(){const{align:t,center:a,height:o,mapid:n,poiList:s,search:r,width:p,zoom:c}=e.attributes;return l(h,null,l("div",{className:"mapp-gt-inspector"},l(i.MappSettings,{center:a,context:"map",height:o,mapid:n,onChange:t=>{return a=t,void e.setAttributes(a);var a},poiList:s,search:r,title:y?y.title:null,viewport:_.viewport,width:p,zoom:c})))}(),function(){if(e.attributes.mapid&&y)return l(o.MappMap,{...y,alignment:e.attributes.align,center:e.attributes.center,height:e.attributes.height,key:e.attributes.mapid,mapOpts:{mapTypeControl:!1,streetViewControl:!1},onViewportChange:e=>function(e){v({viewport:e})}(e),poiList:e.attributes.poiList,search:e.attributes.search,width:e.attributes.width,zoom:e.attributes.zoom})}()):function(){let o=__("Use the map library to create a new map or insert an existing map.");return e.attributes.mapid&&(o=sprintf(__("Map %d could not be found. Please select a different map."),e.attributes.mapid)),l(s,null,l(a,{className:"mapp-gt-placeholder",icon:"location",label:__("MapPress Map"),instructions:o},l(t,{icon:"portfolio",isSecondary:!0,onClick:()=>w()},__("Map Library"))))}(),function(){if(_.isPickerOpen)return l(n.MappPicker,{mapid:e.attributes.mapid,mode:_.pickerMode,onClose:()=>(null==e.attributes.center&&(e.setAttributes({center:1}),e.setAttributes({center:null})),void v({isPickerOpen:!1})),onInsert:t=>function(t){t!=e.attributes.mapid&&e.setAttributes({center:void 0,mapid:t,zoom:void 0}),v({isPickerOpen:!1})}(t),onTrash:()=>{e.setAttributes({mapid:void 0,center:void 0,zoom:void 0,width:void 0,height:void 0})},type:"post"})}())}"post"==mappl10n.options.otype&&mappl10n.options.oid&&wp.blocks.registerBlockType("mappress/map",{title:__("MapPress Map"),icon:"location",description:__("Insert a map"),category:mappl10n.options.blockCategory,attributes:{center:{type:"string"},height:{type:"string",default:""},initialOpenDirections:{type:"boolean"},mapid:{type:"string"},mapOpts:{type:"object"},poiList:{type:"boolean"},preview:{type:"boolean",default:!1},search:{type:"boolean"},width:{type:"string",default:""},zoom:{type:"number"}},supports:{align:["full","wide","center","left","right"]},transforms:{from:[{type:"shortcode",tag:"mappress",attributes:{center:{type:"string",shortcode:e=>e.named.center},height:{type:"string",shortcode:e=>e.named.height},initialOpenDirections:{type:"boolean",shortcode:e=>"true"==e.named.initialOpenDirections||"true"==e.named.initialopendirections||void 0},mapid:{type:"string",shortcode:e=>e.named.mapid},poiList:{type:"boolean",shortcode:e=>"true"==e.named.poiList||"true"==e.named.poilist||void 0},search:{type:"boolean",shortcode:e=>"true"==e.named.search||"true"==e.named.search||void 0},width:{type:"string",shortcode:e=>e.named.width},zoom:{type:"number",shortcode:e=>parseInt(e.named.zoom)?parseInt(e.named.zoom):null}}},{type:"block",blocks:["core/shortcode"],isMatch:e=>{let{text:t}=e;var a=wp.shortcode.regexp("mappress");return a.lastIndex=0,a.test(t)},transform:e=>{let{text:t}=e;return wp.blocks.rawHandler({HTML:"<p>"+t+"</p>",mode:"BLOCKS"})}}]},edit:function(e){return l(h,e)},save:function(e){return e},example:{attributes:{preview:!0}}})},265:(e,t,a)=>{"use strict";a.r(t);a(346),a(74),a(885),a(308);wp.element.createElement;const{Fragment:o,useEffect:n,useLayoutEffect:i,useRef:l,useState:s}=wp.element,{BaseControl:r,Button:p,ButtonGroup:c,Card:m,CardBody:d,CardFooter:u,CardHeader:g,CheckboxControl:h,ExternalLink:_,HorizontalRule:f,Panel:v,PanelBody:b,PanelRow:y,Placeholder:w,RadioControl:k,SelectControl:C,TabPanel:x,TextControl:S,TextareaControl:N,ToggleControl:L,Toolbar:O}=wp.components,{useSelect:M}=wp.data},74:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappMultiSelect:()=>v});const o=wp.element.createElement,{Fragment:n,useEffect:i,useLayoutEffect:l,useRef:s,useState:r}=wp.element,{BaseControl:p,Button:c,CheckboxControl:m,Panel:d,PanelBody:u,PanelRow:g,Spinner:h,TextControl:f}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function v(e){const t=s(null),a=s(null),[n,l]=r({isOpen:!1,filter:"",filteredOptions:[]});function c(e){l((t=>({...t,...e})))}function d(t){let a=_.findWhere(e.options,{value:t});return a?a.label:t}function u(){let t;return e.values instanceof Array?t=[...e.values]:e.values&&(t=[e.values]),t||[]}function g(t,a){let o=u(),n=o.indexOf(t);(a=void 0!==a?a:-1==n)?o.push(t):o.splice(n,1),e.onChange(o)}function h(){return n.isOpen?o("div",{className:"mapp-select-dropdown-wrapper"},o("div",{className:"mapp-select-dropdown"},!n.isOpen||!e.options||e.options.length<10?null:o("div",{className:"mapp-select-filter",ref:a},o(f,{autoComplete:"off",placeholder:__("Search"),value:n.filter,onChange:e=>c({filter:e})})),o("div",{className:"mapp-select-dropdown-list"},function(){const e=u();if(0==n.filteredOptions.length)return o("div",{className:"mapp-select-dropdown-item"},__("No results"));return n.filteredOptions.map((t=>o(m,{className:"mapp-select-dropdown-item",checked:e.includes(t.value),key:t.value,onChange:e=>g(t.value,e),label:t.label})))}()))):null}return i((()=>{if(e.options)if(n.filter){let t=n.filter.toUpperCase();c({filteredOptions:e.options.filter((e=>0==e.label.toUpperCase().indexOf(t)))})}else c({filteredOptions:e.options})}),[e.options,n.filter]),i((()=>{n.isOpen&&a.current&&(a.current.focus(),c({filter:""}))}),[n.isOpen]),o(p,{className:"mapp-select",label:e.label},o("div",{ref:t,tabIndex:0,onBlur:e=>function(e){event.relatedTarget||document.activeElement,t.current.contains(e.relatedTarget)||c({isOpen:!1})}(e)},function(){const t=u();return t instanceof Array&&t.map((e=>d(e))),void 0===e.options?o("div",{className:"mapp-select-input"},o("div",{className:"mapp-select-tokens"}),o("span",{className:"dashicons dashicons-arrow-down-alt2"})):o("div",{className:"mapp-select-input",onClick:()=>c({isOpen:!n.isOpen})},o("div",{className:"mapp-select-tokens"},t.map((e=>o("span",{className:"mapp-select-token",key:e,onClick:t=>{t.stopPropagation(),g(e,!1)}},d(e))))),o("span",{className:"dashicons "+(n.isOpen?"dashicons-arrow-up-alt2":"dashicons-arrow-down-alt2")}))}(),h()))}},577:(e,t,a)=>{"use strict";a.r(t),a.d(t,{Control:()=>f,Help:()=>v,Checkbox:()=>b,Checkboxes:()=>y,Datalist:()=>w,Input:()=>k,Radios:()=>x,Select:()=>S,Textarea:()=>N,Section:()=>L,Option:()=>O,MappCrudList:()=>M,MappExpand:()=>E,MappGrid:()=>P,MappTabs:()=>I});var o=a(641);a(939);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useCallback:r,useRef:p,useState:c}=wp.element,{useSelect:m}=wp.data,{Button:d,Dashicon:u,Modal:g,TabPanel:h}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function f(e){let{className:t,help:a,type:o,...l}=e;const s=Array.isArray(l.children)?i:"label";let r="mapp-control";return o&&(r+=" mapp-control-"+o),t&&(r+=" "+t),n("div",{className:r},l.labelTop&&n("div",{className:"mapp-label-top"},l.labelTop),n(s,null,l.labelLeft&&n("span",null,l.labelLeft),l.children,(l.label||l.labelRight)&&n("span",null,l.label||l.labelRight)),a&&n(v,a))}function v(e){let t="mapp-help-text";e.type&&(t+=" mapp-help-"+e.type);let a=null;return e.href&&(a="#"==e.href.substr(0,1)?"https://mappresspro.com/mappress-documentation/"+e.href:e.href),n(i,null,a&&n("a",{className:"mapp-help-link",href:a,target:"_blank"},n(u,{icon:"editor-help"})),e.text&&n("div",{className:t},e.text))}function b(e){let{checked:t,className:a,disabled:o,onChange:i,value:l,...s}=e;return n(f,{type:"checkbox",...s},n("input",{checked:void 0!==t&&t,className:a,disabled:o,onChange:e=>i(e.target.checked),type:"checkbox",value:l}))}function y(e){let{label:t,onChange:a,options:o,values:i,...l}=e;return n(f,{type:"checkboxes",...l},_.map(o,((e,t)=>{let o=i?i.indexOf(e.value):-1;return n(b,{key:t,label:e.label,value:e.value,checked:o>=0,disabled:e.disabled,onChange:t=>{let n=[...i];t&&-1==o&&a(n.concat(e.value)),!t&&o>=0&&(n.splice(o,1),a(n))}})})))}function w(e){let{className:t,list:a,onChange:o,options:i,value:l,...s}=e;return n(f,{type:"select",...s},n("span",{className:t},n("input",{list:a,value:null!=l?l:"",onChange:e=>o(e.target.value)}),n("datalist",{id:a},_.map(i,((e,t)=>n("option",{key:t,value:e.value,disabled:e.disabled},e.label))))))}function k(e){let{autoFocus:t,disabled:a,max:o,min:i,name:l,onChange:s,placeholder:r,size:p,trim:c,type:m,value:d,...u}=e;return n(f,{type:"input",...u},n("input",{autoFocus:t,disabled:a,max:o,min:i,name:l,onChange:e=>{if(s){const t=c?e.target.value.trim():e.target.value;s(t)}},placeholder:r,size:p,type:m||"text",value:null!==d?d:""}))}const C=function(e){let{checked:t,className:a,disabled:o,onChange:i,value:l,...s}=e;return n(f,{type:"radio",...s},n("input",{checked:t,className:a,disabled:o,onChange:e=>i(e.target.value),type:"radio",value:l}))};function x(e){let{checked:t,label:a,onChange:o,options:i,...l}=e;return n(f,{type:"radios",...l},_.map(i,((e,a)=>{if(!e.hide)return n(C,{key:a,value:e.value,checked:t==e.value||null==t&&""==e.value,onChange:e=>o(e),disabled:e.disabled,label:e.label})})))}function S(e){let{className:t,onChange:a,options:o,placeholder:i,value:l,...s}=e,r=[...o];return void 0!==i&&r.unshift({value:"",label:i}),n(f,{type:"select",...s},n("select",{className:t,value:null!=l?l:"",onChange:e=>a(e.target.value)},_.map(r,((e,t)=>n("option",{key:t,value:e.value,disabled:e.disabled},e.label)))))}function N(e){let{className:t,onChange:a,placeholder:o,value:i,...l}=e;return n(f,{type:"textarea",...l},n("textarea",{className:t,onChange:e=>a(e.target.value),value:null!=i?i:""}))}function L(e){let t=e.className?" "+e.className:"";return n("div",{className:"mapp-option-section"+t},n("h2",null,e.title),e.children)}function O(e){const t=e.className?"mapp-option "+e.className:"mapp-option";return n("div",{className:t},n("div",{className:"mapp-option-title"},e.title),n("div",{className:"mapp-option-value"},e.children))}function M(e){let{data:t,isDraggable:a,onAdd:o,onChangeData:i,onRender:s,...r}=e;const[p,m]=c({dragging:null,dragover:null,isDraggable:!1});function u(e){m((t=>({...t,...e})))}function g(e,a,n){let l=Array.isArray(t)?[...t]:[];switch(e){case"add":const e=o?o():{};l.push(e),i(l);break;case"change":l[n]={...t[n],...a},i(l);break;case"delete":confirm(mappl10n.delete_prompt)&&(l.splice(a,1),i(l));break;case"sort":let s=p.dragging,r=s<a?a-1:a;l.splice(r,0,l.splice(s,1)[0]),i(l),u({dragover:null})}}return l((()=>{}),[]),n("div",{className:"mapp-crud-list"},_.map(t,((e,t)=>n("div",{className:"mapp-crud-row"+(p.dragover==t?" mapp-dragover":""),draggable:a,key:t,onDragOver:e=>e.preventDefault(),onDragStart:e=>u({dragging:t}),onDragEnter:e=>u({dragover:t}),onDragEnd:e=>u({dragging:null,dragover:null}),onDrop:e=>g("sort",t)},s({row:e,rowId:t,onChange:e=>g("change",e,t),onDelete:()=>g("delete",t)})))),n("div",{className:"mapp-crud-toolbar"},n(d,{isSecondary:!0,onClick:()=>g("add")},__("Add"))))}function E(e){let{actions:t,initialOpen:a,showToggle:o,subTitle:i,title:l,...s}=e;const[r,p]=c({isOpen:!o||a});function m(e,t){if("toggle"===e)o&&(a={isOpen:!r.isOpen},p((e=>({...e,...a}))));var a}let d="mapp-expand";return d+=r.isOpen?"":" mapp-expand-closed",d+=s.className?" "+s.className:"",n("div",{className:d},n("div",{className:"mapp-expand-header",onClick:()=>m("toggle")},n("div",null,l,i),o&&n("div",null,n(u,{icon:r.isOpen?"arrow-up":"arrow-down"}))),n("div",{className:"mapp-expand-body"},s.children),t&&n("div",{className:"mapp-expand-footer"},t))}function P(e){const[t,a]=c({dragging:null,dragover:null});function i(e){a((t=>({...t,...e})))}function l(a,o){let n=[...e.data];switch(a){case"add":let a={};_.map(e.cols,(e=>{a[e.id]=""})),n.push(a),e.onChange(n,e.selected);break;case"change":n[o.i][o.id]=o.value,e.onChange(n,e.selected);break;case"delete":let l;n.splice(o,1),l=o==e.selected?null:o<e.selected?e.selected-1:e.selected,e.onChange(n,l);break;case"select":i({selected:o}),e.onChange(n,o);break;case"sort":let s=t.dragging,r=s<o?o-1:o;n.splice(r,0,n.splice(s,1)[0]),e.onChange(n,r),i({dragover:null})}}return n("div",{className:e.className?"mapp-grid "+e.className:"mapp-grid"},e.data&&!!e.data.length&&n("div",{className:"mapp-grid-table"},function(){const t=e.selectionColumn?n("div",{className:"mapp-grid-cell",key:"select"},__("Default")):null,a=n("div",{className:"mapp-grid-cell",key:"actions"},"");return n("div",{className:"mapp-grid-header"},n("div",{className:"mapp-grid-row"},t,_.map(e.cols,(e=>n("div",{className:"mapp-grid-cell",key:e.id},e.label))),a))}(),n("div",{className:"mapp-grid-body"},_.map(e.data,((a,s)=>function(a,s){return n("div",{className:"mapp-grid-row"+(t.dragover==s?" mapp-dragover":""),draggable:!0,key:s,onDragOver:e=>e.preventDefault(),onDragStart:e=>i({dragging:s}),onDragEnter:e=>i({dragover:s}),onDragEnd:e=>i({dragging:null,dragover:null}),onDrop:e=>l("sort",s)},function(t,a){if(!e.selectionColumn)return null;let o,i;return"rowid"==e.selectionColumn?o=a:t[e.selectionColumn]?o=t[e.selectionColumn]:i=!0,"checkbox"===e.selectionType?n("div",{className:"mapp-grid-cell"},n(b,{value:o,checked:e.selected==o,disabled:i,onChange:e=>{l("select",e?o:null)}})):n("div",{className:"mapp-grid-cell"},n(C,{checked:e.selected==o,onChange:()=>l("select",o)}))}(a,s),_.map(e.cols,((t,a)=>n("div",{className:"mapp-grid-cell mapp-grid-cell-"+t.id,key:s+"-"+a},function(t,a){if(a.onRender)return a.onRender({id:a.id,value:e.data[t][a.id],onChange:e=>l("change",{i:t,id:a.id,value:e})});switch(a.type){case"combobox":return n(w,{list:a.id+"_"+t,options:a.options,value:e.data[t][a.id],onChange:e=>l("change",{i:t,id:a.id,value:e})});case"icon":return n(o.MappIconPicker,{iconid:e.data[t][a.id],onChange:e=>l("change",{i:t,id:a.id,value:e})});default:return n(k,{size:e.data[t][a.size],value:e.data[t][a.id],onChange:e=>l("change",{i:t,id:a.id,value:e})});case"select":return n(S,{value:e.data[t][a.id],options:a.options,onChange:e=>l("change",{i:t,id:a.id,value:e}),placeholder:""})}}(s,t)))),function(e){return n("div",{className:"mapp-grid-cell",key:"delete"},n(d,{icon:"trash",onClick:()=>l("delete",e)}))}(s))}(a,s))))),n("div",{className:"mapp-grid-toolbar"},n(d,{isSecondary:!0,onClick:()=>l("add")},__("Add"))))}function I(e){e={className:null,onRender:null,onSelect:null,initialTab:null,tabs:[],...e};const[t,a]=c({tab:e.initialTab?e.initialTab:e.tabs[0].name});function o(t){var o;o={tab:t},a((e=>({...e,...o}))),e.onSelect&&e.onSelect(t)}const{className:i="",style:l={}}=e;return n("div",{className:"mapp-tabs "+i,style:l},n("div",{className:"mapp-tabs-nav"},_.map(e.tabs,(e=>n("div",{className:e.name==t.tab?"mapp-tab mapp-active":"mapp-tab",key:e.name,onClick:()=>o(e.name)},e.label)))),n("div",{className:"mapp-tab-content"},e.onRender(t.tab)))}},315:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappOptionsMeta:()=>f});var o=a(577),n=a(939);const i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useCallback:p,useRef:c,useState:m}=wp.element,{Button:d,Dashicon:u,FormTokenField:g,Modal:h}=wp.components,{sprintf}=wp.i18n,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function f(e){e={errors:null,postEdit:null,userEdit:null,...e};const[t,a]=m({errors:e.errors?e.errors:[],isBusy:!1,isDone:!1,logs:[],otype:null,start:null});c(null);function r(e){a((t=>({...t,...e})))}function p(t){if(t)return i("div",{className:"mapp-option-geocode-log"},_.map(t,(t=>{let a="";return a="user"==t.otype?e.userEdit+"?user_id="+t.oid:e.postEdit+"?post="+t.oid+"&action=edit",i("div",{className:"mapp-option-geocode-log-row",key:t.oid},i("div",null,t.otype),i("div",null,t.oid),i("div",null,i("a",{href:a,target:"_blank"},t.title)),i("div",null,t.msg))})))}s((()=>{t.isDone&&r({isBusy:!1})}),[t.start,t.isDone]),s((()=>{null===t.start||t.isDone||n.mappLib.ajax({method:"POST",data:{action:"mapp_geocode",batch_size:5,nonce:mappl10n.options.nonce,otype:t.otype,start:t.start},callback:e=>{if(e&&"OK"==e.status){const a=e.data.logs.length<5;r({errors:e.data.errors,isBusy:!a,isDone:a,logs:t.logs.concat(e.data.logs),start:a?t.start:t.start+5})}}})}),[t.start,t.isDone]);const u=t.logs.length?t.logs.length:1;let g="";return t.isBusy?g=__("Geocoding... "+u):t.isDone&&(g=__("Done")),i(l,null,i(o.Option,{title:__("Geocoding")},i(d,{className:"mapp-option-geocode",disabled:t.isBusy,isBusy:t.isBusy,isSecondary:!0,onClick:()=>{t.isBusy||r({isDone:!1,isBusy:!0,errors:[],logs:[],otype:"post",start:0})}},__("Geocode posts")),g,i("div",{style:{fontStyle:"italic"}},__("For bulk geocoding (>100 items) online geocoding services are faster and less expensive.")),p(t.logs)),function(){const e=t.errors.length>0?p(t.errors):__("No errors");return i(o.Option,{title:__("Geocoding errors")},i("div",{className:"mapp-option-geocode-errors"},e))}())}},146:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>x});var o=a(577),n=a(107),i=a(641),l=a(939),s=a(346),r=a(315),p=a(614),c=a(697);const m=wp.element.createElement,{Fragment:d,useEffect:u,useLayoutEffect:g,useCallback:h,useRef:f,useState:v}=wp.element,{useSelect:b}=wp.data,{Button:y,Dashicon:w,FormTokenField:k,Modal:C}=wp.components,{sprintf}=wp.i18n,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function x(e){const[t,a]=v({...e,isCheckingLicense:!1,isSaving:!1});f(null);function g(e){a((t=>({...t,...e})))}function h(e){return _.map(e,((e,t)=>({value:t,label:e})))}function C(e,t){return e&&Array.isArray(e)&&e.length?(_.map(e,(e=>{for(let t in e)"string"==typeof e[t]&&(e[t]=e[t].trim())})),t?e.filter((e=>{for(let t in e)if(!e[t]||0==e[t].length)return!1;return!0})):e.filter((e=>!(!e.hasOwnProperty("key")||!e.key)))):[]}function x(e,a){switch(e){case"license-check":g({isCheckingLicense:!0}),l.mappLib.ajax({method:"POST",data:{action:"mapp_license_check",nonce:mappl10n.options.nonce,license:t.license},callback:e=>{if(g({isCheckingLicense:!1}),e&&"OK"==e.status){let a={...t.helpers};a.license_status=e.data,g({helpers:a})}}});break;case"reset":g({isSaving:!0}),l.mappLib.ajax({method:"POST",data:{action:"mapp_options_reset",nonce:mappl10n.options.nonce},callback:e=>{g({isSaving:!1}),e&&"OK"==e.status&&window.location.reload()}});break;case"save":let e={...t};delete e.helpers,e.filters.post=C(e.filters.post,!1),e.filters.user=C(e.filters.user,!1),e.metaKeys.post=C(e.metaKeys.post,!0),e.metaKeys.user=C(e.metaKeys.user,!0),e.sizes=C(e.sizes,!0),e.autoicons&&e.autoicons.values&&(e.autoicons.values=C(e.autoicons.values,!0)),g({isSaving:!0}),l.mappLib.ajax({method:"POST",data:{action:"mapp_options_save",nonce:mappl10n.options.nonce,settings:e},callback:e=>{g({isSaving:!1}),e&&"OK"==e.status&&window.location.reload()}})}}return u((()=>{mappl10n.options.engine!=t.engine&&x("save")}),[t.engine]),m("div",{className:"mapp-options"},m("form",{onSubmit:e=>{e.preventDefault(),x("save")}},m(o.Section,{title:__("Sample Map"),className:"mapp-demo-section"},m("div",{className:"mapp-options-demo"},m(s.MappMap,{alignment:"default",height:300,pois:[{address:"San Francisco, CA",id:1,title:"MapPress",body:__("Maps for WordPress"),point:{lat:37.774095,lng:-122.418731}}],width:"100%",zoom:8}))),mappl10n.options.pro&&(!t.helpers.is_multisite||t.helpers.is_super_admin||t.helpers.is_main_site)&&m(o.Section,{title:__("License")},m(o.Option,{title:__("MapPress license key"),className:"mapp-option-license"},m(o.Input,{value:t.license,name:"license",onChange:e=>{let a={...t.helpers};a.license_status="",g({license:e,helpers:a})},size:37,placeholder:__("Enter license to enable automatic updates")}),function(){const e=t.helpers.license_status,a=m(y,{isSecondary:!0,href:"https://mappresspro.com/mappress"},__("Get license")),o=m(y,{isBusy:t.isCheckingLicense,isSecondary:!0,onClick:()=>x("license-check")},__("Check now")),n=m(y,{isLink:!0,target:"_blank",href:"https://mappresspro.com/account"},__("Your account"));return t.license?"active"==e?m("span",{className:"mapp-license-status"},o,m(w,{icon:"yes"}),__("Active")):m(d,null,o,n,e&&!t.isCheckingLicense&&m("div",null,m(w,{icon:"no"}),"inactive"==e?__("License is invalid or expired"):e)):a}()),m(o.Option,{title:__("Beta versions")},m(o.Checkbox,{checked:t.betas,label:__("Enable updates for beta versions"),onChange:e=>g({betas:e})}))),m(o.Section,{title:__("Basic Settings")},m(o.Option,{title:__("Mapping API")},m(o.Radios,{options:[{label:"Leaflet",value:"leaflet"},{label:"Google",value:"google"}],onChange:e=>{g({engine:e,geocoder:"google"==e?"google":""})},checked:t.engine,help:{href:"#toc-picking-a-mapping-api",text:__("Leaflet is free and requires no API key. Google requires an API key and has usage limits.")}})),"leaflet"==t.engine&&function(){const e=[{value:"nominatim",label:"Nominatim",disabled:t.mapbox},{value:"mapbox",label:"MapBox",disabled:!t.mapbox},{value:"google",label:"Google",disabled:!t.apiKey}];let a={};return"nominatim"==t.geocoder&&(a={text:__("Nominatim is free but inaccurate. Consider using Mapbox or Google instead."),type:"warning"}),a.href="#toc-picking-a-geocoder",m(o.Option,{title:__("Geocoder")},m(o.Radios,{options:e,checked:t.geocoder,onChange:e=>g({geocoder:e}),help:a}))}(),"leaflet"==t.engine&&function(){const e=m(y,{isSecondary:!0,href:"https://account.mapbox.com/access-tokens/",target:"_blank"},__("Get an Access Token"));return m(o.Option,{title:__("Mapbox access token")},m("div",{className:"mapp-option-mapbox"},m(o.Input,{name:"mapbox",value:t.mapbox,onChange:e=>{g({mapbox:e}),g({geocoder:e?"mapbox":"nominatim"})},placeholder:__("Enter token to use Mapbox"),size:50}),e),m("div",{className:"mapp-help-text"},__("Mapbox makes Leaflet maps look great and provides an excellent geocoder.")))}(),function(){const e=m(y,{isSecondary:!0,href:"https://mappresspro.com/how-to-get-a-google-maps-api-key",target:"_blank"},__("Get an API Key"));return m(o.Option,{title:__("Google API key"),className:"mapp-option-apikey"},m(o.Input,{name:"apiKey",value:t.apiKey,onChange:e=>{g({apiKey:e})},placeholder:"google"==t.engine?__("Enter API key to use Google maps"):__("Enter API key to use Google geocoder"),size:50}),e)}()),m(o.Section,{title:__("Compatibility")},function(){let e={text:__("Prevents conflicts with other plugins, but maps may load slower.")};return t.helpers.iframes_required&&(e={text:sprintf(__("Required because %s is active"),t.helpers.iframes_required)}),m(o.Option,{title:__("Compatibility mode")},m("div",{className:t.helpers.iframes_required?"mapp-option-iframes-required":""},m(o.Checkbox,{checked:t.iframes||t.helpers.iframes_required,label:__("Enable iframe compatibility mode"),onChange:e=>g({iframes:e}),help:e})))}()),m(o.Section,{title:__("GDPR Compliance")},function(){const e=sprintf(__("MapPress is compatible with the free %s plugin for GDPR compliance with Google Maps."),'<a href="https://wordpress.org/plugins/complianz-gdpr/">Complianz</a>');return t.helpers.complianz?m(o.Option,{title:__("GDPR plugin")},m(w,{icon:"yes"}),__("Complianz is active. No setup is necessary in Complianz.")):m(o.Option,{title:__("GDPR plugin")},m("div",{className:"mapp-help-text"},m("div",{dangerouslySetInnerHTML:{__html:e}})))}()),m(o.Section,{title:__("Map Settings")},m(o.Option,{title:__("Automatic display")},m(o.Radios,{options:[{value:"",label:__("None")},{value:"top",label:__("Top of post")},{value:"bottom",label:__("Bottom of post")}],checked:t.autodisplay,onChange:e=>g({autodisplay:e})})),m(o.Option,{title:__("Map alignment")},m(o.Radios,{options:[{value:"",label:__("Default")},{value:"center",label:__("Center")},{value:"left",label:__("Left")},{value:"right",label:__("Right")}],checked:t.alignment,onChange:e=>g({alignment:e})})),m(o.Option,{title:__("Directions")},m(o.Radios,{checked:t.directions,options:[{value:"google",label:"Google"},{value:"inline",label:__("Inline")}],onChange:e=>g({directions:e})})),m(o.Option,{title:__("Mini width")},m(o.Input,{value:t.mini,onChange:e=>g({mini:e}),size:3,label:__("Width (px) to use map/list toggle buttons")})),m(o.Option,{title:__("Scroll wheel zoom")},m(o.Checkbox,{checked:t.scrollWheel,label:__("Enable map zoom with mouse scroll wheel"),onChange:e=>g({scrollWheel:e})}))),m(o.Section,{title:__("POIs")},m(o.Option,{title:__("Initial zoom")},m(o.Select,{label:__("Used for geolocation and centering maps with a single POI"),help:mappl10n.options.pro?{text:__("For searches, use the Search Radius setting instead.")}:null,value:t.poiZoom,options:_.map([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],(e=>({value:e,label:e}))),onChange:e=>g({poiZoom:e})})),m(o.Option,{title:__("Hover")},m(o.Checkbox,{checked:t.tooltips,label:__("Open POIs on hover"),onChange:e=>g({tooltips:e})})),m(o.Option,{title:__("Open first POI")},m(o.Checkbox,{checked:t.initialOpenInfo,onChange:e=>g({initialOpenInfo:e}),label:__("Open first POI when a map is displayed")})),m(o.Option,{title:__("Travel lines")},m(o.Checkbox,{label:__("Connect POIs with lines"),checked:t.lines,onChange:e=>g({lines:e})})),function(){const e=e=>g({lineOpts:{...t.lineOpts,...e}}),a=t.lineOpts,i=m(o.Select,{label:__("Icon"),onChange:t=>{e(t?{icons:[{icon:{path:t}}]}:{icons:null})},options:[{value:0,label:__("Circle")},{value:1,label:__("Arrow")},{value:2,label:__("Open arrow")}],placeholder:__("None"),value:a.icons?a.icons[0].icon.path:null}),l=m(o.Checkbox,{label:__("Geodesic (curved) lines"),checked:!!a.geodesic,onChange:t=>e({geodesic:t})}),s=m(o.Checkbox,{label:__("Animate icon"),checked:!!a.animate,onChange:t=>e({animate:t})});return m(o.Option,{title:__("Travel line options"),className:"mapp-option-line-options"},m(o.Control,{labelRight:__("Color")},m(n.MappColorPicker,{color:a.color,weight:a.weight,opacity:a.opacity,isExtended:!0,onChange:t=>e(t)})),"google"==t.engine&&l,"google"==t.engine&&i,"google"==t.engine&&s)}()),m(o.Section,{title:__("POI List")},m(o.Option,{title:__("Display")},m(o.Checkbox,{checked:t.poiList,label:__("Show a list of POIs with each map"),onChange:e=>g({poiList:e})})),m(o.Option,{title:__("Position")},m("div",{className:"mapp-option-poilist-radios"},m(o.Radios,{checked:t.layout,options:[{value:"left",label:__("Left of map")},{value:"inline",label:__("Below map")}],onChange:e=>g({layout:e})}))),"left"==t.layout&&m(o.Option,{title:__("Initial open")},m("div",{className:"mapp-option-poilist-open"},m(o.Checkbox,{checked:t.poiListOpen,label:__("Open list when map is displayed"),onChange:e=>g({poiListOpen:e})}))),m(o.Option,{title:__("Paging")},m("div",{className:"mapp-option-poilist-page-size"},m(o.Input,{labelRight:__("POIs per page"),max:999,min:1,onChange:e=>g({poiListPageSize:e}),size:3,type:"number",value:t.poiListPageSize}))),m(o.Option,{title:__("Sort")},m(o.Checkbox,{checked:t.sort,label:__("Sort POI list by title"),onChange:e=>g({sort:e})}))),m(o.Section,{title:__("Styled Maps")},m(o.Option,{title:__("Default style")},m("div",{className:"mapp-option-style"},m(p.m,{selected:t.style,onChange:e=>{g({style:e}),mappl10n.options.style=e}}),m("div",null,__('Replace the default "roadmap" or "streets" style'))))),mappl10n.options.pro&&m(o.Section,{title:__("Icons")},m(o.Option,{title:__("Default icon")},m(i.MappIconPicker,{iconid:t.defaultIcon,onChange:e=>{mappl10n.options.defaultIcon=e,g({defaultIcon:e})}})),m(o.Option,{title:__("Icon directory")},m("code",null,t.helpers.icon_directory)),m(o.Option,{title:__("Highlight selected POI")},m(o.Radios,{checked:t.highlight,options:[{value:"",label:__("None")},{value:"circle",label:__("Circle")},{value:"scale",label:__("Scale")},{value:"icon",label:__("Icon")}],onChange:e=>g({highlight:e})}),"icon"==t.highlight&&m(i.MappIconPicker,{defaultIcon:t.defaultIcon,iconid:t.highlightIcon,onChange:e=>g({highlightIcon:e})})),function(){let e=t.iconScale&&Array.isArray(t.iconScale)?[...t.iconScale]:[0,0];return m(o.Option,{title:__("Icon size")},m(o.Input,{min:0,max:64,onChange:t=>{t<=64&&(e[0]=t>0?t:"",g({iconScale:e}))},size:3,type:"number",value:e[0]?e[0]:""}),m("span",null," X "),m(o.Input,{min:0,max:64,onChange:t=>{t<=64&&(e[1]=t>0?t:"",g({iconScale:e}))},size:3,type:"number",value:e[1]?e[1]:""}),m("span",null," (px) "))}(),function(){let e=h(t.helpers.taxonomies);e.unshift({value:"post_type",label:__("Post type")});const a=b((e=>{if("post_type"==t.autoicons.key)return h(t.helpers.post_types);const a=wp.data.select("core").getEntityRecords("taxonomy",t.autoicons.key,{per_page:-1,_fields:"id,name,slug"});return a?a.map((e=>({value:e.slug,label:e.name}))):[]}),[t.autoicons.key]);return m(o.Option,{title:__("Automatic icons")},m(o.Select,{label:__('Be sure to set "Show in REST API" for custom taxonomies'),value:t.autoicons?t.autoicons.key:null,options:e,onChange:e=>{let a=t.autoicons?{...t.autoicons}:[];a.key=e,a.values=[],g({autoicons:a})},placeholder:""}),m(o.MappGrid,{cols:[{id:"key",label:__("Key"),type:"select",options:a},{id:"value",label:__("Icon"),type:"icon"}],data:t.autoicons.values,onChange:e=>{let a=t.autoicons?{...t.autoicons}:[];a.values=e,g({autoicons:a})}}))}()),m(o.Section,{title:__("Clustering")},m(o.Option,{title:__("Clustering")},m(o.Checkbox,{checked:t.clustering,label:__("Enable marker clustering"),onChange:e=>g({clustering:e})})),function(){let e=t.clusteringOptions?t.clusteringOptions:{};const a=(t,a)=>{e[t]=a,g({clusteringOptions:e})};if("google"==t.engine){const t="https://github.com/googlemaps/v3-utility-library/blob/3fca406/packages/markerclustererplus/src/markerclusterer.ts",n=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];return m("div",{className:"mapp-option-clustering-options"},m(o.Option,{title:__("Max zoom")},m(o.Select,{help:{href:t},label:m(d,null,__("Disable clustering at zoom"),m("code",null,"maxZoom")),onChange:e=>a("maxZoom",e),options:_.map(n,(e=>({value:e,label:e}))),placeholder:__("None"),value:e.maxZoom})))}{const t="https://github.com/Leaflet/Leaflet.markercluster#all-options",n=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];return m("div",{className:"mapp-option-clustering-options"},m(o.Option,{title:__("Max zoom")},m(o.Select,{help:{href:t},label:m(d,null,__("Disable clustering at zoom"),m("code",null,"disableClusteringAtZoom")),onChange:e=>a("disableClusteringAtZoom",e),options:_.map(n,(e=>({value:e,label:e}))),placeholder:__("Auto"),value:e.disableClusteringAtZoom})),m(o.Option,{title:__("Spiderfy")},m(o.Checkbox,{checked:e.spiderfyOnMaxZoom,help:{href:t},label:m(d,null,__("Spiderfy"),m("code",null,"spiderfyOnMaxZoom")),onChange:e=>a("spiderfyOnMaxZoom",e)})),m(o.Option,{title:__("Coverage")},m(o.Checkbox,{checked:void 0===e.showCoverageOnHover||e.showCoverageOnHover,help:{href:t},label:m(d,null,__("Show cluster bounds on hover"),m("code",null,"showCoverageOnHover")),onChange:e=>a("showCoverageOnHover",e)})))}}()),mappl10n.options.pro&&m(o.Section,{title:__("Mashups")},function(){const e=[{value:"poi",label:__("Open popup")},{value:"post",label:__("Open post")},{value:"postnew",label:__("Post in new tab")},{value:"postmodal",label:__("Post in modal")}];return m(o.Option,{title:__("Marker click")},m(o.Radios,{checked:t.mashupClick,options:e,onChange:e=>g({mashupClick:e})}))}(),m(o.Option,{title:__("Popup content")},m(o.Radios,{checked:t.mashupBody,options:[{value:"poi",label:__("POI title + body")},{value:"post",label:__("Post title + excerpt")}],onChange:e=>g({mashupBody:e})})),m(o.Option,{title:__("Thumbnails")},m(o.Radios,{checked:t.mashupThumbs,options:[{value:"post",label:__("Post featured image")},{value:"poi",label:__("POI images")}],onChange:e=>g({mashupThumbs:e})})),m(o.Option,{title:__("KMLs")},m(o.Checkbox,{checked:t.mashupKml,label:__("Include KML POIs in mashups"),onChange:e=>g({mashupKml:e})}))),mappl10n.options.pro&&m(o.Section,{title:__("Search")},m(o.Option,{title:__("Search")},m(o.Checkbox,{checked:t.search,label:__("Enable search for mashups"),onChange:e=>g({search:e})})),m(o.Option,{title:__("Search radius")},m(o.Select,{help:{href:"https://mappresspro.com/mappress-documentation/#toc-mashup-search"},label:__("Minimum search radius (km)"),value:t.radius,options:_.map([1,5,10,15,25,50,75,100,200,300],(e=>({value:e,label:e}))),onChange:e=>g({radius:e})})),m(o.Option,{title:__("Search country")},m(o.Select,{label:__("Country code for searches"),value:t.country,options:_.map(["","AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","VG","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CK","CR","HR","CU","CW","CY","CZ","CD","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","CI","JM","JP","JE","JO","KZ","KE","KI","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","KP","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","CG","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","KR","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","VI","UG","UA","AE","GB","US","UM","UY","UZ","VU","VA","VE","VN","WF","EH","YE","ZM","ZW"],(e=>({value:e,label:e}))),onChange:e=>g({country:e}),help:{href:"https://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements"}})),function(){const e=!mappl10n.options.ssl;return m(o.Option,{title:__("Geolocate")},m(o.Checkbox,{checked:t.geolocate,label:__("Center on user location when map is displayed"),onChange:e=>g({geolocate:e}),help:e?{text:__("Only available for sites using https")}:null}))}(),function(){const e=!mappl10n.options.ssl;return m(o.Option,{title:__("User location")},m(o.Checkbox,{checked:t.userLocation,label:__("Show user location as a blue circle on the map"),onChange:e=>g({userLocation:e}),help:e?{text:__("Only available for sites using https")}:null}))}(),function(){if("google"!=t.engine)return m(o.Option,{title:__("Bounding box")},m(o.Input,{onChange:e=>g({searchBox:e}),help:{text:__("Restrict searches to a bounding box (optional)"),href:"https://mappresspro.com/mappress-documentation/#toc-mashup-search"},placeholder:"SW lon, SW lat, NE lng, NE lat",size:45,value:t.searchBox}))}()),mappl10n.options.pro&&m(o.Section,{title:__("Mashup filters")},m(o.Option,{title:__("Filters position")},m(o.Radios,{options:[{value:"top",label:__("Top")},{value:"list",label:__("POI list")}],checked:t.filtersPos,onChange:e=>g({filtersPos:e})})),function(){const e=[{name:"post",label:__("Posts")},{name:"user",label:__("Users")}];return m(o.Option,{className:"mapp-option-filters",title:__("Filters")},m(o.MappTabs,{tabs:e,onRender:e=>m(o.MappCrudList,{data:t.filters&&t.filters[e]?t.filters[e]:[],isDraggable:!0,onChangeData:a=>{let o={...t.filters};o[e]=a,g({filters:o})},onRender:a=>function(e){let a,{otype:n,row:i,rowId:l,onChange:s,onDelete:r,...p}=e,c=h(t.helpers.taxonomies);a="user"==n?[{label:__("Role"),value:"role"}]:[{label:__("Post type"),value:"post"},{label:__("Text search"),value:"text"},{label:"──────────",value:"",disabled:!0},...c];const d=function(e){const t=_.findWhere(a,{value:e.key});return t?t.label:__("New filter")},u="text"==i.key?[{value:"input",label:__("Input")}]:[{value:"checkbox",label:__("Checkboxes")},{value:"radio",label:__("Radio buttons")},{value:"select",label:__("Select")}];return m(o.MappExpand,{actions:m("div",null,m(y,{icon:"trash",onClick:()=>r(),title:__("Delete")})),className:"mapp-option-filter",initialOpen:!i.key,showToggle:!0,title:d(i)},m("div",{className:"mapp-option-filter-row"},m(o.Select,{labelTop:__("Filter type"),options:a,onChange:e=>s({key:e,format:"text"==e?"input":"checkbox"}),placeholder:"",value:i.key?i.key:""}),m(o.Select,{onChange:e=>s({format:e}),labelTop:__("Format"),options:u,placeholder:"",value:i.format?i.format:""}),m(o.Input,{labelTop:__("Label"),placeholder:d(i),value:i.label,onChange:e=>s({label:e})}),"post"!=i.key&&"meta"!=i.key&&"text"!=i.key&&m(o.Select,{labelTop:__("Sort"),value:i.sort,options:[{value:"name",label:__("Name")},{value:"slug",label:__("Slug")}],onChange:e=>s({sort:e})})),i.key&&"meta"!=i.key&&"text"!=i.key&&m("div",{className:"mapp-option-filter-row mapp-option-filter-tokens"},m(k,{label:__("Include term slugs"),value:i.include,onChange:e=>s({include:e}),__experimentalShowHowTo:!0}),m(k,{label:__("Exclude term slugs"),value:i.exclude,onChange:e=>s({exclude:e})})))}({otype:e,...a})})}))}()),mappl10n.options.pro&&m(o.Section,{title:__("Templates")},m(o.Option,{title:__("Custom templates")},m(c.MappTemplateEditor)),m(o.Option,{title:__("Directions link")},m(o.Checkbox,{checked:t.directionsPopup,label:__("Show in popup"),onChange:e=>g({directionsPopup:e})}),m(o.Checkbox,{checked:t.directionsList,label:__("Show in list"),onChange:e=>g({directionsList:e})})),m(o.Option,{title:__("Thumbnails")},m(o.Select,{label:__("Popups"),onChange:e=>g({thumbsPopup:e}),options:[{value:"",label:__("None")},{value:"top",label:__("Top")},{value:"left",label:__("Left")},{value:"right",label:__("Right")}],value:t.thumbsPopup}),m(o.Select,{label:__("POI lists"),onChange:e=>g({thumbsList:e}),options:[{value:"",label:__("None")},{value:"top",label:__("Top")},{value:"left",label:__("Left")},{value:"right",label:__("Right")}],value:t.thumbsList})),m(o.Option,{title:__("Popup thumbnail size")},m(o.Select,{onChange:e=>g({thumbSize:e}),options:h(t.helpers.thumbnail_sizes),value:t.thumbSize}),m("span",null," "+__("or")+" "),m(o.Input,{value:t.thumbWidth,onChange:e=>g({thumbWidth:e}),type:"number",min:0,max:9999}),m("span",null," X "),m(o.Input,{value:t.thumbHeight,onChange:e=>g({thumbHeight:e}),type:"number",min:0,max:9999}),m("span",null," (px) "))),m(o.Section,{title:__("Localization")},function(){const e="leaflet"==t.engine?"https://en.wikipedia.org/wiki/ISO_639-1":"http://code.google.com/apis/maps/faq.html#languagesupport";return m(o.Option,{title:__("Language")},m(o.Select,{value:t.language,options:h(t.helpers.languages),onChange:e=>g({language:e}),help:{href:e,text:__("Language for searches and Google map controls")}}))}(),m(o.Option,{title:__("Directions server")},m(o.Input,{value:t.directionsServer,onChange:e=>g({directionsServer:e}),size:25}))),mappl10n.options.pro&&m(o.Section,{title:__("Generate Maps from Custom Fields")},function(){const e=[{name:"post",label:__("Posts")},{name:"user",label:__("Users")}];return m(o.Option,{className:"mapp-option-metakeys",title:__("Field mapping")},m(o.MappTabs,{tabs:e,onRender:e=>m(o.MappGrid,{cols:[{id:"key",label:__("Map field"),type:"select",options:h(t.helpers.meta_fields)},{id:"value",label:__("post"==e?"Post custom field":"User custom field"),type:"combobox",options:h("post"==e?t.helpers.meta_keys:t.helpers.meta_keys_user)}],data:t.metaKeys[e],onChange:a=>{let o={...t.metakeys};o[e]=a,g({metaKeys:o})}})}))}(),m(o.Option,{title:__("Post types")},m(o.Checkboxes,{values:t.postTypes,options:h(t.helpers.post_types),onChange:e=>g({postTypes:e})})),m(o.Option,{title:__("Overwrite")},m(o.Checkbox,{label:__("Overwrite maps on publish/save"),checked:t.metaSyncSave,onChange:e=>{g({metaSyncSave:e})}})),"google"==t.engine&&m(o.Option,{title:__("Google Server API key")},m(o.Input,{name:"apiKeyServer",value:t.apiKeyServer,onChange:e=>g({apiKeyServer:e}),size:50,help:{text:__("Server API key for geocoding. Only required if client key is restricted by referrer."),href:"https://mappresspro.com/mappress-documentation/#toc-google-api-keys"}})),m(r.MappOptionsMeta,{errors:t.helpers.geocoding_errors,postEdit:t.helpers.post_edit,userEdit:t.helpers.user_edit})),mappl10n.options.pro&&mappl10n.options.acfActive&&m(o.Section,{title:__("Frontend Forms")},m(o.Option,{title:__("Advanced Custom Fields")},m(o.Input,{className:"mapp-option-acf",name:"acf",value:t.acf,onChange:e=>{g({acf:e})},size:20}),__("ACF map field to include on MapPress mashups"),m(o.Help,{text:__("To generate MapPress maps from ACF fields, leave this blank and use the Geocoding section"),href:"https://mappresspro.com/mappress-documentation/#toc-frontend-forms"}))),m(o.Section,{title:__("Miscellaneous")},m(o.Option,{title:__("Map sizes")},m(o.MappGrid,{cols:[{id:"width",label:__("Width")+" (px, %, vw)",size:4},{id:"height",label:__("Height")+" (px, %, vh)"}],data:t.sizes,onChange:(e,t)=>g({sizes:e,size:t}),selectionColumn:"rowid",selected:t.size})),t.iframes||t.helpers.iframes_required?null:m(o.Option,{title:__("Scripts")},m(o.Checkbox,{checked:t.footer,label:__("Output scripts in footer"),onChange:e=>g({footer:e}),help:{text:__("Disable footer scripts if maps are output using AJAX")}})),m(o.Option,{title:"WPML"},m(o.Checkbox,{checked:t.wpml,label:__("Copy maps when overwriting a translation"),onChange:e=>g({wpml:e}),help:{href:"https://mappresspro.com/mappress-documentation#wpml"}}))),m("div",{className:"mapp-options-toolbar"},m(y,{isBusy:t.isSaving,className:"mapp-options-save",type:"submit",isPrimary:!0},__("Save")),m(y,{isBusy:t.isSaving,isSecondary:!0,onClick:()=>x("reset")},__("Reset Defaults")))))}window.addEventListener("DOMContentLoaded",(e=>{document.getElementById("mapp-options-settings")&&wp.element.render(m(x,mappress_options_state),document.getElementById("mapp-options-settings"))}))},185:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappPicker:()=>T});var o=a(286),n=a(68),i=a(326),l=(a(939),a(27),a(78));window.mapp=window.mapp||{};const s=wp.element.createElement,{apiFetch:r}=wp,{dispatch:p,select:c,useSelect:m}=wp.data,{Fragment:d,useCallback:u,useEffect:g,useLayoutEffect:h,useMemo:f,useRef:v,useState:b}=wp.element,{BaseControl:y,Button:w,ButtonGroup:k,Dashicon:C,Dropdown:x,DropdownMenu:S,Icon:N,MenuGroup:L,MenuItem:O,Modal:M,PanelBody:E,Popover:P,TextControl:I}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function T(e){e={context:null,mapid:null,mode:null,onClose:null,onInsert:null,onTrash:null,...e};const[t,a]=b({filter:e.filter?e.filter:"all",mode:e.mode?e.mode:"list",mapid:e.mapid?e.mapid:null,page:1,requery:!1,scrollContainer:null,scrollElement:null,search:"",searchValue:"",sortBy:"mapid",sortAsc:!1});function r(e){a((t=>({...t,...e})))}const u=v(null),h=v(null),f=v(null),y=v(null);(0,i.useIntersectionObserver)({container:"library"==e.context?document:f.current,element:y.current,options:{threshold:1},callback:()=>{D&&!E&&r({page:t.page+1})}});const{addSnackbar:k,renderSnackbar:C}=(0,l.D)();g((()=>{t.requery&&r({requery:!1}),p("mappStore").invalidateResolutionForStoreSelector("getMaps"),1==t.page&&(u.current.scrollTop=0)}),[t.filter,t.page,t.requery,t.search,t.sortBy,t.sortAsc]),g((()=>{"list"==e.mode&&u.current&&u.current.focus()}),[]);const{counts:x,isResolving:E,mapids:P,maps:T,more:D}=m((e=>{const a={filter:t.filter,otype:mappl10n.options.otype,oid:mappl10n.options.oid,page:t.page,page_size:20,search:t.search,sort_by:t.sortBy,sort_asc:t.sortAsc};return{counts:e("mappStore").getCounts(),maps:e("mappStore").getMaps(a),mapids:e("mappStore").getMapids(),more:e("mappStore").getMore(),isResolving:!e("mappStore").hasFinishedResolution("getMaps",[a])}}),[t.filter,t.page,t.search,t.sortBy,t.sortAsc]);function z(e){const t=P.filter((t=>t!=e));p("mappStore").setMapids(t),0==t.length&&D?r({page:1,requery:!0}):u.current&&u.current.focus()}function B(e,t,a){if(E)return;const o={otype:mappl10n.options.otype,oid:t,otitle:a};p("mappStore").mutateMap(e,o),t==mappl10n.options.oid&&p("mappStore").setCounts({object:x.object+1}),k(sprintf(__("Map %d attached to post"),e))}function R(){e.onClose()}function A(e){"trashed"!=t.filter&&r({mode:"edit",mapid:e})}const F=(0,i.useDebounce)((e=>{r({search:e})}),500);function j(){return P.length||E?s("div",{className:"mapp-pick-items"},P.map((a=>function(a){const n=T[a];return s("div",{className:"mapp-pick-item"+(a==t.mapid?" mapp-selected":""),key:a},s("div",{className:"mapp-pick-col-title",onClick:()=>A(n.mapid)},s("div",{className:"mapp-title"},n.title?n.title:__("Untitled")),s("div",{className:"mapp-mapid"},__("Map ID")+" "+n.mapid),s("div",{className:"mapp-postlink"},function(t){const a=T[t];let o;o="map"==e.context||"mashup"==e.context&&"post"==a.otype&&a.oid==mappl10n.options.oid?c("core/editor").getEditedPostAttribute("title"):a.otitle;o=o||__("Untitled"),"post"==a.otype&&a.oid>0&&a.oid==mappl10n.options.oid&&(o=__("Current post"));return"post"==a.otype&&a.oid>0?a.oid==mappl10n.options.oid?o:s(d,null,s("a",{href:mappl10n.options.editurl+"?post="+a.oid+"&action=edit",target:"_blank",title:__("Edit post")},o)):__("Unattached")}(a))),s("div",{className:"mapp-pick-col-actions"},function(a){const n=s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},s("path",{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"})),i=T[a];let l;"trashed"==t.filter?l=[{title:__("Restore"),onClick:()=>function(e){E||(p("mappStore").mutateMap(e,{status:""}),z(e),p("mappStore").setCounts({all:x.all+1,object:"object"==t.filter?x.object+1:x.object,trashed:x.trashed-1}),k(sprintf(__("Map %d restored"),e)))}(i.mapid)},{title:__("Delete Permanently"),onClick:()=>function(a){E||(confirm(__("Permanently delete this map?"))&&(p("mappStore").deleteMap(a),z(a),p("mappStore").setCounts({...x,trashed:x.trashed-1}),k(sprintf(__("Map %d deleted"),a))),t.mapid&&a==t.mapid&&e.onTrash&&e.onTrash(),h.current&&h.current.focus())}(i.mapid)}]:(l=[{title:__("Edit"),onClick:()=>A(i.mapid)},{title:__("Copy"),onClick:()=>async function(e){const t=await p("mappStore").duplicateMap(e);p("mappStore").setCounts({all:x.all+1,object:t.oid&&t.oid==mappl10n.options.oid?x.object+1:x.object}),p("mappStore").setMapids([t.mapid].concat(P)),k(sprintf(__("Map %d copied"),t.mapid)),u.current&&(u.current.scrollTop=0),r({mapid:t.mapid})}(i.mapid)},{title:__("Trash"),onClick:()=>function(e){E||(p("mappStore").mutateMap(e,{status:"trashed"}),z(e),p("mappStore").setCounts({all:x.all-1,object:"object"==t.filter?x.object-1:x.object,trashed:x.trashed+1}),k(sprintf(__("Map %d moved to trash"),e)))}(i.mapid)}],"post"==i.otype&&i.oid>0?l.push({title:__("Detach"),onClick:()=>function(e,a){if(E)return;p("mappStore").mutateMap(e,{oid:0}),"object"==t.filter&&z(e),a&&a==mappl10n.options.oid&&p("mappStore").setCounts({object:x.object-1})}(i.mapid,i.oid)}):"library"!=e.context&&l.push({title:__("Attach to post"),onClick:()=>B(i.mapid,mappl10n.options.oid,null)}),"library"==e.context?l.splice(1,0,{title:__("Copy shortcode"),onClick:()=>function(e){const t=document.createElement("input");document.body.appendChild(t),t.value='[mappress mapid="'+e+'"]',t.select(),document.execCommand("copy"),t.remove(),k(__("Shortcode copied"))}(i.mapid)}):l.splice(1,0,{title:__("Insert into post"),onClick:()=>function(t){e.onInsert(t)}(i.mapid)}));return s(S,{className:"mapp-pick-actions",icon:n,popoverProps:{placement:"left-start"}},(a=>{let{onClose:n}=a;return s(L,null,l.map(((e,t)=>s(O,{key:t,onClick:()=>{n(),e.onClick()}},e.title))),"library"==e.context&&0==i.oid&&"trashed"!=t.filter&&s(O,{key:"attach"},s(o.MappAttachControl,{onChange:(e,t)=>{B(i.mapid,e,t),n()}})))}))}(a)))}(a))),E&&[...Array(3).keys()].map((e=>s("div",{className:"mapp-pick-item mapp-skeleton",key:e},s("div",{className:"mapp-pick-col-title"},s("div",{className:"mapp-title"}),s("div",{className:"mapp-mapid"}),s("div",{className:"mapp-postlink"})))))):s("div",{className:"mapp-pick-message"},__("No maps found"))}function G(){let a=[{label:__("All"),value:"all"},{label:__("Attached to post"),value:"object",hide:"library"==e.context},{label:__("Trash"),value:"trashed"}];return s("div",{className:"mapp-pick-header"},s("div",{className:"mapp-pick-filter-tabs"},_.map(a,((e,a)=>{const o="mapp-pick-filter-tab"+(t.filter==e.value?" mapp-active":""),n=x[e.value];if(!e.hide)return s("div",{className:o,href:"#",key:a,onClick:()=>(r({filter:e.value,page:1,search:"",searchValue:"",sortBy:"mapid",sortAsc:!1}),void u.current.focus())},e.label,null!=n&&s("span",{className:"mapp-pick-filter-count"},n))}))),s("div",{className:"mapp-pick-sort-search"},function(){let e=[{sortBy:"mapid",sortAsc:!0,shortLabel:__("Map ID"),label:__("Map ID (Up)")},{sortBy:"mapid",sortAsc:!1,shortLabel:__("Map ID"),label:__("Map ID (Down)")}];const a=t=>{r({page:1,sortBy:e[t].sortBy,sortAsc:e[t].sortAsc})},o=e.findIndex((e=>e.sortBy==t.sortBy&&e.sortAsc==t.sortAsc));return s("label",{className:"mapp-pick-sort"},s("span",{className:"mapp-pick-sort-label"},__("Sort")),s("select",{value:o,onChange:e=>a(e.target.value)},e.map(((e,t)=>s("option",{key:t,value:t},e.label)))))}(),s("label",{className:"mapp-pick-search"},s(N,{icon:"search"}),s(I,{autoComplete:"off",ref:h,className:"mapp-pick-search",placeholder:__("Map ID, post title, or map title..."),onChange:e=>function(e){r({page:1,searchValue:e}),F(e)}(e),size:50,spellCheck:"false",value:t.searchValue}))))}function U(){return s("div",{className:"mapp-gt-modal-header"},s("div",{className:"mapp-gt-modal-header-title"},s("h1",null,__("Maps")),s(w,{isPrimary:!0,onClick:()=>{r({mode:"edit",mapid:null})}},__("Add New"))),s(w,{onClick:()=>R(),icon:"no-alt"}))}return s(d,null,function(){const a="mapp-pick mapp-pick-"+(t.filter?t.filter:"all"),o=s("div",{className:a},s("div",{className:"mapp-pick-list",ref:f},U(),G(),s("div",{className:"mapp-pick-items-section",ref:u,tabIndex:1},j(),D&&s("div",{className:"mapp-pick-infinite",ref:y}))),C());return"library"==e.context?o:s(M,{className:"mapp-gt-modal mapp-pick-modal ",isDismissible:!0,onRequestClose:()=>R(),shouldCloseOnEsc:!0,shouldCloseOnClickOutside:"list"==t.mode},o)}(),function(){if("edit"==t.mode)return s(n.MappEdit,{context:e.context,mapid:t.mapid,onCancel:()=>{"edit"==e.mode?e.onClose():r({mode:"list"})},onSave:t=>function(t){if(!P.includes(t.mapid)){const e=[t.mapid].concat(P);p("mappStore").setMapids(e)}k(sprintf(__("Map %d saved"),t.mapid)),"edit"==e.mode?e.onClose():r({mode:"list",mapid:t.mapid}),"list"==e.mode&&u.current&&u.current.focus()}(t)})}())}window.addEventListener("DOMContentLoaded",(e=>{document.getElementById("mapp-library")&&(mappl10n.options.otype="post",mappl10n.options.oid=0,wp.element.render(s(T,{context:"library"}),document.getElementById("mapp-library")))}))},885:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappSettings:()=>b});var o=a(614),n=a(78),i=a(577);const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:m}=wp.element,{BaseControl:d,Button:u,ButtonGroup:g,Dashicon:h,Dropdown:_,Panel:f,PanelBody:v}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function b(e){e={center:null,context:null,height:null,mapid:null,mapTypeId:null,onChange:null,poiList:null,search:null,title:null,width:null,zoom:null,...e};const[t,a]=m({});const{addSnackbar:r,renderSnackbar:p}=(0,n.D)();function c(t,a){let o={};null!=a&&(o.height=a),null!=t&&(o.width=t),e.onChange(o)}const d="mce"!=e.context&&"library"!=e.context;return l("div",{className:"mapp-settings"},l(v,{title:__("Map settings"),initialOpen:d},"map"==e.context&&function(){const t=e.title?e.title:__("Untitled");return l("div",{className:"mapp-settings-row mapp-settings-title"},l(i.Control,{labelTop:__("Title")},t))}(),"map"==e.context&&l("div",{className:"mapp-settings-row"},l(i.Control,{labelTop:__("Map ID")},e.mapid)),function(){if("mashup"==e.context)return l("div",{className:"mapp-settings-row mapp-style-toggle"},l("div",null,__("Style")),l(o.m,{selected:e.mapTypeId,onChange:t=>function(t){e.onChange({mapTypeId:t})}(t)}))}(),function(){mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0];var t=mappl10n.options.sizes.map(((e,t)=>({label:e.width+" X "+e.height,height:e.height,width:e.width,value:t+1})));t.unshift({height:"",label:__("Default"),value:0,width:""}),t.push({label:__("Custom"),value:"custom",disabled:!0});for(var a="custom",o=0;o<t.length-1;o++)t[o].width==e.width&&t[o].height==e.height&&(a=o);return l(s,null,l("div",{className:"mapp-settings-row"},l(i.Select,{className:"mapp-settings-dims-select",help:"",labelTop:__("Size"),value:a,options:t,onChange:e=>c(t[e].width,t[e].height)})),l("div",{className:"mapp-settings-row"},l(i.Input,{className:"mapp-settings-dims-custom",help:{text:__("px, %, vw")},labelTop:__("Width"),onChange:e=>c(e,null),value:e.width?e.width:""}),l(i.Input,{className:"mapp-settings-dims-custom",help:{text:__("px, %, vh")},labelTop:__("Height"),onChange:e=>c(null,e),value:e.height?e.height:""})))}(),l("div",{className:"mapp-settings-row"},l(i.Control,{className:"mapp-settings-viewport",labelTop:__("Center/Zoom")},l(g,{label:__("Center/Zoom")},l(u,{onClick:()=>(r(__("Viewport automatic")),void e.onChange({center:null,zoom:null})),isPressed:!e.center,isSmall:!0},__("Automatic")),l(u,{onClick:()=>function(){r(__("Viewport set"));const t=e.viewport.center?e.viewport.center.lat+","+e.viewport.center.lng:null;e.onChange({center:t,zoom:e.viewport.zoom})}(),isPressed:e.center,isSmall:!0},__("Set"))))),void 0,p()))}},78:(e,t,a)=>{"use strict";a.d(t,{D:()=>s});const{useEffect:o,useState:n}=wp.element,{createContext:i}=React,l=wp.element.createElement,s=()=>{const[e,t]=n({snackbars:[]});function a(e){t((t=>({...t,...e})))}o((()=>{if(e.snackbars.length){const t=setTimeout((()=>{let t=[...e.snackbars];t.shift(),a({snackbars:t})}),5e3);return()=>clearTimeout(t)}}),[e.snackbars]);return{addSnackbar:t=>a({snackbars:[...e.snackbars,t]}),renderSnackbar:()=>l("div",{className:"mapp-snackbars"},e.snackbars.map(((e,t)=>l("div",{className:"mapp-snackbar mapp-snackbar-show",key:t},e))))}}},66:(e,t,a)=>{"use strict";a.r(t),a.d(t,{mappStore:()=>p});var o=a(939);const{createReduxStore:n,register:i}=wp.data,{apiFetch:l}=wp,s={counts:{all:null,trashed:null,object:null},isSaving:!1,mapids:[],maps:{},more:!1};async function r(e){let{method:t="GET",path:a,data:o}=e;return await l({method:t,path:a,data:o}).catch((e=>{alert(e.message)}))}const p=n("mappStore",{actions:{deleteMap:e=>async t=>{let{dispatch:a}=t;a({type:"REMOVE_MAP",payload:e});await r({path:"/mapp/v1/maps/"+e,method:"DELETE"})},duplicateMap:e=>async t=>{let{dispatch:a}=t;const o=mappl10n.options.oid?mappl10n.options.oid:null,n=await r({path:"/mapp/v1/maps/clone/"+e,method:"POST",data:{oid:o}});return a({type:"SET_MAP",payload:n}),n},mutateMap:(e,t)=>async a=>{let{dispatch:o}=a;o({type:"MUTATE_MAP",payload:{mapid:e,changes:t}});await r({path:"/mapp/v1/maps/"+e,method:"PATCH",data:{changes:t}})},saveMap:e=>async t=>{let{dispatch:a}=t;const o=e.mapid?"/mapp/v1/maps/"+e.mapid:"/mapp/v1/maps/";a({type:"IS_SAVING",payload:!0});const n=await r({path:o,method:"POST",data:e});return a({type:"IS_SAVING",payload:!1}),a({type:"SET_MAP",payload:{...e,mapid:n}}),{...e,mapid:n}},setCounts:e=>({type:"SET_COUNTS",payload:e}),setMapids:e=>({type:"SET_MAPIDS",payload:e})},selectors:{getCounts:(e,t,a)=>e.counts,getMap:(e,t)=>e.maps[t],getMapids:e=>e.mapids,getMaps:(e,t)=>e.maps,getMore:e=>e.more,isSaving:e=>e.isSaving},resolvers:{getCounts:(e,t)=>async a=>{let{dispatch:n}=a;const i=await r({path:"/mapp/v1/maps/counts?"+o.mappLib.jQueryParam({otype:e,oid:t})});i&&n({type:"SET_COUNTS",payload:i})},getMap:e=>async t=>{let{dispatch:a}=t;const o=await r({path:"/mapp/v1/maps/"+e});o&&a({type:"SET_MAP",payload:o})},getMaps:e=>async t=>{let{dispatch:a,select:n}=t;const i=e.page&&e.page>1;i||a({type:"SET_MAPIDS",payload:[]});const l=await r({path:"/mapp/v1/maps?"+o.mappLib.jQueryParam(e)});a({type:"SET_MAPS",payload:l.maps}),a({type:"SET_MORE",payload:l.more}),a({type:"SET_COUNTS",payload:l.counts});n.getMapids();const s=l.maps.map((e=>e.mapid));a({type:"SET_MAPIDS",payload:i?[...new Set([...n.getMapids(),...s])]:s})}},reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"DELETE_MAP":{let a={...e.maps};delete a[t.payload];const o=e.mapids.filter((e=>e!=t.payload));return{...e,maps:a,mapids:o}}case"IS_SAVING":return{...e,isSaving:t.payload};case"MUTATE_MAP":{const{mapid:a,changes:o}=t.payload,n={...e.maps};return n[a]={...n[a],...o},{...e,maps:n}}case"SET_COUNTS":const a={...e.counts};for(let e in t.payload)a[e]=parseInt(t.payload[e]);return{...e,counts:a};case"SET_MAP":{const a={...e.maps},n={...t.payload};return n.pois.map((e=>e.id=e.id?e.id:o.mappLib.nanoid())),a[n.mapid]=n,{...e,maps:a}}case"SET_MAPIDS":return{...e,mapids:t.payload};case"SET_MAPS":{const a={...e.maps};return t.payload.map((e=>{a[e.mapid]&&!a[e.mapid].stub||(a[e.mapid]=e)})),{...e,maps:a}}case"SET_MORE":return{...e,more:t.payload};default:return e}}});i(p)},614:(e,t,a)=>{"use strict";a.d(t,{m:()=>k});var o=a(577),n=a(939),i=a(27);const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:m}=wp.element,{Button:d,Dashicon:u,ExternalLink:g,Icon:h,Modal:f,Panel:v,PanelBody:b,PanelRow:y,Spinner:w}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function k(e){const[t,a]=m({apiKey:"6a0cfe9e-3670-4598-a63e-f1627b5c9e56",isOpen:!1,isBusy:!1,isSearching:!1,mapboxError:"",mapboxId:"",mapboxName:"",mapboxUser:"",mapboxUrl:"",mapboxParsedUrl:"",mode:"pick",page:1,snazzyPagination:null,snazzySearch:"",snazzySelected:null,snazzyStyles:null,standardStyles:mappl10n.options.standardStyles,userStyles:mappl10n.options.userStyles});function r(e){a((t=>({...t,...e})))}function p(a){let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=_.findIndex(t.userStyles,{id:a.id});i>=0&&!o&&!confirm(__("Style already exists, overwrite?"))||(r({isBusy:!0}),n.mappLib.ajax({method:"POST",data:{action:"mapp_style_save",style:a,nonce:mappl10n.options.nonce},callback:t=>{r({isBusy:!1}),t&&"OK"==t.status&&(mappl10n.options.userStyles=t.data,r({mode:"pick",userStyles:t.data}),e.onChange(a.id))}}))}function c(e){r({isSearching:!0,snazzyStyles:null}),n.mappLib.ajax({method:"GET",data:{sort:"popular",page:e,pageSize:50,text:t.snazzySearch,key:t.apiKey},url:"https://snazzymaps.com/explore.json",callback:function(e){if(r({isSearching:!1,snazzyPagination:e&&e.pagination?e.pagination:null}),e&&e.styles){r({snazzyStyles:_.map(e.styles,((e,t)=>(e.id=e.id+"",e)))})}else alert("Error: unable to fetch styles")}})}function u(e,t){t="large"==t||"small"==t?t:"small",t=800;let a=mappl10n.options.baseurl+"/images/json_style.png";if("leaflet"==mappl10n.options.engine?mappl10n.options.mapbox?e.user&&e.mapboxid&&(a="https://api.mapbox.com/styles/v1/"+e.user+"/"+e.mapboxid+"/static/-122.4194,37.7749,10,0/800x800?access_token="+mappl10n.options.mapbox):a=mappl10n.options.baseurl+"/images/osm.png":e.imageUrl&&(a=e.imageUrl),a)return l("img",{src:a,title:e.name})}function v(a,o){switch(a){case"close":case"pick-cancel":r({isOpen:!1});break;case"json-add":r({mode:"json-add"});break;case"json-cancel":case"mapbox-cancel":case"snazzy-cancel":r({mode:"pick"});break;case"json-edit":e.onChange(o.id),r({mode:"json-edit"});break;case"json-save":p(o,!0);break;case"mapbox-add":case"snazzy-add":alert(__("Please upgrade to MapPress Pro to use custom styles"));break;case"mapbox-change-url":{let e,t,a;e=o.trim().toLowerCase(),e=e.replace(".html","").replace("https://api.mapbox.com/styles/v1/","").replace("mapbox://styles/",""),e=e.split("?")[0];let n=e.split("/");2==n.length&&(t=n[0],a=n[1]),r({mapboxUrl:o,mapboxUser:t,mapboxId:a});break}case"mapbox-edit":e.onChange(o.id),r({mode:"mapbox",mapboxId:o.mapboxid,mapboxName:o.name,mapboxUrl:o.url,mapboxUser:o.user});break;case"mapbox-save":t.mapboxName&&t.mapboxUser&&p({id:t.mapboxId,name:t.mapboxName,mapboxid:t.mapboxId,provider:"mapbox",url:t.mapboxUrl,user:t.mapboxUser});break;case"mode":r({mode:o});break;case"open":"leaflet"!=mappl10n.options.engine||mappl10n.options.mapbox?r({isOpen:!0}):alert(__("Please enter a Mapbox access token in the MapPress settings screen to use styled maps."));break;case"pick-delete":confirm(mappl10n.delete_prompt)&&(i=o,_.findIndex(t.userStyles,{id:i})<0?n.mappLib.alert("Invalid delete"):(r({isBusy:!0}),n.mappLib.ajax({method:"POST",data:{action:"mapp_style_delete",id:i,nonce:mappl10n.options.nonce},callback:t=>{r({isBusy:!1}),t&&"OK"==t.status&&(mappl10n.options.userStyles=t.data,r({userStyles:t.data}),e.selected==i&&e.onChange(null))}})));break;case"pick-select":e.onChange(o),r({isOpen:!1});break;case"snazzy-save":{let e=_.findWhere(t.snazzyStyles,{id:o});e&&p({id:o,imageUrl:e.imageUrl,json:e.json,name:e.name});break}case"snazzy-search":c()}var i}function b(){let a;return"json-add"==t.mode?a={id:null,name:"",json:""}:"json-edit"==t.mode&&(a=e.selected?_.findWhere(t.userStyles,{id:e.selected}):null),l(C,{style:a,onSave:e=>v("json-save",e),onCancel:()=>v("json-cancel")})}function y(e){let a;return a=e.styles&&e.styles.length?_.map(e.styles,((t,a)=>function(e,t){let a,o="mapp-style"+(t.selected==e.id?" mapp-selected":"");(t.onEdit||t.onDelete)&&(a=l("div",{className:"mapp-style-actions"},l("a",{onClick:()=>t.onEdit(e)},__("Edit")),l(h,{icon:"trash",onClick:()=>t.onDelete(e.id)})));return l("div",{className:o,key:e.id},l("div",{className:"mapp-style-image",onClick:()=>t.onSelect(e.id)},u(e)),l("div",{className:"mapp-style-details"},l("div",{className:"mapp-style-title"},e.name),a))}(t,e))):t.isSearching?"":l("div",{className:"mapp-style-list-msg"},__("No results")),l("div",{className:"mapp-style-list-wrapper"},l("div",{className:"mapp-style-list-header"},e.title),l("div",{className:"mapp-style-list"},a))}return l(s,null,function(){const a=t.standardStyles.concat(t.userStyles);let o=!mappl10n.options.style||"roadmap"!=e.selected&&"streets"!=e.selected&&e.selected?e.selected:mappl10n.options.style,n=_.findWhere(a,{id:o});return n=n||t.standardStyles[0],l(d,{className:"mapp-style-toggle",icon:u(n),iconSize:75,isSecondary:!0,onClick:()=>v("open",null),title:n.name})}(),"edit"==t.mode&&t.isOpen&&renderEdit(),"json-add"==t.mode&&t.isOpen&&b(),"json-edit"==t.mode&&t.isOpen&&b(),"mapbox"==t.mode&&t.isOpen&&function(){let e=t.mapboxUser&&t.mapboxId?u({user:t.mapboxUser,mapboxid:t.mapboxId,name:t.mapboxName},"large"):null;const a=!t.mapboxUser||!t.mapboxId||!t.mapboxName;return l(f,{title:__("Add style"),className:"mapp-style-modal",onRequestClose:()=>v("mapbox-cancel"),shouldCloseOnClickOutside:!0},l("div",{className:"mapp-style-mapbox-title"},__("Enter style from Mapbox Studio"),l(g,{href:"https://studio.mapbox.com"})),l("form",{className:"mapp-style-mapbox-form",onSubmit:e=>{e.stopPropagation(),e.preventDefault(),v("mapbox-save")}},l("label",null,l(o.Input,{autoFocus:!0,className:"mapp-style-mapbox-url",labelTop:l(s,null,__("MapBox Share URL"),l(o.Help,{href:"#toc-mapbox-studio-styles"})),onChange:e=>v("mapbox-change-url",e),value:t.mapboxUrl})),l("label",null,l("div",{className:"mapp-style-mapbox-label"},__("Style name")),l(o.Input,{className:"mapp-style-mapbox-name",value:t.mapboxName,onChange:e=>r({mapboxName:e})})),l("div",{className:"mapp-style-mapbox-preview"},e),l("div",{className:"mapp-style-toolbar"},l("div",null,l(d,{isBusy:t.isBusy,isPrimary:!0,disabled:a,type:"submit"},__("Save")),l(d,{isBusy:t.isBusy,onClick:()=>v("mapbox-cancel")},__("Cancel"))))))}(),"pick"==t.mode&&t.isOpen&&function(){let a="";return t.userStyles&&t.userStyles.length&&(a=y({selected:e.selected,onEdit:e=>"leaflet"==mappl10n.options.engine?v("mapbox-edit"):v("json-edit",e),onDelete:e=>v("pick-delete",e),onSelect:e=>v("pick-select",e),styles:t.userStyles,title:__("Custom styles")})),l(f,{title:l("div",{className:"mapp-style-header"},__("Select a style")),className:"mapp-style-modal",onRequestClose:()=>v("close")},l("div",{className:"mapp-style-list-wrapper"},y({onSelect:e=>v("pick-select",e),selected:e.selected,styles:t.standardStyles,title:__("Standard styles")}),a),l("div",{className:"mapp-style-toolbar"},l("div",null,l(d,{isBusy:t.isBusy,isPrimary:!0,onClick:()=>"leaflet"==mappl10n.options.engine?v("mapbox-add"):v("json-add")},__("New style")),"google"==mappl10n.options.engine&&l(d,{isBusy:t.isBusy,isSecondary:!0,onClick:()=>v("snazzy-add")},__("Download style")),l(d,{isBusy:t.isBusy,onClick:()=>v("pick-cancel")},__("Cancel")))))}(),"snazzy"==t.mode&&t.isOpen&&(t.snazzySelected,l(f,{title:__("Download style"),className:"mapp-style-modal mapp-style-modal-snazzy",onRequestClose:()=>v("snazzy-cancel"),shouldCloseOnClickOutside:!0},l("form",{className:"mapp-style-snazzy-search",onSubmit:e=>{v("snazzy-search"),e.stopPropagation(),e.preventDefault()}},l("input",{value:t.search,placeholder:__("Search"),onChange:e=>r({snazzySearch:e.target.value})}),l(d,{disabled:t.isSearching,isBusy:t.isSearching,isPrimary:!0,icon:"search",onClick:()=>v("snazzy-search")})),y({selected:t.snazzySelected,styles:t.snazzyStyles,onSelect:e=>r({snazzySelected:e})}),l("div",{className:"mapp-style-toolbar"},l("div",null,l(d,{isBusy:t.isBusy,isPrimary:!0,onClick:()=>v("snazzy-save",t.snazzySelected)},__("Download")),l(d,{isBusy:t.isBusy,onClick:()=>v("snazzy-cancel")},__("Cancel"))),function(){const e=t.snazzyPagination;return e&&t.snazzyStyles&&t.snazzyStyles.length?l(i.MappPaginate,{count:e.totalItems,onChange:e=>c(e),page:e.currentPage,pageSize:e.pageSize}):null}()))))}function C(e){const[t,a]=m((()=>{let t={...e.style},a="";try{a=JSON.stringify(JSON.parse(t.json),null,2)}catch(e){}return t.json=a,{style:t}}));function n(e){a((t=>({...t,...e})))}function i(a,o){let i={...t.style};switch(a){case"cancel":e.onCancel();break;case"change-json":i.json=o,n({style:i});break;case"change-name":i.name=o,n({style:i});break;case"save":i.json=i.json?JSON.stringify(JSON.parse(i.json)):"",e.onSave(i)}}let s;if(t.style.json)try{JSON.parse(t.style.json)}catch(e){s=e.toString()}let r=s?"mapp-json mapp-json-error":"mapp-json";return l(f,{title:l(o.Input,{value:t.style.name,onChange:e=>i("change-name",e),placeholder:__("Enter style name")}),className:"mapp-style-modal mapp-json-modal",onRequestClose:()=>i("cancel"),shouldCloseOnClickOutside:!0},l("div",null,__("JSON")),l("div",{className:r},l("textarea",{value:t.style.json,spellCheck:!1,onChange:e=>i("change-json",e.target.value)})),l("div",{className:"mapp-json-error"},s||""),l("div",{className:"mapp-json-toolbar"},l("div",null,l(d,{disabled:s,isBusy:t.isBusy,isPrimary:!0,onClick:()=>i("save")},__("Save")),l(d,{isBusy:t.isBusy,onClick:()=>i("cancel")},__("Cancel")))))}},573:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappCard:()=>f});var o=a(939);a(577);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useCallback:r,useRef:p,useState:c}=wp.element,{useSelect:m}=wp.data,{Button:d,Dashicon:u,ExternalLink:g,Guide:h,Modal:_}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function f(e){let{icon:t,title:a,...o}=e;return n("div",{className:"mapp-support-card"},a&&n("div",{className:"mapp-support-card-title"},n("h3",null,t&&n(u,{icon:t}),a)),n("div",{className:"mapp-support-card-content"},o.children))}document.getElementById("mapp-support-page")&&wp.element.render(n((function(e){const[t,a]=c({engine:e.engine?e.engine:"leaflet",isOpen:e.isOpen,apiKey:e.apiKey,mapbox:e.mapbox});function s(e){a((t=>({...t,...e})))}function r(e){return n("div",{className:"mapp-guide-engine"+(e.selected?" mapp-selected":""),onClick:()=>e.onClick()},n("div",{className:"mapp-guide-engine-title"},e.title),n("div",{className:"mapp-guide-engine-content"},e.content))}return p(null),l((()=>{}),[]),n("div",{className:"mapp-support"},n(i,null,n("div",{className:"mapp-support-section"},n("div",{className:"mapp-support-header"},n("img",{src:mappl10n.options.baseurl+"/images/icon-128x128.png"}),n("h1",null,__("MapPress Support")),n("i",null,__("Build amazing maps with the easiest and most powerful mapping plugin available")),n("div",null,n(d,{className:"mapp-support-guide-toggle",isPrimary:!0,onClick:()=>s({isOpen:!0})},__("Open Setup Wizard"))))),n("div",{className:"mapp-support-section"},n("div",{className:"mapp-support-cards"},n(f,{icon:"book",title:__("Documentation")},n("p",null,__("Detailed plugin documentation:")),n(g,{href:"https://mappresspro.com/mappress-documentation/"},__("Documentation")),n(g,{href:"https://mappresspro.com/whats-new/"},__("What's new")),n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-map-library-and-map-editors"},__("Creating your first map"))),n(f,{icon:"warning",title:__("Troubleshooting")},n("p",null,n("b",null,__("Check for a plugin or theme conflict:"))),n("ol",null,n("li",null,__("Deactivate ALL other plugins")),n("li",null,__("Switch to a standard WordPress theme")),n("li",null,__("If the maps are working, reactivate one by one to find the conflict."))),n("p",null,__("For more info:")),n(g,{href:"https://mappresspro.com/mappress-faq/"},__("MapPress FAQ"))),n(f,{icon:"megaphone",title:__("Support")},n("p",null,__("Need some help?")),n(g,{href:"https://mappresspro.com/forums/forum/mappress-support/"},__("Support forum")),n(g,{href:"https://mappresspro.com/chris-contact/"},__("Contact")))))),function(){if(t.isOpen)return n(h,{className:"mapp-guide",onFinish:()=>function(e,a){if("save"===e){let e;s({isOpen:!1}),e="google"==t.engine?"google":t.mapbox?"mapbox":"nominatim",o.mappLib.ajax({method:"POST",data:{action:"mapp_option_save",nonce:mappl10n.options.nonce,settings:{engine:t.engine,apiKey:t.apiKey,mapbox:t.mapbox,geocoder:e}},callback:e=>{"OK"!=e.status&&alert("Unable to save settings. Please check the support troubleshooting guide.")}})}}("save"),pages:[{content:n("div",{className:"mapp-guide-page mapp-guide-engines"},n("h1",null,__("Please Choose a Mapping API")),n("div",{className:"mapp-guide-body"},n("p",null,__("MapPress supports both Leaflet and Google mapping APIs."),n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-picking-a-mapping-api"},__("Learn more")))),n("div",{className:"mapp-guide-engines"},r({onClick:()=>s({engine:"leaflet"}),selected:"leaflet"==t.engine,title:"Leaflet",content:n("ul",null,n("li",null,__("No API key")),n("li",null,__("No credit card")),n("li",null,__("Unlimited free usage")),n("li",null,__("Good functionality")))}),r({onClick:()=>s({engine:"google"}),selected:"google"==t.engine,title:"Google",content:n("ul",null,n("li",null,__("API key required")),n("li",null,__("Credit card required")),n("li",null,__("Lots of free usage")),n("li",null,__("Excellent functionality")))}))),image:n("div",{className:"mapp-guide-header mapp-guide-image-small"},n("img",{src:mappl10n.options.baseurl+"/images/icon-128x128.png"}),n("h1",null,__("Welcome to MapPress!")))},{content:"google"==t.engine?n("div",{className:"mapp-guide-page mapp-guide-apikey"},n("h1",null,__("Google API Key")),n("h2",null,__("(credit card required)")),n("div",{className:"mapp-guide-body"},n("p",null,__("Google requires an API key to use Google Maps.")),n("p",null,__("A $200 monthly usage credit means it's free for most sites")),n(d,{isPrimary:!0,href:"https://mappresspro.com/how-to-get-a-google-maps-api-key/",target:"_blank"},__("Get an API Key")),n("input",{className:"mapp-guide-apikey",onChange:e=>s({apiKey:e.target.value}),placeholder:__("Enter your API key here"),value:t.apiKey}))):n("div",{className:"mapp-guide-page mapp-guide-apikey"},n("h1",null,__("Sign up with Mapbox")),n("h2",null,__("(optional - credit card required)")),n("div",{className:"mapp-guide-body"},n("p",null,__("Mapbox makes Leaflet better, with great-looking map tiles, styled maps, and a powerful geocoder.")),n("p",null,__("A generous monthly usage credit means it's free for most sites."),n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-using-mapbox-with-leaflet"},__("Learn more"))),n(d,{isPrimary:!0,href:"https://account.mapbox.com/auth/signup/",target:"_blank"},__("Get Mapbox Access Token")),n("input",{className:"mapp-guide-apikey",onChange:e=>s({mapbox:e.target.value}),placeholder:__("Enter your access token here"),value:t.mapbox}))),image:n("div",{className:"mapp-guide-header mapp-guide-image-small"},"google"==t.engine&&n("img",{src:mappl10n.options.baseurl+"/images/google_logo.png"}),"leaflet"==t.engine&&n("img",{src:mappl10n.options.baseurl+"/images/mapbox_logo_white.png"}))},{content:n("div",{className:"mapp-guide-page mapp-guide-gutenberg"},n("h1",null,__("Maps in the Block Editor")),n("div",{className:"mapp-guide-body"},n("p",null,__("MapPress provides custom block types for the Gutenberg editor.")),n("p",null,__("Just insert a MapPress Map block to get started."),n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-create-a-map-with-the-gutenberg-block-editor"},__("Learn more"))))),image:n("div",{className:"mapp-guide-header"},n("img",{src:mappl10n.options.baseurl+"/images/gutenberg_map_block.gif"}))},{content:n("div",{className:"mapp-guide-page mapp-guide-classic"},n("h1",null,__("Maps in the Classic Editor")),n("div",{className:"mapp-guide-body"},n("p",null,__('MapPress also supports the "classic" editor. Just click the MapPress button to open the map library.')),n("p",null,n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-create-a-map-with-the-classic-editor"},__("Learn more"))))),image:n("div",{className:"mapp-guide-header"},n("img",{src:mappl10n.options.baseurl+"/images/classic_map.gif"}))},{content:n("div",{className:"mapp-guide-page mapp-guide-library"},n("h1",null,__("Map Library")),n("div",{className:"mapp-guide-body"},n("p",null,__("The Map Library provides an easy way to see and edit all of your maps. The library can be opened in the post editor or from the MapPress menu.")),n("p",null,n(g,{href:"https://mappresspro.com/mappress-documentation/#toc-map-library-and-map-editors"},__("Learn more"))))),image:n("div",{className:"mapp-guide-header"},n("img",{src:mappl10n.options.baseurl+"/images/library_menu.gif"}))},{content:n("div",{className:"mapp-guide-page mapp-guide-end"},n("h1",null,__("Happy Mapping")),n("div",{className:"mapp-guide-body"},n("p",null,__("Enjoy the plugin! Replay this guide any time from the MapPress support menu.")))),image:n("div",{className:"mapp-guide-header"},n("img",{src:mappl10n.options.baseurl+"/images/icon-128x128"}))}]})}())}),mappress_support_state),document.getElementById("mapp-support-page"))},697:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MappTemplateEditor:()=>f});var o=a(577),n=a(939);const i=wp.element.createElement,{Fragment:l,useEffect:s,useLayoutEffect:r,useCallback:p,useRef:c,useState:m}=wp.element,{Button:d,Dashicon:u,Modal:g,TabPanel:h}=wp.components,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function f(e){const[t,a]=m({codeEditor:null,isOpen:!1,name:null,tab:"editor",template:null,tokens:null});function s(e){a((t=>({...t,...e})))}const r=p((e=>{if(null!=e){let a=wp.codeEditor.initialize(e);a.codemirror.setSize("auto","auto"),a.codemirror.setOption("readOnly","editor"!=t.tab),s({codeEditor:a})}}),[t.tab]);function c(){s({isOpen:!1})}function u(e){return"editor"==e?function(){const e=i("div",{className:"mapp-templates-tokens"},_.map(t.tokens,((e,a)=>i("code",{onClick:()=>function(e){let a=t.codeEditor.codemirror.getDoc(),o=a.getCursor();a.replaceRange("{{{poi."+e+"}}}",o)}(a),key:a,title:e},e))));return i(l,null,i("div",{className:"mapp-templates-path"},t.template.path),e,i("div",{className:"mapp-templates-editor"},i("textarea",{ref:r,defaultValue:t.template.content})))}():i(l,null,i("div",{className:"mapp-templates-standard"},i("textarea",{ref:r,defaultValue:t.template.standard})))}function h(){const e=t.template.name+" ("+(t.template.exists?__("Custom"):__("New"))+")";return i("div",{className:"mapp-templates-name"},e)}return i("div",{className:"mapp-templates"},function(){const e=[{name:"map-popup",label:__("Map popup")},{name:"map-item",label:__("Map list item")},{name:"mashup-popup",label:__("Mashup popup")},{name:"mashup-item",label:__("Mashup list item")},{name:"user-mashup-popup",label:__("User popup")},{name:"user-mashup-item",label:__("User list item")}];return i("div",{className:"mapp-templates-list"},_.map(e,((e,t)=>i("a",{href:"#",key:e.name,className:"mapp-templates-item",onClick:t=>{var a;t.preventDefault(),a=e.name,n.mappLib.ajax({method:"GET",data:{action:"mapp_tpl_get",name:a,nonce:mappl10n.options.nonce},callback:e=>{e&&"OK"==e.status&&s({isOpen:!0,name:a,tab:"editor",template:e.data.template,tokens:e.data.tokens})}})}},e.label))))}(),t.isOpen&&t.template?i(g,{title:h(),className:"mapp-templates-modal",onRequestClose:()=>c(),shouldCloseOnClickOutside:!1},i(o.MappTabs,{className:"mapp-templates-tabs",onRender:e=>u(e),onSelect:e=>function(e){if("editor"!=e){let e={...t.template};e.content=t.codeEditor.codemirror.getValue(),s({template:e})}s({tab:e})}(e),tabs:[{name:"editor",label:__("Editor")},{name:"standard",label:__("Default")}]}),t.error&&i("div",{className:"mapp-templates-error"},t.error),i("div",{className:"mapp-templates-toolbar"},i("div",null,i(d,{isPrimary:!0,onClick:()=>function(){let e="editor"==t.tab?t.codeEditor.codemirror.getValue():t.template.content;n.mappLib.ajax({method:"POST",data:{action:"mapp_tpl_save",content:e,name:t.template.name,nonce:mappl10n.options.nonce},callback:function(e){e&&"OK"==e.status&&s({isOpen:!1,template:null,tokens:null})}})}()},__("Save")),i(d,{isSecondary:!0,onClick:()=>c()},__("Cancel"))),i("div",null,t.template.exists&&i(d,{isDestructive:!0,title:__("Reset template to default"),onClick:e=>{e.preventDefault(),confirm(mappl10n.delete_prompt)&&(n.mappLib.ajax({method:"POST",data:{action:"mapp_tpl_delete",name:t.template.name,nonce:mappl10n.options.nonce}}),s({isOpen:!1}))}},__("Reset"))))):null)}},326:(e,t,a)=>{"use strict";a.d(t,{useClickOutside:()=>c,useDebounce:()=>m,useResizeObserver:()=>d,useIntersectionObserver:()=>u,useTimeout:()=>g});wp.element.createElement;const{Fragment:o,useCallback:n,useEffect:i,useLayoutEffect:l,useMemo:s,useRef:r,useState:p}=wp.element;function c(e,t){i((()=>{const a=a=>{e.current&&!e.current.contains(a.target)&&t()};return document.addEventListener("mousedown",a),document.addEventListener("touchstart",a),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("touchstart",a)}}))}function m(e,t,a){const o=r(!1);i((()=>(o.current=!0,()=>o.current=!1)),[]);const l=_.debounce((function(){o.current&&e(...arguments)}),t);return n(l,a=a||[])}function d(e,t){const a=r();a.current=t,i((()=>{if(!e)return;const t=new ResizeObserver(((e,t)=>{a.current()}));return t.observe(e),()=>{t.disconnect()}}),[e])}function u(e){let{container:t,element:a,options:o,callback:n}=e;const l=r(null),s=r(null);s.current=n,i((()=>(!l.current&&a&&t&&(l.current=new IntersectionObserver((e=>{e[0].isIntersecting&&s.current()}),{...o,root:t}),l.current.observe(a)),()=>{l.current&&(l.current.disconnect(),l.current=null)})),[t,a])}function g(e,t){const a=React.useRef(null),o=React.useRef(e);return i((()=>{o.current=e}),[e]),i((()=>(t>0&&(a.current=window.setTimeout((()=>o.current()),t)),()=>{a.current&&window.clearTimeout(a.current)})),[t]),a}},939:(e,t,a)=>{"use strict";a.d(t,{mappLib:()=>o,mappEvent:()=>n,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 a=void 0!==t.message?t.message:t.statusText;o.alert("AJAX error -- "+a)}))},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},getIcon:function(e){{const t=this.getIconUrl(e);return"leaflet"==mappl10n.options.engine?L.icon({iconUrl:t,iconAnchor:[16,32],iconSize:[32,32],popupAnchor:[0,-32]}):{url:t}}},getIconUrl:function(e){return"https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png"},jQueryParam:function(e){var t=[],a=function(e,a){a=null==(a="function"==typeof a?a():a)?"":a,t[t.length]=encodeURIComponent(e)+"="+encodeURIComponent(a)},o=function(e,n){var i,l,s;if(e)if(Array.isArray(n))for(i=0,l=n.length;i<l;i++)o(e+"["+("object"==typeof n[i]&&n[i]?i:"")+"]",n[i]);else if("[object Object]"===Object.prototype.toString.call(n))for(s in n)o(e+"["+s+"]",n[s]);else a(e,n);else if(Array.isArray(n))for(i=0,l=n.length;i<l;i++)a(n[i].name,n[i].value);else for(s in n)o(s,n[s]);return t};return o("",e).join("&")},nanoid:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21;const t="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let a="",o=e;for(;o--;)a+=t[64*Math.random()|0];return a},pointToLatLng:function(e){return e?"leaflet"==mappl10n.options.engine?L.latLng(e):new google.maps.LatLng(e.lat,e.lng):null},template:function(e,t){if(o.templates=o.templates?o.templates:{},!o.templates[e]){var a=document.getElementById("mapp-tmpl-"+e).innerHTML;if(!a)return"";o.templates[e]=_.template(a,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g})}return o.templates[e](t)},toJSON:e=>e.toJSON?e.toJSON():e&&e.hasOwnProperty("lat")&&e.hasOwnProperty("lng")?e:"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}},n={addListener:function(e,t,a){let o=[];t=t.split(" ");for(var n=0;n<t.length;n++)"leaflet"==mappl10n.options.engine?(e.on(t[n],a),o.push({target:e,event:t[n],callback:a})):o.push(google.maps.event.addListener(e,t[n],a));return o},addListenerOnce:function(e,t,a){t=t.split(" ");for(var o=0;o<t.length;o++)"leaflet"==mappl10n.options.engine?e.once(t[o],a):google.maps.event.addListenerOnce(e,t[o],a)},clearInstanceListeners:function(e){"leaflet"==mappl10n.options.engine?e.off():google.maps.event.clearInstanceListeners(e)},clearListeners:function(e,t){t=t.split(" ");for(var a=0;a<t.length;a++)"leaflet"==mappl10n.options.engine?e.off(t[a]):google.maps.event.clearListeners(e,t[a])},removeListener:function(e){for(let t=0;t<e.length;t++)"leaflet"==mappl10n.options.engine?e[t].target.off(e[t].event,e[t].callback):google.maps.event.removeListener(e[t])},trigger:function(e,t,a){"leaflet"==mappl10n.options.engine?e.fire(t,a):google.maps.event.trigger(e,t,a)}},i={parseOverlay:function(e,t){if("google"==mappl10n.options.engine){if("kml"==e){const e=t.getDefaultViewport();return{point:e?o.toJSON(e.getCenter()):null,viewport:e?o.boundsToViewport(e):null}}const a=t instanceof google.maps.Polyline?{strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,stokeWeight:t.strokeWeight}:{fillColor:t.fillColor,fillOpacity:t.fillOpacity,strokeColor:t.strokeColor,strokeOpacity:1,stokeWeight:t.strokeWeight};if("circle"==e)return{point:o.toJSON(t.getCenter()),poly:{radius:t.getRadius(),...a}};if("rectangle"==e)return{viewport:o.boundsToViewport(t.getBounds()),poly:{...a}};if("polyline"==e){const e=[];return t.getPath().forEach((function(t){e.push(o.toJSON(t))})),{poly:{path:e,...a}}}if("polygon"==e){const e={fillColor:t.fillColor,fillOpacity:t.fillOpacity,strokeColor:t.strokeColor,strokeOpacity:1,stokeWeight:t.strokeWeight},a=[];return t.getPaths().forEach((function(e){var t=[];e.forEach((function(e){t.push(o.toJSON(e))})),a.push(t)})),{poly:{paths:a,...e}}}if(!e)return{point:o.toJSON(t.getPosition())}}else{if("kml"==e){const e=t.getBounds();return{point:e&&e.isValid()?o.toJSON(e.getCenter()):null,viewport:e&&e.isValid()?o.boundsToViewport(e):null}}if(!e)return{point:"leaflet"==mappl10n.options.engine?o.toJSON(t.getLatLng()):o.toJSON(t.getPosition())}}}}},346:(t,a,o)=>{"use strict";o.d(a,{MappMap:()=>I});var n=o(939),i=o(715),l=(o(817),o(602)),s=o(818),r=o(81),p=o(50),c=o(615);const m=wp.element.createElement,{Fragment:d,useEffect:u,useLayoutEffect:g,useMemo:h,useRef:f,useState:v}=wp.element;function b(e){e={anchor:null,className:null,content:null,map:null,onMouseEnter:null,onMouseLeave:null,point:null,...e};const t=f(null),[a,o]=v({isLoaded:null,mapDiv:"leaflet"==mappl10n.options.engine?e.map.getContainer():e.map.getDiv(),overlayView:null});function i(e){o((t=>({...t,...e})))}function l(){const o=t.current;if(!o)return;if(document.fullscreenElement||e.map.isFullscreen)return;let i;const{width:l,height:s}=o.getBoundingClientRect(),r=n.mappLib.pointToLatLng(e.point);if("leaflet"==mappl10n.options.engine)i=e.map.latLngToContainerPoint(r);else{const e=a.overlayView.getProjection();if(!e)return;i=e.fromLatLngToContainerPixel(r)}o.style.bottom=a.mapDiv.clientHeight-i.y-e.anchor.y+"px",o.style.left=i.x-l/2+e.anchor.x+"px"}return g((()=>{"google"==mappl10n.options.engine?a.overlayView||(a.overlayView=new google.maps.OverlayView,a.overlayView.onAdd=function(){i({isLoaded:!0})},a.overlayView.setMap(e.map)):(e.map.stop(),i({isLoaded:!0}))}),[]),g((()=>{if(!a.isLoaded)return;let t;return"google"==mappl10n.options.engine?a.overlayView.draw=()=>l():t=n.mappEvent.addListener(e.map,"move",(e=>l())),()=>{"google"==mappl10n.options.engine?a.overlayView.draw=null:n.mappEvent.removeListener(t)}})),g((()=>{a.isLoaded&&(l(),function(){const o=t.current;if(!o)return;const i=30,l=o.offsetWidth,s=o.offsetHeight,r=a.mapDiv.clientWidth,p=a.mapDiv.clientHeight,c=n.mappLib.pointToLatLng(e.point);let m;if("leaflet"==mappl10n.options.engine)m=e.map.latLngToContainerPoint(c);else{const e=a.overlayView.getProjection();m=e?e.fromLatLngToContainerPixel(c):null}if(!m)return;var d={x:m.x,y:m.y};m.x+l/2+e.anchor.x>r-i?d.x=Math.max(r-l/2-e.anchor.x-i,r/2-e.anchor.x):m.x-l/2+e.anchor.x<i&&(d.x=Math.min(l/2+e.anchor.x+i,r/2-e.anchor.x));m.y+e.anchor.y-s<i&&(d.y=s-e.anchor.y+i);d.y>=p&&(d.y=p-i);const u={x:m.x-d.x,y:m.y-d.y};(u.x<=-1||u.x>=1||u.y<=-1||u.y>=1)&&("leaflet"==mappl10n.options.engine?e.map.panBy([u.x,u.y]):e.map.panBy(u.x,u.y))}())}),[a.isLoaded]),a.isLoaded?m("div",{className:"mapp-ib-wrapper",ref:t,onMouseEnter:()=>{e.onMouseEnter&&e.onMouseEnter()},onMouseLeave:()=>{e.onMouseLeave&&e.onMouseLeave()}},m("div",{className:"mapp-ib-content"},m("div",{className:"mapp-ib"},m("div",{className:"mapp-iw "+(e.className?e.className:"")},e.content)),m("div",{className:"mapp-ib-tip"}))):null}var y=o(892),w=o(10),k=o(326);const C=n.mappLib.toJSON,{Fragment:x,useCallback:S,useEffect:N,useLayoutEffect:O,useRef:M,useState:E}=wp.element,P=wp.element.createElement,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function I(t){t={alignment:null,center:null,centerPoi:null,classname:null,container:null,geolocate: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,query:null,search:null,width:null,zoom:null,...t};const[a,o]=E({clusterer:null,clustererDefaultRenderer:"undefined"!=typeof markerClusterer?new markerClusterer.DefaultRenderer:null,directionsTo:null,drawingManager:null,filters:null,hovered:null,hoveredDelay:null,hoveredPopup:null,init:null,isDirectionsOpen:null,isFetching:null,isGeolocating:null,isHidden:!1,isIframe:t.container&&t.container.classList.contains("mapp-content"),isLoaded:null,isMounted:null,isMini:null,isSidebarOpen:null!=t.poiListOpen?t.poiListOpen:mappl10n.options.poiListOpen,kmlEvent:null,layers:{},layout:t.layout?t.layout:mappl10n.options.layout,map:null,opened:null,oid:t.oid?t.oid:mappl10n.options.oid,otype:t.otype?t.otype:mappl10n.options.otype,overlays:[],page:1,pageCount:0,parsedCenter:null,poiList:void 0!==t.poiList&&null!=t.poiList?t.poiList:mappl10n.options.poiList,pois:[],polyline:null,templates:t.query?"user"==t.otype?{item:"user-mashup-item",popup:"user-mashup-popup"}:{item:"mashup-item",popup:"mashup-popup"}:{item:"map-item",popup:"map-popup"},userLocation:null}),m=M(t.container),d=M(null),u=M(null),{geocode:g,geolocate:h}=(M(),(0,w.useGeocoding)({withBusinesses:t.isEditable}));function f(e){o((t=>({...t,...e})))}(0,k.useResizeObserver)(d.current,q),(0,k.useResizeObserver)(m.current,(function(){if(a.poiList&&"inline"!=a.layout&&m.current){const e=m.current.clientWidth<mappl10n.options.mini;!a.isMini&&e&&f({isSidebarOpen:!1}),e!=a.isMini&&(f({isMini:e}),m.current&&m.current.classList.toggle("mapp-mini",e))}})),N((()=>{switch(a.init){case null:!function(){const e=[__("MapPress FAQ")+": http://mappresspro.com/mappress-faq",__("Support")+": http://mappresspro.com/chris-contact",__("Get an API Key")+": 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"),text:__("A theme or plugin is preventing the Leaflet library from loading.")},{condition:"google"==mappl10n.options.engine&&"undefined"==typeof google,title:__("Google Maps API not loaded"),text:__("A theme or plugin is preventing Google Maps from loading.")},{condition:"google"==mappl10n.options.engine&&!mappl10n.options.apikey,title:__("Google Maps API key required")},{condition:document.querySelectorAll('script[src*="https://maps.googleapis.com/maps/api/js?v="]').length>1,title:__("Google Maps API loaded multiple times"),text:__("A theme or plugin has loaded Google Maps twice")},{condition:"undefined"==typeof _,title:__("Underscore library not loaded"),text:__("A theme or plugin is preventing the underscore.js library from loading.")}];t=t.filter((e=>e.condition));let a=t.map((e=>e.title+" : "+e.text));a.length&&(console.log(__("Map Error")+"\n----------------\n"+a.join("\n")+"\n----------------\n"+e.join("\n")),mappl10n.options.admin&&alert(__("Map error: please see the developer console (F12 in most browsers) for details.")))}();let e,o={...t.mapOpts};if(o.minZoom=isNaN(parseInt(o.minZoom))?0:parseInt(o.minZoom),"leaflet"==mappl10n.options.engine?(e=new L.Map(d.current,{attribution:'Map data <a href="https://openstreetmap.org">OpenStreetMap</a>',minZoom:0,scrollWheelZoom:mappl10n.options.scrollWheel,worldCopyJump:!0,zoomControl:null,...o}),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(e)):e=new google.maps.Map(d.current,{backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,mapTypeControl:!1,minZoom:0,scaleControl:!0,scrollWheelZoom:mappl10n.options.scrollWheel,streetViewControl:!t.query,streetViewControlOptions:{position:google.maps.ControlPosition.LEFT_BOTTOM},...o}),f({map:e}),mappl10n.options.userLocation&&mappl10n.options.ssl&&h((e=>{e&&e.geometry&&e.geometry.location&&f({userLocation:e.geometry.location})}),!0),mappl10n.options.geolocate||t.geolocate||"user"==t.center)return void h((e=>{e&&e.geometry&&e.geometry.location&&f({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),f({init:1})}));g({value:t.center,callback:e=>{e&&e.geometry&&e.geometry.location&&f({parsedCenter:{lat:e.geometry.location.lat,lng:e.geometry.location.lng}}),f({init:1})}});break;case 1:ee(t.mapTypeId),function(){if(t.isEditable&&"google"==mappl10n.options.engine&&google.maps.drawing){const e={fillColor:"#0000FF",fillOpacity:.4,strokeColor:"#0000FF",strokeOpacity:1,strokeWeight:2};a.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}),a.drawingManager.setMap(a.map)}}(),function(){a.polyline&&("leaflet"==mappl10n.options.engine?a.polyline.remove():a.polyline.setMap(null),f({polyline:null}));if(t.isEditable||!t.lines&&!mappl10n.options.lines||a.pois.length<2)return;const e={...mappl10n.options.lineOpts},o=[];if(_.map(a.pois,(e=>{o.push(B(e))})),"leaflet"==mappl10n.options.engine)f({polyline:new L.Polyline(o,e).addTo(a.map)});else{const t={strokeColor:e.color,strokeWeight:e.weight,strokeOpacity:e.opacity};e.icons&&(_.map(e.icons,(e=>{e.icon.path=parseInt(e.icon.path)})),e.icons[0].repeat="50px"),f({polyline:new google.maps.Polyline({map:a.map,path:o,...e,...t})}),e.animate&&e.icons&&e.icons.length&&function(){let e=0;const t=a.polyline.get("icons");t[0].repeat.replace("%","").replace("px","");window.setInterval((()=>{e+=1;t[0].offset=e+(t[0].repeat.indexOf("%")>=0?"%":"px"),a.polyline.set("icons",t)}),20)}()}}(),t.query&&!a.isIframe?v((()=>f({init:2}))):(f({pois:t.pois?t.pois:[]}),f({init:2}));break;case 2:const i="leaflet"==mappl10n.options.engine?"load":"tilesloaded";n.mappEvent.addListenerOnce(a.map,i,(()=>{f({bounds:I()}),function(){if(mappl10n.options.clustering&&!t.isEditable){let e,t=mappl10n.options.clusteringOptions?mappl10n.options.clusteringOptions:{};if(void 0!==t.disableClusteringAtZoom&&""==t.disableClusteringAtZoom&&(t.disableClusteringAtZoom=null),"leaflet"==mappl10n.options.engine)e=L.markerClusterGroup(t),a.map.addLayer(e);else{t.maxZoom=void 0!==t.maxZoom&&t.maxZoom?parseInt(t.maxZoom):void 0;const o=new markerClusterer.SuperClusterAlgorithm(t);e=new markerClusterer.MarkerClusterer({map:a.map,markers:[],algorithm:o,renderer:{render:(e,t)=>{let{count:o,position:n}=e;const i=a.clustererDefaultRenderer.render({count:o,position:n},t);return i.title=null,i}}})}f({clusterer:e})}}(),(t.initialOpenInfo||mappl10n.options.initialOpenInfo)&&!t.isEditable&&a.pois&&a.pois.length&&V(a.pois[0]),f({isLoaded:!0})})),W()}}),[a.init]);(0,k.useTimeout)((()=>{f({hoveredDelay:0}),a.hoveredPopup||f({hovered:null})}),a.hoveredDelay);function v(e){}function S(e){return a.pois.find((t=>t.id==e))}function O(e){return a.map.fitBounds(e)}function I(){try{return a.map.getBounds()}catch(e){return null}}function T(){let e;try{e=a.map.getCenter()}catch(t){e=null}return e?C(e):null}function D(){if(t.embed)return{width:"100%",height:"100%"};const e=mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0],a=e=>"string"==typeof e&&(e.indexOf("px")>=0||e.indexOf("%")>=0||e.indexOf("vh")>=0||e.indexOf("vw")>=0)?e:e+"px";return{width:t.width?a(t.width):a(e.width),height:t.height?a(t.height):a(e.height)}}function z(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 a=new google.maps.Circle({center:e.point,radius:e.poly.radius});t=a.getBounds();break;default:t=n.mappLib.viewportToBounds(e.viewport)}return t}function B(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 a=z(e);return"leaflet"==mappl10n.options.engine?a&&a.isValid()?a.getCenter():new L.latLng(0,0):a?a.getCenter():new google.maps.LatLng(0,0)}function R(){let e;try{e=a.map.getZoom()}catch(t){e=null}return e?parseInt(e):null}function A(){return!!(t.isEditable||t.search||mappl10n.options.search&&t.query)}N((()=>{a.isLoaded&&!t.query&&f({pois:t.pois?t.pois:[]})}),[t.pois]),N((()=>{a.clusterer&&("leaflet"==mappl10n.options.engine?(a.clusterer.clearLayers(),a.clusterer.addLayers(a.overlays)):(a.clusterer.clearMarkers(),a.clusterer.addMarkers(a.overlays)))}),[a.clusterer,a.overlays]),N((()=>{a.isLoaded&&t.query&&v()}),[t.query,a.filters]),N((()=>{a.isLoaded&&null==t.center&&W(null)}),[t.center]),N((()=>{a.isLoaded&&ee(t.mapTypeId)}),[t.mapTypeId]),N((()=>{a.isLoaded&&function(e){let t=mappl10n.options.poiZoom;if(e.viewport){var a=e.viewport.ne.lng-e.viewport.sw.lng;a<0&&(a+=360),t=Math.floor(Math.log(360*d.current.clientWidth/a/256)/Math.LN2)}te(B(e),t)}(t.centerPoi)}),[t.centerPoi]),N((()=>{if(!a.isLoaded)return;let e,o,i;return e=n.mappEvent.addListener(a.map,"moveend idle",(e=>F())),o=n.mappEvent.addListener(a.map,"click dragstart zoom_changed zoomstart",(e=>{"leaflet"==mappl10n.options.engine&&"click"==e.type&&e.originalEvent&&!e.originalEvent.target.matches(".mapp-canvas")||G()})),a.drawingManager&&(i=n.mappEvent.addListener(a.drawingManager,"overlaycomplete",(e=>{a.drawingManager.setDrawingMode(null),U(null),t.onDrawingEvent&&t.onDrawingEvent(e)}))),t.name&&(window[t.name]={getPois:()=>a.pois,poiOpen:e=>f({opened:"string"==typeof e?e:e.id})}),()=>{n.mappEvent.removeListener(e),n.mappEvent.removeListener(o),i&&n.mappEvent.removeListener(i)}}));const F=(0,k.useDebounce)((()=>{f({bounds:I(),page:1}),t.onViewportChange&&t.onViewportChange({center:T(),zoom:R()})}),500,[t.onViewportChange,a.map]);function j(e,a){if("poi"!=mappl10n.options.mashupClick&&t.query&&"post"==e.otype&&e.oid&&e.url)switch(mappl10n.options.mashupClick){case"post":return void window.location.assign(e.url);case"postnew":return void window.open(e.url);case"postmodal":const t=document.createElement("div");return document.body.appendChild(t),ReactDOM.render(P(y.MappPopupModal,{onClose:()=>{wp.element.unmountComponentAtNode(t),t.remove()},poi:e}),t)}else V(e,a)}function G(){f({hovered:null,opened:null,isDirectionsOpen:!1})}function U(e,t){e&&e.id==a.opened||a.opened||f(e?{hovered:e.id,hoveredDelay:0}:t?{hoveredDelay:300}:{hovered:null,hoveredDelay:0})}function V(e,t){G(),a.isMini&&H(!1),f({kmlEvent:t,opened:e.id})}function K(e){e?f({hoveredPopup:e.id,hoveredDelay:0}):(f({hoveredPopup:null}),a.hovered&&!a.opened&&f({hoveredDelay:300}))}function q(){"leaflet"==mappl10n.options.engine?a.map.invalidateSize():n.mappEvent.trigger(a.map,"resize"),m.current&&0==m.current.offsetHeight?f({isHidden:!0}):a.isHidden&&(f({isHidden:!1}),W())}function H(e){f({isSidebarOpen:e=void 0!==e?e:!a.isSidebarOpen,isDirectionsOpen:!1}),setTimeout((()=>q()),100)}function W(e){e=null==e?a.parsedCenter:e;const o=t.zoom&&parseInt(t.zoom)?parseInt(t.zoom):null;if(e)return void te(e,o||1);if(0==a.pois.length)return void te({lat:0,lng:0},o||1);if(1==a.pois.length)return void te(B(a.pois[0]),o||mappl10n.options.poiZoom);let n="leaflet"==mappl10n.options.engine?new L.LatLngBounds:new google.maps.LatLngBounds;for(var i=0;i<a.pois.length;i++){var l=z(a.pois[i]);n=l?"leaflet"==mappl10n.options.engine?n.extend(l):n.union(l):n.extend(B(a.pois[i]))}o?te(C(n.getCenter()),o):O(n)}function Z(){return mappl10n.options.ssl?P("div",{className:"mapp-"+mappl10n.options.engine+"-geolocate-wrapper"},P("div",{className:"mapp-geolocate-control",onClick:()=>(f({isGeolocating:!0}),void h((e=>{f({isGeolocating:!1}),e&&e.geometry&&e.geometry.location&&te(e.geometry.location,mappl10n.options.poiZoom)}),!1)),title:__("Your Location")})):null}function J(){if(A())return a.isLoaded?P("div",{className:"mapp-header"},A()&&a.map?P("div",{className:"mapp-search-container"},P(s.MappPlaces,{buttonLabel:t.isEditable?__("Add to map"):P("img",{src:mappl10n.options.baseurl+"/images/search.png"}),focus:t.isEditable,includeBusinesses:t.isEditable,map:a.map,onSearch:e=>{t.onSearch?t.onSearch(e):function(e){if(!e||!e.geometry)return;const t=e.geometry.location?e.geometry.location:null,a=e.geometry.viewport?e.geometry.viewport:null;let o;if("leaflet"==mappl10n.options.engine){const e=new L.LatLng(t.lat,t.lng);o=a?new L.LatLngBounds(new L.LatLng(a.sw.lat,a.sw.lng),new L.LatLng(a.ne.lat,a.ne.lng)):e.toBounds(1e3*mappl10n.options.radius)}else{const e=new google.maps.Circle({center:t,radius:1e3*mappl10n.options.radius});o=a?new google.maps.LatLngBounds(new google.maps.LatLng(a.sw.lat,a.sw.lng),new google.maps.LatLng(a.ne.lat,a.ne.lng)).union(e.getBounds()):e.getBounds()}o&&O(o),te(t)}(e)}})):null,"top"==mappl10n.options.filtersPos&&null):P("div",{className:"mapp-header"})}function Y(){return P(x,null,a.isFetching||a.isGeolocating?P(x,null,P("div",{className:"mapp-spinner-overlay"}),P("div",{className:"mapp-spinner"})):null,J(),P("div",{className:"mapp-main"},"inline"!=a.layout&&$(),P("div",{className:"mapp-canvas-panel"+("google"==mappl10n.options.engine?" mapp-google":" mapp-leaflet")},P("div",{className:"mapp-canvas",ref:d}),a.isLoaded&&a.userLocation?P(r.MappPoi,{isClusterable:!1,isEditable:!1,isOpen:!1,key:"user",map:a.map,poi:{point:a.userLocation,iconid:"geolocation"}}):null,function(){if(!a.isLoaded)return;const o=[],n=(e,t,n)=>{a.clusterer&&(t&&o.push(e),n==a.pois.length-1&&f({overlays:o}))};return a.pois.map(((o,i)=>{const l=o.id==a.hovered,s=o.id==a.opened||l&&mappl10n.options.tooltips&&!t.isEditable,c=mappl10n.options.tooltips&&!t.isEditable;return P(r.MappPoi,{key:o.id,isClusterable:!!a.clusterer&&!o.type,isEditable:!!t.isEditable,isHovered:l,isOpen:s,map:a.map,onChange:e=>{t.onPoiChange&&t.onPoiChange(o.id,e)},onClick:e=>j(o,e),onMouseOut:()=>{U(null,c)},onMouseOver:()=>U(o),onOverlayAdd:(e,t)=>n(e,t,i),onRenderPopup:(o,n)=>function(o,n){const i=function(e){if(!a.clusterer)return;if("leaflet"==mappl10n.options.engine){var t=a.clusterer.getVisibleParent(e);return t&&t!=e?t.getLatLng():null}const o=a.clusterer.clusters;for(var n=0;n<o.length;n++){const t=o[n].markers;if(t.length>1)for(let a=0;a<t.length;a++)if(t[a]==e)return o[n].center_}}(n),l=B(o),s=C(i||l);let r,c,m={x:0,y:0};i?m={x:0,y:-14}:o.type||(m=mappl10n.options.iconScale&&mappl10n.options.iconScale[0]&&mappl10n.options.iconScale[1]?{x:0,y:0-mappl10n.options.iconScale[1]}:{x:0,y:-32});a.kmlEvent&&(a.kmlEvent.pixelOffset&&(m={x:e.pixelOffset.width,y:e.pixelOffset.height}),a.kmlEvent.featureData?r=a.kmlEvent.featureData:a.kmlEvent&&a.kmlEvent.propagatedFrom&&a.kmlEvent.propagatedFrom.feature&&a.kmlEvent.propagatedFrom.feature.properties&&(r=a.kmlEvent.propagatedFrom.feature.properties));c=t.onRenderPopup?t.onRenderPopup(o,G):P(p.MappPoiContent,{context:"popup",feature:r,isEditable:t.isEditable,onDirectionsClick:()=>f({isDirectionsOpen:!0,directionsTo:o}),poi:o,template:a.templates.popup,thumbs:mappl10n.options.thumbsPopup});let d=!t.isEditable&&mappl10n.options.thumbsPopup?"mapp-thumb-"+mappl10n.options.thumbsPopup:"";return d+=o.images&&o.images.length?" mapp-has-thumb":"",P(b,{anchor:m,className:d,content:c,map:a.map,onMouseEnter:()=>K(o),onMouseLeave:()=>K(null),point:s})}(o,n),poi:o})}))}(),t.isEditable||"leaflet"==mappl10n.options.engine||!a.map?null:P(l.MappMenuControl,{map:a.map,onCenter:()=>{G(),W()}}),Z())),a.poiList&&"inline"!=a.layout&&a.isMini?P("div",{className:"mapp-footer"},!a.isSidebarOpen&&P("div",{className:"mapp-button mapp-view-list",onClick:()=>H(!0)},P("img",{src:mappl10n.options.baseurl+"/images/outline_format_list_bulleted_black_18dp.png"}),"List"),a.isSidebarOpen&&P("div",{className:"mapp-button mapp-view-map",onClick:()=>H(!1)},P("img",{src:mappl10n.options.baseurl+"/images/outline_map_black_18dp.png"}),"Map")):null)}function Q(){const e={paddingBottom:D().height};return P(x,null,P("div",{className:"mapp-wrapper",style:e},P("div",{className:"mapp-content"},Y())),"inline"==a.layout&&$())}function X(){if(!a.poiList||!a.isLoaded)return null;let e=[];return e=A()&&a.bounds&&!t.isEditable?a.pois.filter(((e,t)=>a.bounds.contains(B(e)))):a.pois,a.pageCount!=e.length&&f({pageCount:e.length}),P(c.MappPoiList,{className:!t.isEditable&&mappl10n.options.thumbsList?" mapp-thumb-"+mappl10n.options.thumbsList:"",hovered:a.hovered,isEditable:t.isEditable,isPaged:!!t.query,onClick:e=>j(S(e)),onDirectionsClick:e=>f({isDirectionsOpen:!0,directionsTo:S(e)}),onDragDrop:e=>{let{from:a,to:o}=e;return function(e,a){t.onDragDrop&&t.onDragDrop(e,a)}(a,o)},onMouseEnter:e=>U(S(e)),onMouseLeave:e=>U(null),onPage:e=>{f({page:e})},opened:a.opened,page:a.page,pois:e,template:t.isEditable?null:a.templates.item})}function $(){let e="mapp-sidebar";return e+="inline"==a.layout?" mapp-sidebar-inline":"",e+=a.isSidebarOpen?" mapp-sidebar-open":"",a.isDirectionsOpen?P("div",{className:e,ref:u},function(){if(!a.isDirectionsOpen)return null;let e="";if(a.directionsTo)if(a.directionsTo.address)e=a.directionsTo.address;else{const t=C(B(a.directionsTo));e=t.lat+", "+t.lng}return P(i.MappDirections,{from:"",to:e,onClose:()=>{f({isDirectionsOpen:!1,directionsTo:null})}})}()):a.poiList?P("div",{className:e,ref:u},P("div",{className:"mapp-sidebar-toggle",onClick:()=>H()}),"list"==mappl10n.options.filtersPos&&null,t.onRenderSidebar&&t.onRenderSidebar(),X()):void 0}function ee(e){const t=mappl10n.options.standardStyles.concat(mappl10n.options.userStyles),o=_.find(t,(t=>t.id==e));!mappl10n.options.style||"roadmap"!=e&&"streets"!=e&&o||(e=mappl10n.options.style);let n=_.find(t,(t=>t.id==e));if(n=n||t[0],"leaflet"==mappl10n.options.engine){let e={mapbox:{accessToken:mappl10n.options.mapbox,attribution:['<a href="https://www.mappresspro.com" target="_blank">MapPress</a>','<a href="https://www.mapbox.com/about/maps" target="_blank">&copy; Mapbox<a/>','<a href="https://www.openstreetmap.org/about/" target="_blank">&copy; OpenStreetMap</a>'],url:"https://api.mapbox.com/styles/v1/{user}/{mapboxid}/tiles/256/{z}/{x}/{y}{r}?access_token={accessToken}&fresh=true",zoomOffset:0},osm:{attribution:['<a href="https://www.mappresspro.com" target="_blank">MapPress</a>','<a href="https://openstreetmap.org" target="_blank">Map data (c) OpenStreetMap</a>'],url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}}[n.provider],t={...e,...n};L.tileLayer(e.url,t).addTo(a.map)}else if(a.map.setMapTypeId("standard"==n.type?n.id:"roadmap"),n.json){let e=null;try{e=JSON.parse(n.json)}catch(e){console.log("Invalid JSON in map style")}a.map.setOptions({styles:e||null})}else a.map.setOptions({styles:null})}function te(e,t,o){"leaflet"==mappl10n.options.engine?(null==t&&(t=a.map.getZoom()?a.map.getZoom():0),a.map.setView(e,t,o)):(e=e&&!C(e)?{lat:parseFloat(e.lat),lng:parseFloat(e.lng)}:e,t=t?parseInt(t):null,e&&a.map.setCenter(e),t&&a.map.setZoom(t))}return a.isIframe?P(x,null,Y(),"inline"==a.layout&&$()):t.container?Q():function(){const e=D();t.name&&t.name;let a="mapp-layout";const o=t.alignment?t.alignment:mappl10n.options.alignment;o&&!document.body.classList.contains("block-editor-page")&&(a+=" align"+o,a+=" mapp-align-"+o);let n="full"==t.alignment?{width:"auto"}:{width:e.width};return P("div",{className:a,style:n,ref:m,tabIndex:"-1"},Q())}()}},759:(e,t,a)=>{"use strict";a.d(t,{mappMarker:()=>n});var o=a(939);function n(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")}n.prototype={draw:function(){if(!this.div||!this.icon)return;let e=this.overlayView.getProjection();if(e){let t=e.fromLatLngToDivPixel(this.position),a=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.style.left=t.x-a.width/2+"px",this.div.style.top=t.y-a.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(),a=this.overlayView.getProjection().fromLatLngToContainerPixel(this.position);this.dragging={moved:!1,startPixel:{x:e.clientX,y:e.clientY},offset:{x:a.x-(e.clientX-t.left),y:a.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 a={x:e.clientX-t.left+this.dragging.offset.x,y:e.clientY-t.top+this.dragging.offset.y};this.setPosition(this.overlayView.getProjection().fromContainerPixelToLatLng(a)),this.draw(),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 a="set"+e[0].toUpperCase()+e.slice(1);this[a]&&this[a](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){let e='<img draggable="false" src="'+this.icon.url+'">';this.div.innerHTML=e;let t=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.style.width=t.width+"px",this.div.style.height=t.height+"px",this.setZIndex(),this.draw()}},setMap:function(e){this.map=e,this.overlayView.setMap(e)},setPosition:function(e){this.position=e},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}))}}},602:(e,t,a)=>{"use strict";a.d(t,{MappMenuControl:()=>c});var o=a(326);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useRef:r,useState:p}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function c(e){e={layer:null,map:null,onCenter:null,...e};const[t,a]=p({activeLayer:e.layer?e.layer:null,layers:null,isOpen:!1}),s=r(null);function c(e){a((t=>({...t,...e})))}function m(){c({isOpen:!t.isOpen})}return(0,o.useClickOutside)(s,(()=>{t.isOpen&&m()})),l((()=>{if("google"==mappl10n.options.engine){c({layers:{traffic:{googleLayer:new google.maps.TrafficLayer,label:__("Traffic")},bicycling:{googleLayer:new google.maps.BicyclingLayer,label:__("Bicycling")},transit:{googleLayer:new google.maps.TransitLayer,label:__("Transit")}}})}}),[]),n("div",{ref:s},n("div",{className:"mapp-menu-toggle",onClick:()=>m()}),t.isOpen&&function(){const a=_.map(t.layers,((a,o)=>{const i=t.activeLayer==o?"mapp-menu-item mapp-active":"mapp-menu-item";return n("div",{className:i,key:o,onClick:()=>function(a){t.activeLayer&&t.layers[t.activeLayer].googleLayer.setMap(null),a!=t.activeLayer&&t.layers[a].googleLayer.setMap(e.map),c({activeLayer:a==t.activeLayer?null:a,isOpen:!1})}(o)},a.label)}));return n("div",{className:"mapp-menu"},n("div",{className:"mapp-menu-items"},n("div",{className:"mapp-menu-item",onClick:()=>(c({isOpen:!1}),void e.onCenter())},__("Center map")),"google"==mappl10n.options.engine&&n(i,null,n("div",{className:"mapp-menu-separator"}),a)),n("div",{className:"mapp-menu-footer"},n("a",{className:"mapp-menu-help",href:"https://mappresspro.com/mappress-documentation",target:"_blank"},n("span",null,__("Help")))))}())}},27:(e,t,a)=>{"use strict";a.d(t,{MappPaginate:()=>p});const o=wp.element.createElement,{Fragment:n,useEffect:i,useLayoutEffect:l,useRef:s,useState:r}=wp.element,{sprintf}=wp.i18n;function p(e){function t(t,a){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.page<o&&e.onChange(e.page+1);break;case"prev":e.page>1&&e.onChange(e.page-1)}}return function(){const a=Math.ceil(e.count/e.pageSize),n=e.isBusy||e.page<=1,i=e.isBusy||e.page>=a,l=n?"mapp-paginate-button mapp-disabled":"mapp-paginate-button",s=i?"mapp-paginate-button mapp-disabled":"mapp-paginate-button",r=(p="%d of %d",wp.i18n.__(p,"mappress-google-maps-for-wordpress"));var p;return o("div",{className:"mapp-paginate"},o("div",{className:l,onClick:()=>{n||t("first")}},"«"),o("div",{className:l,onClick:()=>{n||t("prev")}},"‹"),o("div",{className:"mapp-paginate-count"},sprintf(r,e.page,a)),o("div",{className:s,onClick:()=>{i||t("next")}},"›"),o("div",{className:s,onClick:()=>{i||t("last")}},"»"))}()}},818:(e,t,a)=>{"use strict";a.d(t,{MappPlaces:()=>d});var o=a(117),n=a(10);const i=wp.element.createElement,{Fragment:l,useCallback:s,useEffect:r,useLayoutEffect:p,useRef:c,useState:m}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function d(e){e={buttonLabel:null,focus:!1,includeBusinesses:!1,map:null,onSearch:null,...e};const{geocode:t,getPredictions:a}=(0,n.useGeocoding)({map:e.map,includeBusinesses:e.includeBusinesses}),[l,s]=m({suggestions:[]});return i(o.MappAutocomplete,{buttonLabel:e.buttonLabel,className:"mapp-places",debounce:"nominatim"===mappl10n.options.geocoder?500:300,delay:"nominatim"==mappl10n.options.geocoder?500:50,focus:e.focus,onFetch:function(t){a({map:e.map,value:t,callback:e=>{var t;t={suggestions:e},s((e=>({...e,...t})))}})},onSelect:function(a){let{suggestion:o,value:n}=a;t({map:e.map,suggestion:o,value:n,callback:t=>{t&&e.onSearch(t)}})},placeholder:__("Search"),suggestions:l.suggestions,title:__("Enter an address, place, KML file URL, or lat,lng")})}},50:(e,t,a)=>{"use strict";a.d(t,{MappPoiContent:()=>m});var o=a(939);const n=wp.element.createElement,{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:r,useRef:p,useState:c}=wp.element;wp.i18n.sprintf;function m(e){e={context:null,feature:null,isEditable:null,onDirectionsClick:null,poi:null,template:null,thumbs:null,...e};const[t,a]=c({imageNumber:0});function l(e){a((t=>({...t,...e})))}return n(i,null,function(){const a="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":return n("div",{className:"mapp-avatar",dangerouslySetInnerHTML:{__html:e.html}});case"embed":return n("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"}:{src:e.url};return n("img",t)}}}(o);return n("div",{className:"mapp-thumbnail",onClick:()=>function(t){e.isEditable||"popup"!=e.context||"embed"==t.type||e.poi.url&&window.open(e.poi.url,"_blank")}(o),style:a},t.imageNumber>=1&&n("div",{className:"mapp-gallery-previous",onClick:e=>function(e){t.imageNumber>0&&(l({imageNumber:t.imageNumber-1}),e.stopPropagation())}(e)}),i,t.imageNumber<e.poi.images.length-1&&n("div",{className:"mapp-gallery-next",onClick:a=>function(a){t.imageNumber<e.poi.images.length-1&&(l({imageNumber:t.imageNumber+1}),a.stopPropagation())}(a)}))}(),n("div",{className:"mapp-info"},function(){let t={...e.poi};t.icon=o.mappLib.getIconUrl(e.poi.iconid),e.feature&&(t.body=e.feature.description,t.title=e.feature.name),t.props=t.props?t.props:{};const a=o.mappLib.template(e.template,{poi:t});return n("div",{className:"mapp-template",dangerouslySetInnerHTML:{__html:a}})}(),function(){var t;if(!(e.template.indexOf("user")>=0))return"popup"==e.context&&mappl10n.options.directionsPopup||"list"==e.context&&mappl10n.options.directionsList?n("div",{className:"mapp-dir-wrapper"},n("span",{className:"mapp-dir",onClick:t=>function(t){t.stopPropagation(),e.onDirectionsClick()}(t)},(t="Get Directions",wp.i18n.__(t,"mappress-google-maps-for-wordpress")))):void 0}()))}},615:(e,t,a)=>{"use strict";a.d(t,{MappPoiList:()=>u});var o=a(939),n=a(27),i=a(50);const l=wp.element.createElement,{Fragment:s,useEffect:r,useLayoutEffect:p,useMemo:c,useRef:m,useState:d}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress"),sprintf=wp.i18n.sprintf;const u=wp.element.memo((function(e){e={className:null,hovered:null,isEditable:!1,isPaged:!1,onClick:null,onDragDrop:null,onMouseEnter:null,onMouseLeave:null,onPage:null,opened:null,page:1,pois:null,template:null,...e};const[t,a]=d({dragging:null,dragover:null,pageSize:!e.isEditable&&mappl10n.options.poiListPageSize?parseInt(mappl10n.options.poiListPageSize):20});function r(e){a((t=>({...t,...e})))}function p(a){let n,p="mapp-item";return e.opened!=a.id&&e.hovered!=a.id||(p+=" mapp-selected"),p+=t.dragover==a.id?" mapp-dragover":"",n=e.isEditable?l(s,null,l("img",{className:"mapp-icon",src:o.mappLib.getIconUrl(a.iconid)}),l("div",{className:"mapp-title"},a.title)):l(i.MappPoiContent,{context:"list",onDirectionsClick:()=>e.onDirectionsClick(a.id),poi:a,template:e.template,thumbs:mappl10n.options.thumbsList}),l("div",{className:p,dangerouslySetInnerHTML:null,draggable:e.isEditable,key:a.id,onClick:()=>e.onClick(a.id),onDragOver:e=>e.preventDefault(),onDragStart:e=>r({dragging:a.id}),onDragEnter:e=>r({dragover:a.id}),onDragEnd:e=>r({dragging:null,dragover:null}),onDrop:o=>{return n=a.id,void(e.onDragDrop&&e.onDragDrop({from:t.dragging,to:n}));var n},onMouseEnter:t=>{e.onMouseEnter(a.id)},onMouseLeave:t=>{e.onMouseLeave(a.id)}},n)}return l("div",{className:"mapp-list "+(e.className?e.className:"")},e.isPaged&&function(){let t=1!=e.pois.length?__("%d Results"):__("%d Result");return t=sprintf(t,e.pois.length),l("div",{className:"mapp-list-header"},l("div",{className:"mapp-list-count"},t))}(),function(){const a=t.pageSize*(e.page-1),o=a+t.pageSize-1;return l("div",{className:"mapp-items",key:e.page},_.map(e.pois,((t,n)=>{if(!e.isPaged||n>=a&&n<=o)return p(t)})))}(),e.isPaged&&(!e.isPaged||e.pois.length<=t.pageSize?null:l("div",{className:"mapp-list-footer"},l(n.MappPaginate,{count:e.pois.length,onChange:t=>e.onPage(t),page:e.page,pageSize:t.pageSize}))))}))},81:(e,t,a)=>{"use strict";a.d(t,{MappPoi:()=>m});var o=a(939),n=a(759);wp.element.createElement;const{Fragment:i,useEffect:l,useLayoutEffect:s,useMemo:r,useRef:p,useState:c}=wp.element,__=e=>wp.i18n.__(e,"mappress-google-maps-for-wordpress");function m(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),[a,i]=c({overlay:null});function s(t){r()&&"google"==mappl10n.options.engine&&("rectangle"==e.poi.type&&(o.mappEvent.clearListeners(a.overlay,"bounds_changed"),t&&o.mappEvent.addListener(a.overlay,"bounds_changed",(()=>{m()}))),"circle"==e.poi.type&&(o.mappEvent.clearListeners(a.overlay,"center_changed radius_changed"),t&&o.mappEvent.addListener(a.overlay,"center_changed radius_changed",(()=>{m()}))),"polygon"!=e.poi.type&&"polyline"!=e.poi.type||(o.mappEvent.clearListeners(a.overlay,"rightclick"),o.mappEvent.clearListeners(a.overlay.getPath(),"insert_at remove_at set_at"),t&&(o.mappEvent.addListener(a.overlay,"rightclick",(e=>{null!=e.vertex&&a.overlay.getPath().getLength()>2&&(a.overlay.getPath().removeAt(e.vertex),m())})),o.mappEvent.addListener(a.overlay.getPath(),"insert_at remove_at set_at",(()=>{m()})))))}function r(){return"google"==mappl10n.options.engine&&-1!=["polyline","polygon","circle","rectangle"].indexOf(e.poi.type)}function m(){const t=o.mappPoi.parseOverlay(e.poi.type,a.overlay);e.onChange(t)}function d(t,a){a?"leaflet"==mappl10n.options.engine?t.addTo(e.map):t.setMap(e.map):"leaflet"==mappl10n.options.engine?t.remove():t.setMap(null)}return l((()=>{const a="leaflet"==mappl10n.options.engine&&"kml"!=e.poi.type?null:e.poi.type,l=_.pick(e.poi.poly,"strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity");let s;switch(a){case"polygon":s=new google.maps.Polygon({paths:e.poi.poly.paths,...l});break;case"polyline":s=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);s=new google.maps.Circle({center:t,radius:parseFloat(e.poi.poly.radius),...l});break;case"rectangle":s=new google.maps.Rectangle({bounds:o.mappLib.viewportToBounds(e.poi.viewport),...l});break;case"kml":const a=e.poi.kml&&e.poi.kml.url?e.poi.kml.url:"";s="leaflet"==mappl10n.options.engine?omnivore.kml(a):new google.maps.KmlLayer({url:a,preserveViewport:!0,suppressInfoWindows:!0});break;default:s="leaflet"==mappl10n.options.engine?L.marker([e.poi.point.lat,e.poi.point.lng]):new n.mappMarker({position:new google.maps.LatLng(e.poi.point.lat,e.poi.point.lng)}),s.setIcon(o.mappLib.getIcon(e.poi.iconid))}var p;return p={overlay:s},i((e=>({...e,...p}))),"kml"!=e.poi.type&&("leaflet"==mappl10n.options.engine?s.options.draggable=e.isEditable:s.setDraggable(e.isEditable),r()&&s.setEditable(e.isEditable)),e.isClusterable?"google"==mappl10n.options.engine&&d(s,e.map):d(s,e.map),e.onOverlayAdd&&e.onOverlayAdd(s,e.isClusterable),t.current=s,()=>{d(t.current,null)}}),[]),l((()=>{if(a.overlay){const t=_.pick(e.poi.poly,"strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity");a.overlay.setOptions({...t})}}),[e.poi.poly]),l((()=>{a.overlay&&a.overlay.setIcon(o.mappLib.getIcon(e.poi.iconid))}),[e.poi.iconid]),l((()=>{a.overlay&&function(t){if(e.poi.type)return;if("icon"==mappl10n.options.highlight&&"leaflet"==mappl10n.options.engine&&e.isEditable)return;var n="leaflet"==mappl10n.options.engine?a.overlay._icon:a.overlay.getDiv();if(!n)return;switch(e.isEditable?"circle":mappl10n.options.highlight){case"circle":n.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&&a.overlay.getIcon().options.iconUrl==i.options.iconUrl)return;a.overlay.setIcon(i);break;case"scale":n.classList.add("mapp-marker"),n.classList.toggle("mapp-marker-scale",t)}const l=t?1e4:0;"leaflet"==mappl10n.options.engine?e.poi.type||a.overlay.setZIndexOffset(l):a.overlay.set("zIndex",l)}(e.isHovered||e.isOpen)}),[e.isHovered,e.isOpen,a.overlay]),l((()=>{if(a.overlay)return o.mappEvent.addListener(a.overlay,"click",(t=>{e.onClick(t)})),o.mappEvent.addListener(a.overlay,"mouseover",(t=>e.onMouseOver(t))),o.mappEvent.addListener(a.overlay,"mouseout",(t=>e.onMouseOut(t))),"kml"==e.poi.type&&("leaflet"==mappl10n.options.engine?(o.mappEvent.addListenerOnce(a.overlay,"ready",(()=>{m()})),o.mappEvent.addListenerOnce(a.overlay,"error",(t=>{alert(__("Error reading KML file.")+" "+__("This may be a CORS error. See the MapPress FAQ for help.")+" : "+e.poi.kml.url)}))):(o.mappEvent.addListener(a.overlay,"defaultviewport_changed",(()=>{if(e.isEditable&&!e.poi.viewport){const t=a.overlay.getDefaultViewport();t&&e.map.fitBounds(t)}m()})),o.mappEvent.addListener(a.overlay,"status_changed",(()=>{"OK"!=a.overlay.getStatus()&&alert(__("Error reading KML file.")+" : "+e.poi.kml.url)})))),e.isEditable&&(s(!0),o.mappEvent.addListener(a.overlay,"dragstart",(()=>(s(!1),void(e.onChange&&e.onChange({viewport:null}))))),o.mappEvent.addListener(a.overlay,"dragend",(()=>(m(),void s(!0))))),()=>{o.mappEvent.clearInstanceListeners(a.overlay)}})),e.isOpen?e.onRenderPopup(e.poi,a.overlay):null}},892:(e,t,a)=>{"use strict";a.d(t,{MappPopupModal:()=>m});var o=a(939);const n=wp.element.createElement,i=wp.element.createPortal,{Fragment:l,useEffect:s,useLayoutEffect:r,useRef:p,useState:c}=wp.element;function m(e){e={onClose:null,poi:null,...e};const[t,a]=c({isBusy:!1,html:null});function l(e){a((t=>({...t,...e})))}const r=React.createRef();function p(t){27==t.keyCode&&e.onClose()}return s((()=>(document.body.classList.add("mapp-modal-noscroll"),()=>document.body.classList.remove("mapp-modal-noscroll"))),[]),s((()=>{e.poi.oid&&(l({isBusy:!0}),o.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]),s((()=>{r.current&&r.current.focus(),console.log("focus"+document.activeElement)}),[r.current]),i(n("div",{className:"mapp-modal"},n("div",{className:"mapp-modal-backdrop",onClick:e.onClose,onKeyDown:p},n("div",{className:"mapp-modal-close",onClick:e.onClose},"×")),n("div",{className:"mapp-modal-content-wrapper",ref:r,onKeyDown:p,tabIndex:0},n("div",{className:"mapp-modal-content"},t.isBusy&&n("div",{className:"mapp-modal-spinner"}),!t.isBusy&&n("div",{className:"mapp-modal-template",dangerouslySetInnerHTML:{__html:t.html}}),n("div",{className:"mapp-modal-close",onClick:e.onClose},"X")))),document.body)}},308:(e,t,a)=>{"use strict";e.exports=function(e,t){var o=String(e).replace(/^&/,"").replace(/&$/,"").split("&"),n=o.length,i=void 0,l=void 0,s=void 0,r=void 0,p=void 0,c=void 0,m=void 0,d=void 0,u=void 0,g=void 0,h=void 0,_=void 0,f=void 0,v=function(e){return decodeURIComponent(e.replace(/\+/g,"%20"))},b="undefined"!=typeof window?window:a.g;b.$locutus=b.$locutus||{};var y=b.$locutus;for(y.php=y.php||{},t||(t=b),i=0;i<n&&(u=v((d=o[i].split("="))[0]),g=d.length<2?"":v(d[1]),!(u.includes("__proto__")||u.includes("constructor")||u.includes("prototype")));i++){for(;" "===u.charAt(0);)u=u.slice(1);if(u.indexOf("\0")>-1&&(u=u.slice(0,u.indexOf("\0"))),u&&"["!==u.charAt(0)){for(_=[],h=0,l=0;l<u.length;l++)if("["!==u.charAt(l)||h){if("]"===u.charAt(l)&&h&&(_.length||_.push(u.slice(0,h-1)),_.push(u.substr(h,l-h)),h=0,"["!==u.charAt(l+1)))break}else h=l+1;for(_.length||(_=[u]),l=0;l<_[0].length&&(" "!==(m=_[0].charAt(l))&&"."!==m&&"["!==m||(_[0]=_[0].substr(0,l)+"_"+_[0].substr(l+1)),"["!==m);l++);for(c=t,l=0,f=_.length;l<f;l++){if(p=c,(""===(u=_[l].replace(/^['"]/,"").replace(/['"]$/,""))||" "===u)&&0!==l){for(r in s=-1,c)c.hasOwnProperty(r)&&+r>s&&r.match(/^\d+$/g)&&(s=+r);u=s+1}Object(c[u])!==c[u]&&(c[u]={}),c=c[u]}p[u]=g}}}}},a={};function o(e){var n=a[e];if(void 0!==n)return n.exports;var i=a[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var a in t)o.o(t,a)&&!o.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o(569),o(66),o(972),o(286),o(107),o(946),o(800),o(68),o(641),o(897),o(218),o(265),o(74),o(146),o(577),o(315),o(185),o(885),o(573),o(697)})();
languages/mappress-google-maps-for-wordpress.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the MapPress Maps for WordPress plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: MapPress Maps for WordPress 2.84.8\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mappress-google-maps-for-wordpress\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-10-25T19:16:52+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
 
@@ -166,7 +166,7 @@ msgstr ""
166
  msgid "What's new"
167
  msgstr ""
168
 
169
- #: mappress.php:1154
170
  msgid "Version"
171
  msgstr ""
172
 
2
  # This file is distributed under the same license as the MapPress Maps for WordPress plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: MapPress Maps for WordPress 2.84.10\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mappress-google-maps-for-wordpress\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-10-28T22:35:32+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
 
166
  msgid "What's new"
167
  msgstr ""
168
 
169
+ #: mappress.php:1148
170
  msgid "Version"
171
  msgstr ""
172
 
lib/{Leaflet.markercluster → leaflet}/MarkerCluster.Default.css RENAMED
File without changes
lib/{Leaflet.markercluster → leaflet}/MarkerCluster.css RENAMED
File without changes
lib/leaflet/leaflet-omnivore.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(r){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.omnivore=r()}}(function(){var r;return function r(e,t,n){function o(u,a){if(!t[u]){if(!e[u]){var s="function"==typeof require&&require;if(!a&&s)return s(u,!0);if(i)return i(u,!0);var f=new Error("Cannot find module '"+u+"'");throw f.code="MODULE_NOT_FOUND",f}var c=t[u]={exports:{}};e[u][0].call(c.exports,function(r){var t=e[u][1][r];return o(t?t:r)},c,c.exports,r,e,t,n)}return t[u].exports}for(var i="function"==typeof require&&require,u=0;u<n.length;u++)o(n[u]);return o}({1:[function(r,e,t){function n(r,e){"setGeoJSON"in r?r.setGeoJSON(e):"addData"in r&&r.addData(e)}function o(r,e,t){var o=t||L.geoJson();return y(r,function(r,e){return r?o.fire("error",{error:r}):(n(o,JSON.parse(e.responseText)),void o.fire("ready"))}),o}function i(r,e,t){function n(r,t){return r?o.fire("error",{error:r}):(l(t.responseText,e,o),void o.fire("ready"))}var o=t||L.geoJson();return y(r,n),o}function u(r,e,t){function n(r,t){function n(){i=!0}var i;return r?o.fire("error",{error:r}):(o.on("error",n),p(t.responseText,e,o),o.off("error",n),void(i||o.fire("ready")))}var o=t||L.geoJson();return y(r,n),o}function a(r,e,t){function n(r,t){function n(){i=!0}var i;return r?o.fire("error",{error:r}):(o.on("error",n),h(t.responseXML||t.responseText,e,o),o.off("error",n),void(i||o.fire("ready")))}var o=t||L.geoJson();return y(r,n),o}function s(r,e,t){function n(r,t){function n(){i=!0}var i;return r?o.fire("error",{error:r}):(o.on("error",n),g(t.responseXML||t.responseText,e,o),o.off("error",n),void(i||o.fire("ready")))}var o=t||L.geoJson();return y(r,n),o}function f(r,e,t){function n(r,t){return r?o.fire("error",{error:r}):(v(t.responseText,e,o),void o.fire("ready"))}var o=t||L.geoJson();return y(r,n),o}function c(r,e,t){function n(r,t){return r?o.fire("error",{error:r}):(d(t.responseText,e,o),void o.fire("ready"))}var o=t||L.geoJson();return y(r,n),o}function l(r,e,t){var o="string"==typeof r?JSON.parse(r):r;t=t||L.geoJson();for(var i in o.objects){var u=S.feature(o,o.objects[i]);u.features?n(t,u.features):n(t,u)}return t}function p(r,e,t){function o(r,e){return r?t.fire("error",{error:r}):void n(t,e)}return t=t||L.geoJson(),e=e||{},x.csv2geojson(r,e,o),t}function h(r,e,t){var o=m(r);if(!o)return t.fire("error",{error:"Could not parse GPX"});t=t||L.geoJson();var i=T.gpx(o);return n(t,i),t}function g(r,e,t){var o=m(r);if(!o)return t.fire("error",{error:"Could not parse KML"});t=t||L.geoJson();var i=T.kml(o);return n(t,i),t}function d(r,e,t){t=t||L.geoJson(),e=e||{};for(var o=E.decode(r,e.precision),i={type:"LineString",coordinates:[]},u=0;u<o.length;u++)i.coordinates[u]=[o[u][1],o[u][0]];return n(t,i),t}function v(r,e,t){t=t||L.geoJson();var o=w(r);return n(t,o),t}function m(r){return"string"==typeof r?(new DOMParser).parseFromString(r,"text/xml"):r}var y=r("corslite"),x=r("csv2geojson"),w=r("wellknown"),E=r("polyline"),S=r("topojson"),T=r("togeojson");e.exports.polyline=c,e.exports.polyline.parse=d,e.exports.geojson=o,e.exports.topojson=i,e.exports.topojson.parse=l,e.exports.csv=u,e.exports.csv.parse=p,e.exports.gpx=a,e.exports.gpx.parse=h,e.exports.kml=s,e.exports.kml.parse=g,e.exports.wkt=f,e.exports.wkt.parse=v},{corslite:4,csv2geojson:5,polyline:8,togeojson:9,topojson:10,wellknown:11}],2:[function(r,e,t){},{}],3:[function(r,e,t){function n(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(r){if(l===setTimeout)return setTimeout(r,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(r,0);try{return l(r,0)}catch(e){try{return l.call(null,r,0)}catch(e){return l.call(this,r,0)}}}function u(r){if(p===clearTimeout)return clearTimeout(r);if((p===o||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(r);try{return p(r)}catch(e){try{return p.call(null,r)}catch(e){return p.call(this,r)}}}function a(){v&&g&&(v=!1,g.length?d=g.concat(d):m=-1,d.length&&s())}function s(){if(!v){var r=i(a);v=!0;for(var e=d.length;e;){for(g=d,d=[];++m<e;)g&&g[m].run();m=-1,e=d.length}g=null,v=!1,u(r)}}function f(r,e){this.fun=r,this.array=e}function c(){}var l,p,h=e.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(r){l=n}try{p="function"==typeof clearTimeout?clearTimeout:o}catch(r){p=o}}();var g,d=[],v=!1,m=-1;h.nextTick=function(r){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];d.push(new f(r,e)),1!==d.length||v||i(s)},f.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=c,h.addListener=c,h.once=c,h.off=c,h.removeListener=c,h.removeAllListeners=c,h.emit=c,h.binding=function(r){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(r){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},{}],4:[function(r,e,t){function n(r,e,t){function n(r){return r>=200&&r<300||304===r}function o(){void 0===a.status||n(a.status)?e.call(a,null,a):e.call(a,a,null)}var i=!1;if("undefined"==typeof window.XMLHttpRequest)return e(Error("Browser not supported"));if("undefined"==typeof t){var u=r.match(/^\s*https?:\/\/[^\/]*/);t=u&&u[0]!==location.protocol+"//"+location.hostname+(location.port?":"+location.port:"")}var a=new window.XMLHttpRequest;if(t&&!("withCredentials"in a)){a=new window.XDomainRequest;var s=e;e=function(){if(i)s.apply(this,arguments);else{var r=this,e=arguments;setTimeout(function(){s.apply(r,e)},0)}}}return"onload"in a?a.onload=o:a.onreadystatechange=function(){4===a.readyState&&o()},a.onerror=function(r){e.call(this,r||!0,null),e=function(){}},a.onprogress=function(){},a.ontimeout=function(r){e.call(this,r,null),e=function(){}},a.onabort=function(r){e.call(this,r,null),e=function(){}},a.open("GET",r,!0),a.send(null),i=!0,a}"undefined"!=typeof e&&(e.exports=n)},{}],5:[function(r,e,t){"use strict";function n(r,e){var t,n,o;for(var i in r)n=i.match(e),n&&(!t||n[0].length/i.length>o)&&(o=n[0].length/i.length,t=i);return t}function o(r){return n(r,m)}function i(r){return n(r,y)}function u(r){return!!r.match(m)}function a(r){return!!r.match(y)}function s(r){return"object"==typeof r?Object.keys(r).length:0}function f(r){var e=[",",";","\t","|"],t=[];return e.forEach(function(e){var n=d.dsvFormat(e).parse(r);if(n.length>=1){for(var o=s(n[0]),i=0;i<n.length;i++)if(s(n[i])!==o)return;t.push({delimiter:e,arity:Object.keys(n[0]).length})}}),t.length?t.sort(function(r,e){return e.arity-r.arity})[0].delimiter:null}function c(r){return delete r.columns,r}function l(r){var e=f(r);return e?c(d.dsvFormat(e).parse(r)):null}function p(r,e,t){t||(t=e,e={}),e.delimiter=e.delimiter||",";var n=e.latfield||"",u=e.lonfield||"",a=e.crs||"",s=[],c={type:"FeatureCollection",features:s};if(""!==a&&(c.crs={type:"name",properties:{name:a}}),"auto"===e.delimiter&&"string"==typeof r&&(e.delimiter=f(r),!e.delimiter))return void t({type:"Error",message:"Could not autodetect delimiter"});var l="string"==typeof r?d.dsvFormat(e.delimiter).parse(r):r;if(!l.length)return void t(null,c);var p,h=[];n||(n=o(l[0])),u||(u=i(l[0]));var g=!n||!u;if(g){for(p=0;p<l.length;p++)s.push({type:"Feature",properties:l[p],geometry:null});return void t(h.length?h:null,c)}for(p=0;p<l.length;p++)if(void 0!==l[p][u]&&void 0!==l[p][n]){var m,y,x,w=l[p][u],L=l[p][n];x=v(w,"EW"),x&&(w=x),x=v(L,"NS"),x&&(L=x),m=parseFloat(w),y=parseFloat(L),isNaN(m)||isNaN(y)?h.push({message:"A row contained an invalid value for latitude or longitude",row:l[p],index:p}):(e.includeLatLon||(delete l[p][u],delete l[p][n]),s.push({type:"Feature",properties:l[p],geometry:{type:"Point",coordinates:[parseFloat(m),parseFloat(y)]}}))}t(h.length?h:null,c)}function h(r){for(var e=r.features,t={type:"Feature",geometry:{type:"LineString",coordinates:[]}},n=0;n<e.length;n++)t.geometry.coordinates.push(e[n].geometry.coordinates);return t.properties=e.reduce(function(r,e){for(var t in e.properties)r[t]||(r[t]=[]),r[t].push(e.properties[t]);return r},{}),{type:"FeatureCollection",features:[t]}}function g(r){for(var e=r.features,t={type:"Feature",geometry:{type:"Polygon",coordinates:[[]]}},n=0;n<e.length;n++)t.geometry.coordinates[0].push(e[n].geometry.coordinates);return t.properties=e.reduce(function(r,e){for(var t in e.properties)r[t]||(r[t]=[]),r[t].push(e.properties[t]);return r},{}),{type:"FeatureCollection",features:[t]}}var d=r("d3-dsv"),v=r("sexagesimal"),m=/(Lat)(itude)?/gi,y=/(L)(on|ng)(gitude)?/i;e.exports={isLon:a,isLat:u,guessLatHeader:o,guessLonHeader:i,csv:d.csvParse,tsv:d.tsvParse,dsv:d,auto:l,csv2geojson:p,toLine:h,toPolygon:g}},{"d3-dsv":6,sexagesimal:7}],6:[function(e,t,n){!function(e,o){"object"==typeof n&&"undefined"!=typeof t?o(n):"function"==typeof r&&r.amd?r(["exports"],o):o(e.d3=e.d3||{})}(this,function(r){"use strict";function e(r){return new Function("d","return {"+r.map(function(r,e){return JSON.stringify(r)+": d["+e+"]"}).join(",")+"}")}function t(r,t){var n=e(r);return function(e,o){return t(n(e),o,r)}}function n(r){var e=Object.create(null),t=[];return r.forEach(function(r){for(var n in r)n in e||t.push(e[n]=n)}),t}function o(r){function o(r,n){var o,u,a=i(r,function(r,i){return o?o(r,i-1):(u=r,void(o=n?t(r,n):e(r)))});return a.columns=u,a}function i(r,e){function t(){if(f>=s)return u;if(o)return o=!1,i;var e,t=f;if(34===r.charCodeAt(t)){for(var n=t;n++<s;)if(34===r.charCodeAt(n)){if(34!==r.charCodeAt(n+1))break;++n}return f=n+2,e=r.charCodeAt(n+1),13===e?(o=!0,10===r.charCodeAt(n+2)&&++f):10===e&&(o=!0),r.slice(t+1,n).replace(/""/g,'"')}for(;f<s;){var a=1;if(e=r.charCodeAt(f++),10===e)o=!0;else if(13===e)o=!0,10===r.charCodeAt(f)&&(++f,++a);else if(e!==l)continue;return r.slice(t,f-a)}return r.slice(t)}for(var n,o,i={},u={},a=[],s=r.length,f=0,c=0;(n=t())!==u;){for(var p=[];n!==i&&n!==u;)p.push(n),n=t();e&&null==(p=e(p,c++))||a.push(p)}return a}function u(e,t){return null==t&&(t=n(e)),[t.map(f).join(r)].concat(e.map(function(e){return t.map(function(r){return f(e[r])}).join(r)})).join("\n")}function a(r){return r.map(s).join("\n")}function s(e){return e.map(f).join(r)}function f(r){return null==r?"":c.test(r+="")?'"'+r.replace(/\"/g,'""')+'"':r}var c=new RegExp('["'+r+"\n]"),l=r.charCodeAt(0);return{parse:o,parseRows:i,format:u,formatRows:a}}var i=o(","),u=i.parse,a=i.parseRows,s=i.format,f=i.formatRows,c=o("\t"),l=c.parse,p=c.parseRows,h=c.format,g=c.formatRows;r.dsvFormat=o,r.csvParse=u,r.csvParseRows=a,r.csvFormat=s,r.csvFormatRows=f,r.tsvParse=l,r.tsvParseRows=p,r.tsvFormat=h,r.tsvFormatRows=g,Object.defineProperty(r,"__esModule",{value:!0})})},{}],7:[function(r,e,t){function n(r,e){return a(r,e).val}function o(r){return i(r.lat,"lat")+" "+i(r.lon,"lon")}function i(r,e){var t=u(r,e);return t.whole+"° "+(t.minutes?t.minutes+"' ":"")+(t.seconds?t.seconds+'" ':"")+t.dir}function u(r,e){var t={lat:["N","S"],lon:["E","W"]}[e]||"",n=t[r>=0?0:1],o=Math.abs(r),i=Math.floor(o),u=o-i,a=60*u,s=Math.floor(a),f=Math.floor(60*(a-s));return{whole:i,minutes:s,seconds:f,dir:n}}function a(r,e,t){if(e||(e="NSEW"),"string"!=typeof r)return{val:null,regex:t};t=t||/[\s\,]*([\-|\—|\―]?[0-9.]+)°? *(?:([0-9.]+)['’′‘] *)?(?:([0-9.]+)(?:''|"|”|″) *)?([NSEW])?/gi;var n=t.exec(r);return n?n[4]&&e.indexOf(n[4])===-1?{val:null,regex:t}:{val:((n[1]?parseFloat(n[1]):0)+(n[2]?parseFloat(n[2])/60:0)+(n[3]?parseFloat(n[3])/3600:0))*(n[4]&&"S"===n[4]||"W"===n[4]?-1:1),regex:t,raw:n[0],dim:n[4]}:{val:null,regex:t}}function s(r,e){r=r.trim();var t=a(r,e);if(null===t.val)return null;var n=a(r,e,t.regex);return null===n.val?null:t.raw+n.raw!==r?null:t.dim?f(t.val,n.val,t.dim):[t.val,n.val]}function f(r,e,t){return"N"===t||"S"===t?[r,e]:"W"===t||"E"===t?[e,r]:void 0}e.exports=n,e.exports.pair=s,e.exports.format=i,e.exports.formatPair=o,e.exports.coordToDMS=u},{}],8:[function(r,e,t){"use strict";function n(r,e){r=Math.round(r*e),r<<=1,r<0&&(r=~r);for(var t="";r>=32;)t+=String.fromCharCode((32|31&r)+63),r>>=5;return t+=String.fromCharCode(r+63)}function o(r){for(var e=[],t=0;t<r.length;t++)e.push(r[t].slice().reverse());return e}var i={};i.decode=function(r,e){for(var t,n,o=0,i=0,u=0,a=[],s=0,f=0,c=null,l=Math.pow(10,e||5);o<r.length;){c=null,s=0,f=0;do c=r.charCodeAt(o++)-63,f|=(31&c)<<s,s+=5;while(c>=32);t=1&f?~(f>>1):f>>1,s=f=0;do c=r.charCodeAt(o++)-63,f|=(31&c)<<s,s+=5;while(c>=32);n=1&f?~(f>>1):f>>1,i+=t,u+=n,a.push([i/l,u/l])}return a},i.encode=function(r,e){if(!r.length)return"";for(var t=Math.pow(10,e||5),o=n(r[0][0],t)+n(r[0][1],t),i=1;i<r.length;i++){var u=r[i],a=r[i-1];o+=n(u[0]-a[0],t),o+=n(u[1]-a[1],t)}return o},i.fromGeoJSON=function(r,e){if(r&&"Feature"===r.type&&(r=r.geometry),!r||"LineString"!==r.type)throw new Error("Input must be a GeoJSON LineString");return i.encode(o(r.coordinates),e)},i.toGeoJSON=function(r,e){var t=i.decode(r,e);return{type:"LineString",coordinates:o(t)}},"object"==typeof e&&e.exports&&(e.exports=i)},{}],9:[function(r,e,t){(function(n){var o=function(){"use strict";function e(r){if(!r||!r.length)return 0;for(var e=0,t=0;e<r.length;e++)t=(t<<5)-t+r.charCodeAt(e)|0;return t}function o(r,e){return r.getElementsByTagName(e)}function i(r,e){return r.getAttribute(e)}function u(r,e){return parseFloat(i(r,e))}function a(r,e){var t=o(r,e);return t.length?t[0]:null}function s(r){return r.normalize&&r.normalize(),r}function f(r){for(var e=0,t=[];e<r.length;e++)t[e]=parseFloat(r[e]);return t}function c(r){var e={};for(var t in r)r[t]&&(e[t]=r[t]);return e}function l(r){return r&&s(r),r&&r.textContent||""}function p(r){return f(r.replace(y,"").split(","))}function h(r){for(var e=r.replace(x,"").split(w),t=[],n=0;n<e.length;n++)t.push(p(e[n]));return t}function g(r){var e,t=[u(r,"lon"),u(r,"lat")],n=a(r,"ele"),o=a(r,"gpxtpx:hr")||a(r,"hr"),i=a(r,"time");return n&&(e=parseFloat(l(n)),isNaN(e)||t.push(e)),{coordinates:t,time:i?l(i):null,heartRate:o?parseFloat(l(o)):null}}function d(){return{type:"FeatureCollection",features:[]}}function v(r){return void 0!==r.xml?r.xml:m.serializeToString(r)}var m,y=/\s*/g,x=/^\s*|\s*$/g,w=/\s+/;"undefined"!=typeof XMLSerializer?m=new XMLSerializer:"object"!=typeof t||"object"!=typeof n||n.browser||(m=new(r("xmldom").XMLSerializer));var L={kml:function(r){function t(r){var e,t;return r=r||"","#"===r.substr(0,1)&&(r=r.substr(1)),6!==r.length&&3!==r.length||(e=r),8===r.length&&(t=parseInt(r.substr(0,2),16)/255,e="#"+r.substr(2)),[e,isNaN(t)?void 0:t]}function n(r){return f(r.split(" "))}function u(r){var e=o(r,"coord","gx"),t=[],i=[];0===e.length&&(e=o(r,"gx:coord"));for(var u=0;u<e.length;u++)t.push(n(l(e[u])));for(var a=o(r,"when"),s=0;s<a.length;s++)i.push(l(a[s]));return{coords:t,times:i}}function s(r){var e,t,n,i,f,c=[],g=[];if(a(r,"MultiGeometry"))return s(a(r,"MultiGeometry"));if(a(r,"MultiTrack"))return s(a(r,"MultiTrack"));if(a(r,"gx:MultiTrack"))return s(a(r,"gx:MultiTrack"));for(n=0;n<y.length;n++)if(t=o(r,y[n]))for(i=0;i<t.length;i++)if(e=t[i],"Point"===y[n])c.push({type:"Point",coordinates:p(l(a(e,"coordinates")))});else if("LineString"===y[n])c.push({type:"LineString",coordinates:h(l(a(e,"coordinates")))});else if("Polygon"===y[n]){var d=o(e,"LinearRing"),v=[];for(f=0;f<d.length;f++)v.push(h(l(a(d[f],"coordinates"))));c.push({type:"Polygon",coordinates:v})}else if("Track"===y[n]||"gx:Track"===y[n]){var m=u(e);c.push({type:"LineString",coordinates:m.coords}),m.times.length&&g.push(m.times)}return{geoms:c,coordTimes:g}}function c(r){var e,n=s(r),u={},f=l(a(r,"name")),c=l(a(r,"styleUrl")),p=l(a(r,"description")),h=a(r,"TimeSpan"),g=a(r,"ExtendedData"),d=a(r,"LineStyle"),v=a(r,"PolyStyle");if(!n.geoms.length)return[];if(f&&(u.name=f),"#"!==c[0]&&(c="#"+c),c&&m[c]&&(u.styleUrl=c,u.styleHash=m[c]),p&&(u.description=p),h){var y=l(a(h,"begin")),x=l(a(h,"end"));u.timespan={begin:y,end:x}}if(d){var w=t(l(a(d,"color"))),L=w[0],E=w[1],S=parseFloat(l(a(d,"width")));L&&(u.stroke=L),isNaN(E)||(u["stroke-opacity"]=E),isNaN(S)||(u["stroke-width"]=S)}if(v){var T=t(l(a(v,"color"))),M=T[0],P=T[1],N=l(a(v,"fill")),b=l(a(v,"outline"));M&&(u.fill=M),isNaN(P)||(u["fill-opacity"]=P),N&&(u["fill-opacity"]="1"===N?1:0),b&&(u["stroke-opacity"]="1"===b?1:0)}if(g){var F=o(g,"Data"),j=o(g,"SimpleData");for(e=0;e<F.length;e++)u[F[e].getAttribute("name")]=l(a(F[e],"value"));for(e=0;e<j.length;e++)u[j[e].getAttribute("name")]=l(j[e])}n.coordTimes.length&&(u.coordTimes=1===n.coordTimes.length?n.coordTimes[0]:n.coordTimes);var C={type:"Feature",geometry:1===n.geoms.length?n.geoms[0]:{type:"GeometryCollection",geometries:n.geoms},properties:u};return i(r,"id")&&(C.id=i(r,"id")),[C]}for(var g=d(),m={},y=["Polygon","LineString","Point","Track","gx:Track"],x=o(r,"Placemark"),w=o(r,"Style"),L=o(r,"StyleMap"),E=0;E<w.length;E++)m["#"+i(w[E],"id")]=e(v(w[E])).toString(16);for(var S=0;S<L.length;S++)m["#"+i(L[S],"id")]=e(v(L[S])).toString(16);for(var T=0;T<x.length;T++)g.features=g.features.concat(c(x[T]));return g},gpx:function(r){function e(r,e){var t=o(r,e),n=[],i=[],u=[],a=t.length;if(a<2)return{};for(var s=0;s<a;s++){var f=g(t[s]);n.push(f.coordinates),f.time&&i.push(f.time),f.heartRate&&u.push(f.heartRate)}return{line:n,times:i,heartRates:u}}function t(r){for(var t,n=o(r,"trkseg"),i=[],a=[],s=[],f=0;f<n.length;f++)t=e(n[f],"trkpt"),t.line&&i.push(t.line),t.times&&t.times.length&&a.push(t.times),t.heartRates&&t.heartRates.length&&s.push(t.heartRates);if(0!==i.length){var c=u(r);return a.length&&(c.coordTimes=1===i.length?a[0]:a),s.length&&(c.heartRates=1===i.length?s[0]:s),{type:"Feature",properties:c,geometry:{type:1===i.length?"LineString":"MultiLineString",coordinates:1===i.length?i[0]:i}}}}function n(r){var t=e(r,"rtept");if(t.line){var n={type:"Feature",properties:u(r),geometry:{type:"LineString",coordinates:t.line}};return n}}function i(r){var e=u(r);return e.sym=l(a(r,"sym")),{type:"Feature",properties:e,geometry:{type:"Point",coordinates:g(r).coordinates}}}function u(r){var e,t=["name","desc","author","copyright","link","time","keywords"],n={};for(e=0;e<t.length;e++)n[t[e]]=l(a(r,t[e]));return c(n)}var s,f,p=o(r,"trk"),h=o(r,"rte"),v=o(r,"wpt"),m=d();for(s=0;s<p.length;s++)f=t(p[s]),f&&m.features.push(f);for(s=0;s<h.length;s++)f=n(h[s]),f&&m.features.push(f);for(s=0;s<v.length;s++)m.features.push(i(v[s]));return m}};return L}();"undefined"!=typeof e&&(e.exports=o)}).call(this,r("_process"))},{_process:3,xmldom:2}],10:[function(e,t,n){!function(e,o){"object"==typeof n&&"undefined"!=typeof t?o(n):"function"==typeof r&&r.amd?r(["exports"],o):o(e.topojson=e.topojson||{})}(this,function(r){"use strict";function e(){}function t(r){if(!r)return e;var t,n,o=r.scale[0],i=r.scale[1],u=r.translate[0],a=r.translate[1];return function(r,e){e||(t=n=0),r[0]=(t+=r[0])*o+u,r[1]=(n+=r[1])*i+a}}function n(r){if(!r)return e;var t,n,o=r.scale[0],i=r.scale[1],u=r.translate[0],a=r.translate[1];return function(r,e){e||(t=n=0);var s=Math.round((r[0]-u)/o),f=Math.round((r[1]-a)/i);r[0]=s-t,r[1]=f-n,t=s,n=f}}function o(r,e){for(var t,n=r.length,o=n-e;o<--n;)t=r[o],r[o++]=r[n],r[n]=t}function i(r,e){for(var t=0,n=r.length;t<n;){var o=t+n>>>1;r[o]<e?t=o+1:n=o}return t}function u(r,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return a(r,e)})}:a(r,e)}function a(r,e){var t={type:"Feature",id:e.id,properties:e.properties||{},geometry:s(r,e)};return null==e.id&&delete t.id,t}function s(r,e){function n(r,e){e.length&&e.pop();for(var t,n=l[r<0?~r:r],i=0,u=n.length;i<u;++i)e.push(t=n[i].slice()),c(t,i);r<0&&o(e,u)}function i(r){return r=r.slice(),c(r,0),r}function u(r){for(var e=[],t=0,o=r.length;t<o;++t)n(r[t],e);return e.length<2&&e.push(e[0].slice()),e}function a(r){for(var e=u(r);e.length<4;)e.push(e[0].slice());return e}function s(r){return r.map(a)}function f(r){var e=r.type;return"GeometryCollection"===e?{type:e,geometries:r.geometries.map(f)}:e in p?{type:e,coordinates:p[e](r)}:null}var c=t(r.transform),l=r.arcs,p={Point:function(r){return i(r.coordinates)},MultiPoint:function(r){return r.coordinates.map(i)},LineString:function(r){return u(r.arcs)},MultiLineString:function(r){return r.arcs.map(u)},Polygon:function(r){return s(r.arcs)},MultiPolygon:function(r){return r.arcs.map(s)}};return f(e)}function f(r,e){function t(e){var t,n=r.arcs[e<0?~e:e],o=n[0];return r.transform?(t=[0,0],n.forEach(function(r){t[0]+=r[0],t[1]+=r[1]})):t=n[n.length-1],e<0?[t,o]:[o,t]}function n(r,e){for(var t in r){var n=r[t];delete e[n.start],delete n.start,delete n.end,n.forEach(function(r){o[r<0?~r:r]=1}),a.push(n)}}var o={},i={},u={},a=[],s=-1;return e.forEach(function(t,n){var o,i=r.arcs[t<0?~t:t];i.length<3&&!i[1][0]&&!i[1][1]&&(o=e[++s],e[s]=t,e[n]=o)}),e.forEach(function(r){var e,n,o=t(r),a=o[0],s=o[1];if(e=u[a])if(delete u[e.end],e.push(r),e.end=s,n=i[s]){delete i[n.start];var f=n===e?e:e.concat(n);i[f.start=e.start]=u[f.end=n.end]=f}else i[e.start]=u[e.end]=e;else if(e=i[s])if(delete i[e.start],e.unshift(r),e.start=a,n=u[a]){delete u[n.end];var c=n===e?e:n.concat(e);i[c.start=n.start]=u[c.end=e.end]=c}else i[e.start]=u[e.end]=e;else e=[r],i[e.start=a]=u[e.end=s]=e}),n(u,i),n(i,u),e.forEach(function(r){o[r<0?~r:r]||a.push([r])}),a}function c(r){return s(r,l.apply(this,arguments))}function l(r,e,t){function n(r){var e=r<0?~r:r;(c[e]||(c[e]=[])).push({i:r,g:s})}function o(r){r.forEach(n)}function i(r){r.forEach(o)}function u(r){"GeometryCollection"===r.type?r.geometries.forEach(u):r.type in l&&(s=r,l[r.type](r.arcs))}var a=[];if(arguments.length>1){var s,c=[],l={LineString:o,MultiLineString:i,Polygon:i,MultiPolygon:function(r){r.forEach(i)}};u(e),c.forEach(arguments.length<3?function(r){a.push(r[0].i)}:function(r){t(r[0].g,r[r.length-1].g)&&a.push(r[0].i)})}else for(var p=0,h=r.arcs.length;p<h;++p)a.push(p);return{type:"MultiLineString",arcs:f(r,a)}}function p(r){var e=r[0],t=r[1],n=r[2];return Math.abs((e[0]-n[0])*(t[1]-e[1])-(e[0]-t[0])*(n[1]-e[1]))}function h(r){for(var e,t=-1,n=r.length,o=r[n-1],i=0;++t<n;)e=o,o=r[t],i+=e[0]*o[1]-e[1]*o[0];return i/2}function g(r){return s(r,d.apply(this,arguments))}function d(r,e){function t(r){r.forEach(function(e){e.forEach(function(e){(o[e=e<0?~e:e]||(o[e]=[])).push(r)})}),i.push(r)}function n(e){return Math.abs(h(s(r,{type:"Polygon",arcs:[e]}).coordinates[0]))}var o={},i=[],u=[];return e.forEach(function(r){"Polygon"===r.type?t(r.arcs):"MultiPolygon"===r.type&&r.arcs.forEach(t)}),i.forEach(function(r){if(!r._){var e=[],t=[r];for(r._=1,u.push(e);r=t.pop();)e.push(r),r.forEach(function(r){r.forEach(function(r){o[r<0?~r:r].forEach(function(r){r._||(r._=1,t.push(r))})})})}}),i.forEach(function(r){delete r._}),{type:"MultiPolygon",arcs:u.map(function(e){var t,i=[];if(e.forEach(function(r){r.forEach(function(r){r.forEach(function(r){o[r<0?~r:r].length<2&&i.push(r)})})}),i=f(r,i),(t=i.length)>1)for(var u,a,s=1,c=n(i[0]);s<t;++s)(u=n(i[s]))>c&&(a=i[0],i[0]=i[s],i[s]=a,c=u);return i})}}function v(r){function e(r,e){r.forEach(function(r){r<0&&(r=~r);var t=o[r];t?t.push(e):o[r]=[e]})}function t(r,t){r.forEach(function(r){e(r,t)})}function n(r,e){"GeometryCollection"===r.type?r.geometries.forEach(function(r){n(r,e)}):r.type in a&&a[r.type](r.arcs,e)}var o={},u=r.map(function(){return[]}),a={LineString:e,MultiLineString:t,Polygon:t,MultiPolygon:function(r,e){r.forEach(function(r){t(r,e)})}};r.forEach(n);for(var s in o)for(var f=o[s],c=f.length,l=0;l<c;++l)for(var p=l+1;p<c;++p){var h,g=f[l],d=f[p];(h=u[g])[s=i(h,d)]!==d&&h.splice(s,0,d),(h=u[d])[s=i(h,g)]!==g&&h.splice(s,0,g)}return u}function m(r,e){return r[1][2]-e[1][2]}function y(){function r(r,e){for(;e>0;){var t=(e+1>>1)-1,o=n[t];if(m(r,o)>=0)break;n[o._=e]=o,n[r._=e=t]=r}}function e(r,e){for(;;){var t=e+1<<1,i=t-1,u=e,a=n[u];if(i<o&&m(n[i],a)<0&&(a=n[u=i]),t<o&&m(n[t],a)<0&&(a=n[u=t]),u===e)break;n[a._=e]=a,n[r._=e=u]=r}}var t={},n=[],o=0;return t.push=function(e){return r(n[e._=o]=e,o++),o},t.pop=function(){if(!(o<=0)){var r,t=n[0];return--o>0&&(r=n[o],e(n[r._=0]=r,0)),t}},t.remove=function(t){var i,u=t._;if(n[u]===t)return u!==--o&&(i=n[o],(m(i,t)<0?r:e)(n[i._=u]=i,u)),u},t}function x(r,e){function o(r){a.remove(r),r[1][2]=e(r),a.push(r)}var i=t(r.transform),u=n(r.transform),a=y();return e||(e=p),r.arcs.forEach(function(r){var t,n,s,f,c=[],l=0;for(n=0,s=r.length;n<s;++n)f=r[n],i(r[n]=[f[0],f[1],1/0],n);for(n=1,s=r.length-1;n<s;++n)t=r.slice(n-1,n+2),t[1][2]=e(t),c.push(t),a.push(t);for(n=0,s=c.length;n<s;++n)t=c[n],t.previous=c[n-1],t.next=c[n+1];for(;t=a.pop();){var p=t.previous,h=t.next;t[1][2]<l?t[1][2]=l:l=t[1][2],p&&(p.next=h,p[2]=t[2],o(p)),h&&(h.previous=p,h[0]=t[0],o(h))}r.forEach(u)}),r}var w="1.6.26";r.version=w,r.mesh=c,r.meshArcs=l,r.merge=g,r.mergeArcs=d,r.feature=u,r.neighbors=v,r.presimplify=x})},{}],11:[function(r,e,t){function n(r){function e(r){var e=v.substring(y).match(r);return e?(y+=e[0].length,e[0]):null}function t(r){return r&&m.match(/\d+/)&&(r.crs={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+m}}),r}function n(){e(/^\s*/)}function o(){n();for(var r,t=0,o=[],i=[o],a=o;r=e(/^(\()/)||e(/^(\))/)||e(/^(\,)/)||e(u);){if("("===r)i.push(a),a=[],i[i.length-1].push(a),t++;else if(")"===r){if(0===a.length)return null;if(a=i.pop(),!a)return null;if(t--,0===t)break}else if(","===r)a=[],i[i.length-1].push(a);else{if(r.split(/\s/g).some(isNaN))return null;Array.prototype.push.apply(a,r.split(/\s/g).map(parseFloat))}n()}return 0!==t?null:o}function i(){for(var r,t,o=[];t=e(u)||e(/^(\,)/);)","===t?(o.push(r),r=[]):t.split(/\s/g).some(isNaN)||(r||(r=[]),Array.prototype.push.apply(r,t.split(/\s/g).map(parseFloat))),n();return r?(o.push(r),o.length?o:null):null}function a(){if(!e(/^(point)/i))return null;if(n(),!e(/^(\()/))return null;var r=i();return r?(n(),e(/^(\))/)?{type:"Point",coordinates:r[0]}:null):null}function s(){if(!e(/^(multipoint)/i))return null;n();var r=v.substring(v.indexOf("(")+1,v.length-1).replace(/\(/g,"").replace(/\)/g,"");v="MULTIPOINT ("+r+")";var t=o();return t?(n(),{type:"MultiPoint",coordinates:t}):null}function f(){if(!e(/^(multilinestring)/i))return null;n();var r=o();return r?(n(),{type:"MultiLineString",coordinates:r}):null}function c(){if(!e(/^(linestring)/i))return null;if(n(),!e(/^(\()/))return null;var r=i();return r&&e(/^(\))/)?{type:"LineString",coordinates:r}:null}function l(){if(!e(/^(polygon)/i))return null;n();var r=o();return r?{type:"Polygon",coordinates:r}:null}function p(){if(!e(/^(multipolygon)/i))return null;n();var r=o();return r?{type:"MultiPolygon",coordinates:r}:null}function h(){var r,t=[];if(!e(/^(geometrycollection)/i))return null;if(n(),!e(/^(\()/))return null;for(;r=g();)t.push(r),n(),e(/^(\,)/),n();return e(/^(\))/)?{type:"GeometryCollection",geometries:t}:null}function g(){return a()||c()||l()||s()||f()||p()||h()}var d=r.split(";"),v=d.pop(),m=(d.shift()||"").split("=").pop(),y=0;return t(g())}function o(r){function e(r){return r.join(" ")}function t(r){return r.map(e).join(", ")}function n(r){return r.map(t).map(u).join(", ")}function i(r){return r.map(n).map(u).join(", ")}function u(r){return"("+r+")"}switch("Feature"===r.type&&(r=r.geometry),r.type){case"Point":return"POINT ("+e(r.coordinates)+")";case"LineString":return"LINESTRING ("+t(r.coordinates)+")";case"Polygon":return"POLYGON ("+n(r.coordinates)+")";case"MultiPoint":return"MULTIPOINT ("+t(r.coordinates)+")";case"MultiPolygon":return"MULTIPOLYGON ("+i(r.coordinates)+")";case"MultiLineString":return"MULTILINESTRING ("+n(r.coordinates)+")";case"GeometryCollection":return"GEOMETRYCOLLECTION ("+r.geometries.map(o).join(", ")+")";default:throw new Error("stringify requires a valid GeoJSON Feature or geometry object as input")}}e.exports=n,e.exports.parse=n,e.exports.stringify=o;var i=/[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/,u=new RegExp("^"+i.source+"(\\s"+i.source+"){1,}")},{}]},{},[1])(1)});
lib/leaflet/leaflet.css ADDED
@@ -0,0 +1,640 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* required styles */
2
+
3
+ .leaflet-pane,
4
+ .leaflet-tile,
5
+ .leaflet-marker-icon,
6
+ .leaflet-marker-shadow,
7
+ .leaflet-tile-container,
8
+ .leaflet-pane > svg,
9
+ .leaflet-pane > canvas,
10
+ .leaflet-zoom-box,
11
+ .leaflet-image-layer,
12
+ .leaflet-layer {
13
+ position: absolute;
14
+ left: 0;
15
+ top: 0;
16
+ }
17
+ .leaflet-container {
18
+ overflow: hidden;
19
+ }
20
+ .leaflet-tile,
21
+ .leaflet-marker-icon,
22
+ .leaflet-marker-shadow {
23
+ -webkit-user-select: none;
24
+ -moz-user-select: none;
25
+ user-select: none;
26
+ -webkit-user-drag: none;
27
+ }
28
+ /* Prevents IE11 from highlighting tiles in blue */
29
+ .leaflet-tile::selection {
30
+ background: transparent;
31
+ }
32
+ /* Safari renders non-retina tile on retina better with this, but Chrome is worse */
33
+ .leaflet-safari .leaflet-tile {
34
+ image-rendering: -webkit-optimize-contrast;
35
+ }
36
+ /* hack that prevents hw layers "stretching" when loading new tiles */
37
+ .leaflet-safari .leaflet-tile-container {
38
+ width: 1600px;
39
+ height: 1600px;
40
+ -webkit-transform-origin: 0 0;
41
+ }
42
+ .leaflet-marker-icon,
43
+ .leaflet-marker-shadow {
44
+ display: block;
45
+ }
46
+ /* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
47
+ /* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
48
+ .leaflet-container .leaflet-overlay-pane svg,
49
+ .leaflet-container .leaflet-marker-pane img,
50
+ .leaflet-container .leaflet-shadow-pane img,
51
+ .leaflet-container .leaflet-tile-pane img,
52
+ .leaflet-container img.leaflet-image-layer,
53
+ .leaflet-container .leaflet-tile {
54
+ max-width: none !important;
55
+ max-height: none !important;
56
+ }
57
+
58
+ .leaflet-container.leaflet-touch-zoom {
59
+ -ms-touch-action: pan-x pan-y;
60
+ touch-action: pan-x pan-y;
61
+ }
62
+ .leaflet-container.leaflet-touch-drag {
63
+ -ms-touch-action: pinch-zoom;
64
+ /* Fallback for FF which doesn't support pinch-zoom */
65
+ touch-action: none;
66
+ touch-action: pinch-zoom;
67
+ }
68
+ .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
69
+ -ms-touch-action: none;
70
+ touch-action: none;
71
+ }
72
+ .leaflet-container {
73
+ -webkit-tap-highlight-color: transparent;
74
+ }
75
+ .leaflet-container a {
76
+ -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
77
+ }
78
+ .leaflet-tile {
79
+ filter: inherit;
80
+ visibility: hidden;
81
+ }
82
+ .leaflet-tile-loaded {
83
+ visibility: inherit;
84
+ }
85
+ .leaflet-zoom-box {
86
+ width: 0;
87
+ height: 0;
88
+ -moz-box-sizing: border-box;
89
+ box-sizing: border-box;
90
+ z-index: 800;
91
+ }
92
+ /* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
93
+ .leaflet-overlay-pane svg {
94
+ -moz-user-select: none;
95
+ }
96
+
97
+ .leaflet-pane { z-index: 400; }
98
+
99
+ .leaflet-tile-pane { z-index: 200; }
100
+ .leaflet-overlay-pane { z-index: 400; }
101
+ .leaflet-shadow-pane { z-index: 500; }
102
+ .leaflet-marker-pane { z-index: 600; }
103
+ .leaflet-tooltip-pane { z-index: 650; }
104
+ .leaflet-popup-pane { z-index: 700; }
105
+
106
+ .leaflet-map-pane canvas { z-index: 100; }
107
+ .leaflet-map-pane svg { z-index: 200; }
108
+
109
+ .leaflet-vml-shape {
110
+ width: 1px;
111
+ height: 1px;
112
+ }
113
+ .lvml {
114
+ behavior: url(#default#VML);
115
+ display: inline-block;
116
+ position: absolute;
117
+ }
118
+
119
+
120
+ /* control positioning */
121
+
122
+ .leaflet-control {
123
+ position: relative;
124
+ z-index: 800;
125
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
126
+ pointer-events: auto;
127
+ }
128
+ .leaflet-top,
129
+ .leaflet-bottom {
130
+ position: absolute;
131
+ z-index: 1000;
132
+ pointer-events: none;
133
+ }
134
+ .leaflet-top {
135
+ top: 0;
136
+ }
137
+ .leaflet-right {
138
+ right: 0;
139
+ }
140
+ .leaflet-bottom {
141
+ bottom: 0;
142
+ }
143
+ .leaflet-left {
144
+ left: 0;
145
+ }
146
+ .leaflet-control {
147
+ float: left;
148
+ clear: both;
149
+ }
150
+ .leaflet-right .leaflet-control {
151
+ float: right;
152
+ }
153
+ .leaflet-top .leaflet-control {
154
+ margin-top: 10px;
155
+ }
156
+ .leaflet-bottom .leaflet-control {
157
+ margin-bottom: 10px;
158
+ }
159
+ .leaflet-left .leaflet-control {
160
+ margin-left: 10px;
161
+ }
162
+ .leaflet-right .leaflet-control {
163
+ margin-right: 10px;
164
+ }
165
+
166
+
167
+ /* zoom and fade animations */
168
+
169
+ .leaflet-fade-anim .leaflet-tile {
170
+ will-change: opacity;
171
+ }
172
+ .leaflet-fade-anim .leaflet-popup {
173
+ opacity: 0;
174
+ -webkit-transition: opacity 0.2s linear;
175
+ -moz-transition: opacity 0.2s linear;
176
+ transition: opacity 0.2s linear;
177
+ }
178
+ .leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
179
+ opacity: 1;
180
+ }
181
+ .leaflet-zoom-animated {
182
+ -webkit-transform-origin: 0 0;
183
+ -ms-transform-origin: 0 0;
184
+ transform-origin: 0 0;
185
+ }
186
+ .leaflet-zoom-anim .leaflet-zoom-animated {
187
+ will-change: transform;
188
+ }
189
+ .leaflet-zoom-anim .leaflet-zoom-animated {
190
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
191
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
192
+ transition: transform 0.25s cubic-bezier(0,0,0.25,1);
193
+ }
194
+ .leaflet-zoom-anim .leaflet-tile,
195
+ .leaflet-pan-anim .leaflet-tile {
196
+ -webkit-transition: none;
197
+ -moz-transition: none;
198
+ transition: none;
199
+ }
200
+
201
+ .leaflet-zoom-anim .leaflet-zoom-hide {
202
+ visibility: hidden;
203
+ }
204
+
205
+
206
+ /* cursors */
207
+
208
+ .leaflet-interactive {
209
+ cursor: pointer;
210
+ }
211
+ .leaflet-grab {
212
+ cursor: -webkit-grab;
213
+ cursor: -moz-grab;
214
+ cursor: grab;
215
+ }
216
+ .leaflet-crosshair,
217
+ .leaflet-crosshair .leaflet-interactive {
218
+ cursor: crosshair;
219
+ }
220
+ .leaflet-popup-pane,
221
+ .leaflet-control {
222
+ cursor: auto;
223
+ }
224
+ .leaflet-dragging .leaflet-grab,
225
+ .leaflet-dragging .leaflet-grab .leaflet-interactive,
226
+ .leaflet-dragging .leaflet-marker-draggable {
227
+ cursor: move;
228
+ cursor: -webkit-grabbing;
229
+ cursor: -moz-grabbing;
230
+ cursor: grabbing;
231
+ }
232
+
233
+ /* marker & overlays interactivity */
234
+ .leaflet-marker-icon,
235
+ .leaflet-marker-shadow,
236
+ .leaflet-image-layer,
237
+ .leaflet-pane > svg path,
238
+ .leaflet-tile-container {
239
+ pointer-events: none;
240
+ }
241
+
242
+ .leaflet-marker-icon.leaflet-interactive,
243
+ .leaflet-image-layer.leaflet-interactive,
244
+ .leaflet-pane > svg path.leaflet-interactive,
245
+ svg.leaflet-image-layer.leaflet-interactive path {
246
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
247
+ pointer-events: auto;
248
+ }
249
+
250
+ /* visual tweaks */
251
+
252
+ .leaflet-container {
253
+ background: #ddd;
254
+ outline: 0;
255
+ }
256
+ .leaflet-container a {
257
+ color: #0078A8;
258
+ }
259
+ .leaflet-container a.leaflet-active {
260
+ outline: 2px solid orange;
261
+ }
262
+ .leaflet-zoom-box {
263
+ border: 2px dotted #38f;
264
+ background: rgba(255,255,255,0.5);
265
+ }
266
+
267
+
268
+ /* general typography */
269
+ .leaflet-container {
270
+ font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
271
+ }
272
+
273
+
274
+ /* general toolbar styles */
275
+
276
+ .leaflet-bar {
277
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
278
+ border-radius: 4px;
279
+ }
280
+ .leaflet-bar a,
281
+ .leaflet-bar a:hover {
282
+ background-color: #fff;
283
+ border-bottom: 1px solid #ccc;
284
+ width: 26px;
285
+ height: 26px;
286
+ line-height: 26px;
287
+ display: block;
288
+ text-align: center;
289
+ text-decoration: none;
290
+ color: black;
291
+ }
292
+ .leaflet-bar a,
293
+ .leaflet-control-layers-toggle {
294
+ background-position: 50% 50%;
295
+ background-repeat: no-repeat;
296
+ display: block;
297
+ }
298
+ .leaflet-bar a:hover {
299
+ background-color: #f4f4f4;
300
+ }
301
+ .leaflet-bar a:first-child {
302
+ border-top-left-radius: 4px;
303
+ border-top-right-radius: 4px;
304
+ }
305
+ .leaflet-bar a:last-child {
306
+ border-bottom-left-radius: 4px;
307
+ border-bottom-right-radius: 4px;
308
+ border-bottom: none;
309
+ }
310
+ .leaflet-bar a.leaflet-disabled {
311
+ cursor: default;
312
+ background-color: #f4f4f4;
313
+ color: #bbb;
314
+ }
315
+
316
+ .leaflet-touch .leaflet-bar a {
317
+ width: 30px;
318
+ height: 30px;
319
+ line-height: 30px;
320
+ }
321
+ .leaflet-touch .leaflet-bar a:first-child {
322
+ border-top-left-radius: 2px;
323
+ border-top-right-radius: 2px;
324
+ }
325
+ .leaflet-touch .leaflet-bar a:last-child {
326
+ border-bottom-left-radius: 2px;
327
+ border-bottom-right-radius: 2px;
328
+ }
329
+
330
+ /* zoom control */
331
+
332
+ .leaflet-control-zoom-in,
333
+ .leaflet-control-zoom-out {
334
+ font: bold 18px 'Lucida Console', Monaco, monospace;
335
+ text-indent: 1px;
336
+ }
337
+
338
+ .leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
339
+ font-size: 22px;
340
+ }
341
+
342
+
343
+ /* layers control */
344
+
345
+ .leaflet-control-layers {
346
+ box-shadow: 0 1px 5px rgba(0,0,0,0.4);
347
+ background: #fff;
348
+ border-radius: 5px;
349
+ }
350
+ .leaflet-control-layers-toggle {
351
+ background-image: url(images/layers.png);
352
+ width: 36px;
353
+ height: 36px;
354
+ }
355
+ .leaflet-retina .leaflet-control-layers-toggle {
356
+ background-image: url(images/layers-2x.png);
357
+ background-size: 26px 26px;
358
+ }
359
+ .leaflet-touch .leaflet-control-layers-toggle {
360
+ width: 44px;
361
+ height: 44px;
362
+ }
363
+ .leaflet-control-layers .leaflet-control-layers-list,
364
+ .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
365
+ display: none;
366
+ }
367
+ .leaflet-control-layers-expanded .leaflet-control-layers-list {
368
+ display: block;
369
+ position: relative;
370
+ }
371
+ .leaflet-control-layers-expanded {
372
+ padding: 6px 10px 6px 6px;
373
+ color: #333;
374
+ background: #fff;
375
+ }
376
+ .leaflet-control-layers-scrollbar {
377
+ overflow-y: scroll;
378
+ overflow-x: hidden;
379
+ padding-right: 5px;
380
+ }
381
+ .leaflet-control-layers-selector {
382
+ margin-top: 2px;
383
+ position: relative;
384
+ top: 1px;
385
+ }
386
+ .leaflet-control-layers label {
387
+ display: block;
388
+ }
389
+ .leaflet-control-layers-separator {
390
+ height: 0;
391
+ border-top: 1px solid #ddd;
392
+ margin: 5px -10px 5px -6px;
393
+ }
394
+
395
+ /* Default icon URLs */
396
+ .leaflet-default-icon-path {
397
+ background-image: url(images/marker-icon.png);
398
+ }
399
+
400
+
401
+ /* attribution and scale controls */
402
+
403
+ .leaflet-container .leaflet-control-attribution {
404
+ background: #fff;
405
+ background: rgba(255, 255, 255, 0.7);
406
+ margin: 0;
407
+ }
408
+ .leaflet-control-attribution,
409
+ .leaflet-control-scale-line {
410
+ padding: 0 5px;
411
+ color: #333;
412
+ }
413
+ .leaflet-control-attribution a {
414
+ text-decoration: none;
415
+ }
416
+ .leaflet-control-attribution a:hover {
417
+ text-decoration: underline;
418
+ }
419
+ .leaflet-container .leaflet-control-attribution,
420
+ .leaflet-container .leaflet-control-scale {
421
+ font-size: 11px;
422
+ }
423
+ .leaflet-left .leaflet-control-scale {
424
+ margin-left: 5px;
425
+ }
426
+ .leaflet-bottom .leaflet-control-scale {
427
+ margin-bottom: 5px;
428
+ }
429
+ .leaflet-control-scale-line {
430
+ border: 2px solid #777;
431
+ border-top: none;
432
+ line-height: 1.1;
433
+ padding: 2px 5px 1px;
434
+ font-size: 11px;
435
+ white-space: nowrap;
436
+ overflow: hidden;
437
+ -moz-box-sizing: border-box;
438
+ box-sizing: border-box;
439
+
440
+ background: #fff;
441
+ background: rgba(255, 255, 255, 0.5);
442
+ }
443
+ .leaflet-control-scale-line:not(:first-child) {
444
+ border-top: 2px solid #777;
445
+ border-bottom: none;
446
+ margin-top: -2px;
447
+ }
448
+ .leaflet-control-scale-line:not(:first-child):not(:last-child) {
449
+ border-bottom: 2px solid #777;
450
+ }
451
+
452
+ .leaflet-touch .leaflet-control-attribution,
453
+ .leaflet-touch .leaflet-control-layers,
454
+ .leaflet-touch .leaflet-bar {
455
+ box-shadow: none;
456
+ }
457
+ .leaflet-touch .leaflet-control-layers,
458
+ .leaflet-touch .leaflet-bar {
459
+ border: 2px solid rgba(0,0,0,0.2);
460
+ background-clip: padding-box;
461
+ }
462
+
463
+
464
+ /* popup */
465
+
466
+ .leaflet-popup {
467
+ position: absolute;
468
+ text-align: center;
469
+ margin-bottom: 20px;
470
+ }
471
+ .leaflet-popup-content-wrapper {
472
+ padding: 1px;
473
+ text-align: left;
474
+ border-radius: 12px;
475
+ }
476
+ .leaflet-popup-content {
477
+ margin: 13px 19px;
478
+ line-height: 1.4;
479
+ }
480
+ .leaflet-popup-content p {
481
+ margin: 18px 0;
482
+ }
483
+ .leaflet-popup-tip-container {
484
+ width: 40px;
485
+ height: 20px;
486
+ position: absolute;
487
+ left: 50%;
488
+ margin-left: -20px;
489
+ overflow: hidden;
490
+ pointer-events: none;
491
+ }
492
+ .leaflet-popup-tip {
493
+ width: 17px;
494
+ height: 17px;
495
+ padding: 1px;
496
+
497
+ margin: -10px auto 0;
498
+
499
+ -webkit-transform: rotate(45deg);
500
+ -moz-transform: rotate(45deg);
501
+ -ms-transform: rotate(45deg);
502
+ transform: rotate(45deg);
503
+ }
504
+ .leaflet-popup-content-wrapper,
505
+ .leaflet-popup-tip {
506
+ background: white;
507
+ color: #333;
508
+ box-shadow: 0 3px 14px rgba(0,0,0,0.4);
509
+ }
510
+ .leaflet-container a.leaflet-popup-close-button {
511
+ position: absolute;
512
+ top: 0;
513
+ right: 0;
514
+ padding: 4px 4px 0 0;
515
+ border: none;
516
+ text-align: center;
517
+ width: 18px;
518
+ height: 14px;
519
+ font: 16px/14px Tahoma, Verdana, sans-serif;
520
+ color: #c3c3c3;
521
+ text-decoration: none;
522
+ font-weight: bold;
523
+ background: transparent;
524
+ }
525
+ .leaflet-container a.leaflet-popup-close-button:hover {
526
+ color: #999;
527
+ }
528
+ .leaflet-popup-scrolled {
529
+ overflow: auto;
530
+ border-bottom: 1px solid #ddd;
531
+ border-top: 1px solid #ddd;
532
+ }
533
+
534
+ .leaflet-oldie .leaflet-popup-content-wrapper {
535
+ -ms-zoom: 1;
536
+ }
537
+ .leaflet-oldie .leaflet-popup-tip {
538
+ width: 24px;
539
+ margin: 0 auto;
540
+
541
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
542
+ filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
543
+ }
544
+ .leaflet-oldie .leaflet-popup-tip-container {
545
+ margin-top: -1px;
546
+ }
547
+
548
+ .leaflet-oldie .leaflet-control-zoom,
549
+ .leaflet-oldie .leaflet-control-layers,
550
+ .leaflet-oldie .leaflet-popup-content-wrapper,
551
+ .leaflet-oldie .leaflet-popup-tip {
552
+ border: 1px solid #999;
553
+ }
554
+
555
+
556
+ /* div icon */
557
+
558
+ .leaflet-div-icon {
559
+ background: #fff;
560
+ border: 1px solid #666;
561
+ }
562
+
563
+
564
+ /* Tooltip */
565
+ /* Base styles for the element that has a tooltip */
566
+ .leaflet-tooltip {
567
+ position: absolute;
568
+ padding: 6px;
569
+ background-color: #fff;
570
+ border: 1px solid #fff;
571
+ border-radius: 3px;
572
+ color: #222;
573
+ white-space: nowrap;
574
+ -webkit-user-select: none;
575
+ -moz-user-select: none;
576
+ -ms-user-select: none;
577
+ user-select: none;
578
+ pointer-events: none;
579
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4);
580
+ }
581
+ .leaflet-tooltip.leaflet-clickable {
582
+ cursor: pointer;
583
+ pointer-events: auto;
584
+ }
585
+ .leaflet-tooltip-top:before,
586
+ .leaflet-tooltip-bottom:before,
587
+ .leaflet-tooltip-left:before,
588
+ .leaflet-tooltip-right:before {
589
+ position: absolute;
590
+ pointer-events: none;
591
+ border: 6px solid transparent;
592
+ background: transparent;
593
+ content: "";
594
+ }
595
+
596
+ /* Directions */
597
+
598
+ .leaflet-tooltip-bottom {
599
+ margin-top: 6px;
600
+ }
601
+ .leaflet-tooltip-top {
602
+ margin-top: -6px;
603
+ }
604
+ .leaflet-tooltip-bottom:before,
605
+ .leaflet-tooltip-top:before {
606
+ left: 50%;
607
+ margin-left: -6px;
608
+ }
609
+ .leaflet-tooltip-top:before {
610
+ bottom: 0;
611
+ margin-bottom: -12px;
612
+ border-top-color: #fff;
613
+ }
614
+ .leaflet-tooltip-bottom:before {
615
+ top: 0;
616
+ margin-top: -12px;
617
+ margin-left: -6px;
618
+ border-bottom-color: #fff;
619
+ }
620
+ .leaflet-tooltip-left {
621
+ margin-left: -6px;
622
+ }
623
+ .leaflet-tooltip-right {
624
+ margin-left: 6px;
625
+ }
626
+ .leaflet-tooltip-left:before,
627
+ .leaflet-tooltip-right:before {
628
+ top: 50%;
629
+ margin-top: -6px;
630
+ }
631
+ .leaflet-tooltip-left:before {
632
+ right: 0;
633
+ margin-right: -12px;
634
+ border-left-color: #fff;
635
+ }
636
+ .leaflet-tooltip-right:before {
637
+ left: 0;
638
+ margin-left: -12px;
639
+ border-right-color: #fff;
640
+ }
lib/leaflet/leaflet.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /* @preserve
2
+ * Leaflet 1.7.1, a JS library for interactive maps. http://leafletjs.com
3
+ * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade
4
+ */
5
+ !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.L={})}(this,function(t){"use strict";function h(t){for(var i,e,n=1,o=arguments.length;n<o;n++)for(i in e=arguments[n])t[i]=e[i];return t}var s=Object.create||function(t){return i.prototype=t,new i};function i(){}function p(t,i){var e=Array.prototype.slice;if(t.bind)return t.bind.apply(t,e.call(arguments,1));var n=e.call(arguments,2);return function(){return t.apply(i,n.length?n.concat(e.call(arguments)):arguments)}}var e=0;function m(t){return t._leaflet_id=t._leaflet_id||++e,t._leaflet_id}function n(t,i,e){var n,o,s=function(){n=!1,o&&(r.apply(e,o),o=!1)},r=function(){n?o=arguments:(t.apply(e,arguments),setTimeout(s,i),n=!0)};return r}function o(t,i,e){var n=i[1],o=i[0],s=n-o;return t===n&&e?t:((t-o)%s+s)%s+o}function a(){return!1}function r(t,i){var e=Math.pow(10,void 0===i?6:i);return Math.round(t*e)/e}function u(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function l(t){return u(t).split(/\s+/)}function c(t,i){for(var e in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?s(t.options):{}),i)t.options[e]=i[e];return t.options}function _(t,i,e){var n=[];for(var o in t)n.push(encodeURIComponent(e?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(i&&-1!==i.indexOf("?")?"&":"?")+n.join("&")}var d=/\{ *([\w_-]+) *\}/g;function f(t,n){return t.replace(d,function(t,i){var e=n[i];if(void 0===e)throw new Error("No value provided for variable "+t);return"function"==typeof e&&(e=e(n)),e})}var g=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function v(t,i){for(var e=0;e<t.length;e++)if(t[e]===i)return e;return-1}var y="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function x(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var w=0;function P(t){var i=+new Date,e=Math.max(0,16-(i-w));return w=i+e,window.setTimeout(t,e)}var b=window.requestAnimationFrame||x("RequestAnimationFrame")||P,T=window.cancelAnimationFrame||x("CancelAnimationFrame")||x("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function M(t,i,e){if(!e||b!==P)return b.call(window,p(t,i));t.call(i)}function z(t){t&&T.call(window,t)}var C={extend:h,create:s,bind:p,lastId:e,stamp:m,throttle:n,wrapNum:o,falseFn:a,formatNum:r,trim:u,splitWords:l,setOptions:c,getParamString:_,template:f,isArray:g,indexOf:v,emptyImageUrl:y,requestFn:b,cancelFn:T,requestAnimFrame:M,cancelAnimFrame:z};function S(){}S.extend=function(t){function i(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()}var e=i.__super__=this.prototype,n=s(e);for(var o in(n.constructor=i).prototype=n,this)Object.prototype.hasOwnProperty.call(this,o)&&"prototype"!==o&&"__super__"!==o&&(i[o]=this[o]);return t.statics&&(h(i,t.statics),delete t.statics),t.includes&&(function(t){if("undefined"==typeof L||!L||!L.Mixin)return;t=g(t)?t:[t];for(var i=0;i<t.length;i++)t[i]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}(t.includes),h.apply(null,[n].concat(t.includes)),delete t.includes),n.options&&(t.options=h(s(n.options),t.options)),h(n,t),n._initHooks=[],n.callInitHooks=function(){if(!this._initHooksCalled){e.callInitHooks&&e.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,i=n._initHooks.length;t<i;t++)n._initHooks[t].call(this)}},i},S.include=function(t){return h(this.prototype,t),this},S.mergeOptions=function(t){return h(this.prototype.options,t),this},S.addInitHook=function(t){var i=Array.prototype.slice.call(arguments,1),e="function"==typeof t?t:function(){this[t].apply(this,i)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(e),this};var Z={on:function(t,i,e){if("object"==typeof t)for(var n in t)this._on(n,t[n],i);else for(var o=0,s=(t=l(t)).length;o<s;o++)this._on(t[o],i,e);return this},off:function(t,i,e){if(t)if("object"==typeof t)for(var n in t)this._off(n,t[n],i);else for(var o=0,s=(t=l(t)).length;o<s;o++)this._off(t[o],i,e);else delete this._events;return this},_on:function(t,i,e){this._events=this._events||{};var n=this._events[t];n||(n=[],this._events[t]=n),e===this&&(e=void 0);for(var o={fn:i,ctx:e},s=n,r=0,a=s.length;r<a;r++)if(s[r].fn===i&&s[r].ctx===e)return;s.push(o)},_off:function(t,i,e){var n,o,s;if(this._events&&(n=this._events[t]))if(i){if(e===this&&(e=void 0),n)for(o=0,s=n.length;o<s;o++){var r=n[o];if(r.ctx===e&&r.fn===i)return r.fn=a,this._firingCount&&(this._events[t]=n=n.slice()),void n.splice(o,1)}}else{for(o=0,s=n.length;o<s;o++)n[o].fn=a;delete this._events[t]}},fire:function(t,i,e){if(!this.listens(t,e))return this;var n=h({},i,{type:t,target:this,sourceTarget:i&&i.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var s=0,r=o.length;s<r;s++){var a=o[s];a.fn.call(a.ctx||this,n)}this._firingCount--}}return e&&this._propagateEvent(n),this},listens:function(t,i){var e=this._events&&this._events[t];if(e&&e.length)return!0;if(i)for(var n in this._eventParents)if(this._eventParents[n].listens(t,i))return!0;return!1},once:function(t,i,e){if("object"==typeof t){for(var n in t)this.once(n,t[n],i);return this}var o=p(function(){this.off(t,i,e).off(t,o,e)},this);return this.on(t,i,e).on(t,o,e)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[m(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[m(t)],this},_propagateEvent:function(t){for(var i in this._eventParents)this._eventParents[i].fire(t.type,h({layer:t.target,propagatedFrom:t.target},t),!0)}};Z.addEventListener=Z.on,Z.removeEventListener=Z.clearAllEventListeners=Z.off,Z.addOneTimeEventListener=Z.once,Z.fireEvent=Z.fire,Z.hasEventListeners=Z.listens;var E=S.extend(Z);function k(t,i,e){this.x=e?Math.round(t):t,this.y=e?Math.round(i):i}var B=Math.trunc||function(t){return 0<t?Math.floor(t):Math.ceil(t)};function A(t,i,e){return t instanceof k?t:g(t)?new k(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new k(t.x,t.y):new k(t,i,e)}function I(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function O(t,i){return!t||t instanceof I?t:new I(t,i)}function R(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function N(t,i){return t instanceof R?t:new R(t,i)}function D(t,i,e){if(isNaN(t)||isNaN(i))throw new Error("Invalid LatLng object: ("+t+", "+i+")");this.lat=+t,this.lng=+i,void 0!==e&&(this.alt=+e)}function j(t,i,e){return t instanceof D?t:g(t)&&"object"!=typeof t[0]?3===t.length?new D(t[0],t[1],t[2]):2===t.length?new D(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new D(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===i?null:new D(t,i,e)}k.prototype={clone:function(){return new k(this.x,this.y)},add:function(t){return this.clone()._add(A(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(A(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new k(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new k(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=B(this.x),this.y=B(this.y),this},distanceTo:function(t){var i=(t=A(t)).x-this.x,e=t.y-this.y;return Math.sqrt(i*i+e*e)},equals:function(t){return(t=A(t)).x===this.x&&t.y===this.y},contains:function(t){return t=A(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+r(this.x)+", "+r(this.y)+")"}},I.prototype={extend:function(t){return t=A(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new k((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new k(this.min.x,this.max.y)},getTopRight:function(){return new k(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var i,e;return(t=("number"==typeof t[0]||t instanceof k?A:O)(t))instanceof I?(i=t.min,e=t.max):i=e=t,i.x>=this.min.x&&e.x<=this.max.x&&i.y>=this.min.y&&e.y<=this.max.y},intersects:function(t){t=O(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x<=e.x,r=o.y>=i.y&&n.y<=e.y;return s&&r},overlaps:function(t){t=O(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.x<e.x,r=o.y>i.y&&n.y<e.y;return s&&r},isValid:function(){return!(!this.min||!this.max)}},R.prototype={extend:function(t){var i,e,n=this._southWest,o=this._northEast;if(t instanceof D)e=i=t;else{if(!(t instanceof R))return t?this.extend(j(t)||N(t)):this;if(i=t._southWest,e=t._northEast,!i||!e)return this}return n||o?(n.lat=Math.min(i.lat,n.lat),n.lng=Math.min(i.lng,n.lng),o.lat=Math.max(e.lat,o.lat),o.lng=Math.max(e.lng,o.lng)):(this._southWest=new D(i.lat,i.lng),this._northEast=new D(e.lat,e.lng)),this},pad:function(t){var i=this._southWest,e=this._northEast,n=Math.abs(i.lat-e.lat)*t,o=Math.abs(i.lng-e.lng)*t;return new R(new D(i.lat-n,i.lng-o),new D(e.lat+n,e.lng+o))},getCenter:function(){return new D((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new D(this.getNorth(),this.getWest())},getSouthEast:function(){return new D(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t=("number"==typeof t[0]||t instanceof D||"lat"in t?j:N)(t);var i,e,n=this._southWest,o=this._northEast;return t instanceof R?(i=t.getSouthWest(),e=t.getNorthEast()):i=e=t,i.lat>=n.lat&&e.lat<=o.lat&&i.lng>=n.lng&&e.lng<=o.lng},intersects:function(t){t=N(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat<=e.lat,r=o.lng>=i.lng&&n.lng<=e.lng;return s&&r},overlaps:function(t){t=N(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lat<e.lat,r=o.lng>i.lng&&n.lng<e.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,i){return!!t&&(t=N(t),this._southWest.equals(t.getSouthWest(),i)&&this._northEast.equals(t.getNorthEast(),i))},isValid:function(){return!(!this._southWest||!this._northEast)}};var W,H={latLngToPoint:function(t,i){var e=this.projection.project(t),n=this.scale(i);return this.transformation._transform(e,n)},pointToLatLng:function(t,i){var e=this.scale(i),n=this.transformation.untransform(t,e);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var i=this.projection.bounds,e=this.scale(t);return new I(this.transformation.transform(i.min,e),this.transformation.transform(i.max,e))},infinite:!(D.prototype={equals:function(t,i){return!!t&&(t=j(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===i?1e-9:i))},toString:function(t){return"LatLng("+r(this.lat,t)+", "+r(this.lng,t)+")"},distanceTo:function(t){return F.distance(this,j(t))},wrap:function(){return F.wrapLatLng(this)},toBounds:function(t){var i=180*t/40075017,e=i/Math.cos(Math.PI/180*this.lat);return N([this.lat-i,this.lng-e],[this.lat+i,this.lng+e])},clone:function(){return new D(this.lat,this.lng,this.alt)}}),wrapLatLng:function(t){var i=this.wrapLng?o(t.lng,this.wrapLng,!0):t.lng;return new D(this.wrapLat?o(t.lat,this.wrapLat,!0):t.lat,i,t.alt)},wrapLatLngBounds:function(t){var i=t.getCenter(),e=this.wrapLatLng(i),n=i.lat-e.lat,o=i.lng-e.lng;if(0==n&&0==o)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new R(new D(s.lat-n,s.lng-o),new D(r.lat-n,r.lng-o))}},F=h({},H,{wrapLng:[-180,180],R:6371e3,distance:function(t,i){var e=Math.PI/180,n=t.lat*e,o=i.lat*e,s=Math.sin((i.lat-t.lat)*e/2),r=Math.sin((i.lng-t.lng)*e/2),a=s*s+Math.cos(n)*Math.cos(o)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),U=6378137,V={R:U,MAX_LATITUDE:85.0511287798,project:function(t){var i=Math.PI/180,e=this.MAX_LATITUDE,n=Math.max(Math.min(e,t.lat),-e),o=Math.sin(n*i);return new k(this.R*t.lng*i,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var i=180/Math.PI;return new D((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*i,t.x*i/this.R)},bounds:new I([-(W=U*Math.PI),-W],[W,W])};function q(t,i,e,n){if(g(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=i,this._c=e,this._d=n}function G(t,i,e,n){return new q(t,i,e,n)}q.prototype={transform:function(t,i){return this._transform(t.clone(),i)},_transform:function(t,i){return i=i||1,t.x=i*(this._a*t.x+this._b),t.y=i*(this._c*t.y+this._d),t},untransform:function(t,i){return i=i||1,new k((t.x/i-this._b)/this._a,(t.y/i-this._d)/this._c)}};var K,Y=h({},F,{code:"EPSG:3857",projection:V,transformation:G(K=.5/(Math.PI*V.R),.5,-K,.5)}),X=h({},Y,{code:"EPSG:900913"});function J(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function $(t,i){for(var e,n,o,s,r="",a=0,h=t.length;a<h;a++){for(e=0,n=(o=t[a]).length;e<n;e++)r+=(e?"L":"M")+(s=o[e]).x+" "+s.y;r+=i?Zt?"z":"x":""}return r||"M0 0"}var Q=document.documentElement.style,tt="ActiveXObject"in window,it=tt&&!document.addEventListener,et="msLaunchUri"in navigator&&!("documentMode"in document),nt=kt("webkit"),ot=kt("android"),st=kt("android 2")||kt("android 3"),rt=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),at=ot&&kt("Google")&&rt<537&&!("AudioNode"in window),ht=!!window.opera,ut=!et&&kt("chrome"),lt=kt("gecko")&&!nt&&!ht&&!tt,ct=!ut&&kt("safari"),_t=kt("phantom"),dt="OTransition"in Q,pt=0===navigator.platform.indexOf("Win"),mt=tt&&"transition"in Q,ft="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!st,gt="MozPerspective"in Q,vt=!window.L_DISABLE_3D&&(mt||ft||gt)&&!dt&&!_t,yt="undefined"!=typeof orientation||kt("mobile"),xt=yt&&nt,wt=yt&&ft,Pt=!window.PointerEvent&&window.MSPointerEvent,Lt=!(!window.PointerEvent&&!Pt),bt=!window.L_NO_TOUCH&&(Lt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),Tt=yt&&ht,Mt=yt&&lt,zt=1<(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI),Ct=function(){var t=!1;try{var i=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",a,i),window.removeEventListener("testPassiveEventSupport",a,i)}catch(t){}return t}(),St=!!document.createElement("canvas").getContext,Zt=!(!document.createElementNS||!J("svg").createSVGRect),Et=!Zt&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}();function kt(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var Bt={ie:tt,ielt9:it,edge:et,webkit:nt,android:ot,android23:st,androidStock:at,opera:ht,chrome:ut,gecko:lt,safari:ct,phantom:_t,opera12:dt,win:pt,ie3d:mt,webkit3d:ft,gecko3d:gt,any3d:vt,mobile:yt,mobileWebkit:xt,mobileWebkit3d:wt,msPointer:Pt,pointer:Lt,touch:bt,mobileOpera:Tt,mobileGecko:Mt,retina:zt,passiveEvents:Ct,canvas:St,svg:Zt,vml:Et},At=Pt?"MSPointerDown":"pointerdown",It=Pt?"MSPointerMove":"pointermove",Ot=Pt?"MSPointerUp":"pointerup",Rt=Pt?"MSPointerCancel":"pointercancel",Nt={},Dt=!1;function jt(t,i,e,n){function o(t){Ut(t,r)}var s,r,a,h,u,l,c,_;function d(t){t.pointerType===(t.MSPOINTER_TYPE_MOUSE||"mouse")&&0===t.buttons||Ut(t,h)}return"touchstart"===i?(u=t,l=e,c=n,_=p(function(t){t.MSPOINTER_TYPE_TOUCH&&t.pointerType===t.MSPOINTER_TYPE_TOUCH&&Ri(t),Ut(t,l)}),u["_leaflet_touchstart"+c]=_,u.addEventListener(At,_,!1),Dt||(document.addEventListener(At,Wt,!0),document.addEventListener(It,Ht,!0),document.addEventListener(Ot,Ft,!0),document.addEventListener(Rt,Ft,!0),Dt=!0)):"touchmove"===i?(h=e,(a=t)["_leaflet_touchmove"+n]=d,a.addEventListener(It,d,!1)):"touchend"===i&&(r=e,(s=t)["_leaflet_touchend"+n]=o,s.addEventListener(Ot,o,!1),s.addEventListener(Rt,o,!1)),this}function Wt(t){Nt[t.pointerId]=t}function Ht(t){Nt[t.pointerId]&&(Nt[t.pointerId]=t)}function Ft(t){delete Nt[t.pointerId]}function Ut(t,i){for(var e in t.touches=[],Nt)t.touches.push(Nt[e]);t.changedTouches=[t],i(t)}var Vt=Pt?"MSPointerDown":Lt?"pointerdown":"touchstart",qt=Pt?"MSPointerUp":Lt?"pointerup":"touchend",Gt="_leaflet_";var Kt,Yt,Xt,Jt,$t,Qt,ti=fi(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ii=fi(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ei="webkitTransition"===ii||"OTransition"===ii?ii+"End":"transitionend";function ni(t){return"string"==typeof t?document.getElementById(t):t}function oi(t,i){var e,n=t.style[i]||t.currentStyle&&t.currentStyle[i];return n&&"auto"!==n||!document.defaultView||(n=(e=document.defaultView.getComputedStyle(t,null))?e[i]:null),"auto"===n?null:n}function si(t,i,e){var n=document.createElement(t);return n.className=i||"",e&&e.appendChild(n),n}function ri(t){var i=t.parentNode;i&&i.removeChild(t)}function ai(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function hi(t){var i=t.parentNode;i&&i.lastChild!==t&&i.appendChild(t)}function ui(t){var i=t.parentNode;i&&i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function li(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=pi(t);return 0<e.length&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(e)}function ci(t,i){var e;if(void 0!==t.classList)for(var n=l(i),o=0,s=n.length;o<s;o++)t.classList.add(n[o]);else li(t,i)||di(t,((e=pi(t))?e+" ":"")+i)}function _i(t,i){void 0!==t.classList?t.classList.remove(i):di(t,u((" "+pi(t)+" ").replace(" "+i+" "," ")))}function di(t,i){void 0===t.className.baseVal?t.className=i:t.className.baseVal=i}function pi(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function mi(t,i){"opacity"in t.style?t.style.opacity=i:"filter"in t.style&&function(t,i){var e=!1,n="DXImageTransform.Microsoft.Alpha";try{e=t.filters.item(n)}catch(t){if(1===i)return}i=Math.round(100*i),e?(e.Enabled=100!==i,e.Opacity=i):t.style.filter+=" progid:"+n+"(opacity="+i+")"}(t,i)}function fi(t){for(var i=document.documentElement.style,e=0;e<t.length;e++)if(t[e]in i)return t[e];return!1}function gi(t,i,e){var n=i||new k(0,0);t.style[ti]=(mt?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(e?" scale("+e+")":"")}function vi(t,i){t._leaflet_pos=i,vt?gi(t,i):(t.style.left=i.x+"px",t.style.top=i.y+"px")}function yi(t){return t._leaflet_pos||new k(0,0)}function xi(){zi(window,"dragstart",Ri)}function wi(){Si(window,"dragstart",Ri)}function Pi(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Li(),Qt=($t=t).style.outline,t.style.outline="none",zi(window,"keydown",Li))}function Li(){$t&&($t.style.outline=Qt,Qt=$t=void 0,Si(window,"keydown",Li))}function bi(t){for(;!((t=t.parentNode).offsetWidth&&t.offsetHeight||t===document.body););return t}function Ti(t){var i=t.getBoundingClientRect();return{x:i.width/t.offsetWidth||1,y:i.height/t.offsetHeight||1,boundingClientRect:i}}Jt="onselectstart"in document?(Xt=function(){zi(window,"selectstart",Ri)},function(){Si(window,"selectstart",Ri)}):(Yt=fi(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]),Xt=function(){var t;Yt&&(t=document.documentElement.style,Kt=t[Yt],t[Yt]="none")},function(){Yt&&(document.documentElement.style[Yt]=Kt,Kt=void 0)});var Mi={TRANSFORM:ti,TRANSITION:ii,TRANSITION_END:ei,get:ni,getStyle:oi,create:si,remove:ri,empty:ai,toFront:hi,toBack:ui,hasClass:li,addClass:ci,removeClass:_i,setClass:di,getClass:pi,setOpacity:mi,testProp:fi,setTransform:gi,setPosition:vi,getPosition:yi,disableTextSelection:Xt,enableTextSelection:Jt,disableImageDrag:xi,enableImageDrag:wi,preventOutline:Pi,restoreOutline:Li,getSizedParentNode:bi,getScale:Ti};function zi(t,i,e,n){if("object"==typeof i)for(var o in i)ki(t,o,i[o],e);else for(var s=0,r=(i=l(i)).length;s<r;s++)ki(t,i[s],e,n);return this}var Ci="_leaflet_events";function Si(t,i,e,n){if("object"==typeof i)for(var o in i)Bi(t,o,i[o],e);else if(i)for(var s=0,r=(i=l(i)).length;s<r;s++)Bi(t,i[s],e,n);else{for(var a in t[Ci])Bi(t,a,t[Ci][a]);delete t[Ci]}return this}function Zi(){return Lt&&(!et&&!ct)}var Ei={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function ki(i,t,e,n){var o=t+m(e)+(n?"_"+m(n):"");if(i[Ci]&&i[Ci][o])return this;var s,r,a,h,u,l,c=function(t){return e.call(n||i,t||window.event)},_=c;function d(t){if(Lt){if(!t.isPrimary)return;if("mouse"===t.pointerType)return}else if(1<t.touches.length)return;var i=Date.now(),e=i-(h||i);u=t.touches?t.touches[0]:t,l=0<e&&e<=250,h=i}function p(t){if(l&&!u.cancelBubble){if(Lt){if("mouse"===t.pointerType)return;var i,e,n={};for(e in u)i=u[e],n[e]=i&&i.bind?i.bind(u):i;u=n}u.type="dblclick",u.button=0,r(u),h=null}}Lt&&0===t.indexOf("touch")?jt(i,t,c,o):bt&&"dblclick"===t&&!Zi()?(r=c,l=!1,(s=i)[Gt+Vt+(a=o)]=d,s[Gt+qt+a]=p,s[Gt+"dblclick"+a]=r,s.addEventListener(Vt,d,!!Ct&&{passive:!1}),s.addEventListener(qt,p,!!Ct&&{passive:!1}),s.addEventListener("dblclick",r,!1)):"addEventListener"in i?"touchstart"===t||"touchmove"===t||"wheel"===t||"mousewheel"===t?i.addEventListener(Ei[t]||t,c,!!Ct&&{passive:!1}):"mouseenter"===t||"mouseleave"===t?(c=function(t){t=t||window.event,Vi(i,t)&&_(t)},i.addEventListener(Ei[t],c,!1)):i.addEventListener(t,_,!1):"attachEvent"in i&&i.attachEvent("on"+t,c),i[Ci]=i[Ci]||{},i[Ci][o]=c}function Bi(t,i,e,n){var o,s,r,a,h,u,l,c,_=i+m(e)+(n?"_"+m(n):""),d=t[Ci]&&t[Ci][_];if(!d)return this;Lt&&0===i.indexOf("touch")?(c=(u=t)["_leaflet_"+(l=i)+_],"touchstart"===l?u.removeEventListener(At,c,!1):"touchmove"===l?u.removeEventListener(It,c,!1):"touchend"===l&&(u.removeEventListener(Ot,c,!1),u.removeEventListener(Rt,c,!1))):bt&&"dblclick"===i&&!Zi()?(r=(o=t)[Gt+Vt+(s=_)],a=o[Gt+qt+s],h=o[Gt+"dblclick"+s],o.removeEventListener(Vt,r,!!Ct&&{passive:!1}),o.removeEventListener(qt,a,!!Ct&&{passive:!1}),o.removeEventListener("dblclick",h,!1)):"removeEventListener"in t?t.removeEventListener(Ei[i]||i,d,!1):"detachEvent"in t&&t.detachEvent("on"+i,d),t[Ci][_]=null}function Ai(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,Ui(t),this}function Ii(t){return ki(t,"wheel",Ai),this}function Oi(t){return zi(t,"mousedown touchstart dblclick",Ai),ki(t,"click",Fi),this}function Ri(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Ni(t){return Ri(t),Ai(t),this}function Di(t,i){if(!i)return new k(t.clientX,t.clientY);var e=Ti(i),n=e.boundingClientRect;return new k((t.clientX-n.left)/e.x-i.clientLeft,(t.clientY-n.top)/e.y-i.clientTop)}var ji=pt&&ut?2*window.devicePixelRatio:lt?window.devicePixelRatio:1;function Wi(t){return et?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/ji:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}var Hi={};function Fi(t){Hi[t.type]=!0}function Ui(t){var i=Hi[t.type];return Hi[t.type]=!1,i}function Vi(t,i){var e=i.relatedTarget;if(!e)return!0;try{for(;e&&e!==t;)e=e.parentNode}catch(t){return!1}return e!==t}var qi={on:zi,off:Si,stopPropagation:Ai,disableScrollPropagation:Ii,disableClickPropagation:Oi,preventDefault:Ri,stop:Ni,getMousePosition:Di,getWheelDelta:Wi,fakeStop:Fi,skipped:Ui,isExternalTarget:Vi,addListener:zi,removeListener:Si},Gi=E.extend({run:function(t,i,e,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=e||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=yi(t),this._offset=i.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=M(this._animate,this),this._step()},_step:function(t){var i=new Date-this._startTime,e=1e3*this._duration;i<e?this._runFrame(this._easeOut(i/e),t):(this._runFrame(1),this._complete())},_runFrame:function(t,i){var e=this._startPos.add(this._offset.multiplyBy(t));i&&e._round(),vi(this._el,e),this.fire("step")},_complete:function(){z(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Ki=E.extend({options:{crs:Y,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,i){i=c(this,i),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=p(this._onResize,this),this._initEvents(),i.maxBounds&&this.setMaxBounds(i.maxBounds),void 0!==i.zoom&&(this._zoom=this._limitZoom(i.zoom)),i.center&&void 0!==i.zoom&&this.setView(j(i.center),i.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ii&&vt&&!Tt&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),zi(this._proxy,ei,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,i,e){if((i=void 0===i?this._zoom:this._limitZoom(i),t=this._limitCenter(j(t),i,this.options.maxBounds),e=e||{},this._stop(),this._loaded&&!e.reset&&!0!==e)&&(void 0!==e.animate&&(e.zoom=h({animate:e.animate},e.zoom),e.pan=h({animate:e.animate,duration:e.duration},e.pan)),this._zoom!==i?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,i,e.zoom):this._tryAnimatedPan(t,e.pan)))return clearTimeout(this._sizeTimer),this;return this._resetView(t,i),this},setZoom:function(t,i){return this._loaded?this.setView(this.getCenter(),t,{zoom:i}):(this._zoom=t,this)},zoomIn:function(t,i){return t=t||(vt?this.options.zoomDelta:1),this.setZoom(this._zoom+t,i)},zoomOut:function(t,i){return t=t||(vt?this.options.zoomDelta:1),this.setZoom(this._zoom-t,i)},setZoomAround:function(t,i,e){var n=this.getZoomScale(i),o=this.getSize().divideBy(2),s=(t instanceof k?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),r=this.containerPointToLatLng(o.add(s));return this.setView(r,i,{zoom:e})},_getBoundsCenterZoom:function(t,i){i=i||{},t=t.getBounds?t.getBounds():N(t);var e=A(i.paddingTopLeft||i.padding||[0,0]),n=A(i.paddingBottomRight||i.padding||[0,0]),o=this.getBoundsZoom(t,!1,e.add(n));if((o="number"==typeof i.maxZoom?Math.min(i.maxZoom,o):o)===1/0)return{center:t.getCenter(),zoom:o};var s=n.subtract(e).divideBy(2),r=this.project(t.getSouthWest(),o),a=this.project(t.getNorthEast(),o);return{center:this.unproject(r.add(a).divideBy(2).add(s),o),zoom:o}},fitBounds:function(t,i){if(!(t=N(t)).isValid())throw new Error("Bounds are not valid.");var e=this._getBoundsCenterZoom(t,i);return this.setView(e.center,e.zoom,i)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,i){return this.setView(t,this._zoom,{pan:i})},panBy:function(t,i){return i=i||{},(t=A(t).round()).x||t.y?(!0===i.animate||this.getSize().contains(t)?(this._panAnim||(this._panAnim=new Gi,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),i.noMoveStart||this.fire("movestart"),!1!==i.animate?(ci(this._mapPane,"leaflet-pan-anim"),e=this._getMapPanePos().subtract(t).round(),this._panAnim.run(this._mapPane,e,i.duration||.25,i.easeLinearity)):(this._rawPanBy(t),this.fire("move").fire("moveend"))):this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this):this.fire("moveend");var e},flyTo:function(s,r,t){if(!1===(t=t||{}).animate||!vt)return this.setView(s,r,t);this._stop();var a=this.project(this.getCenter()),h=this.project(s),i=this.getSize(),u=this._zoom;s=j(s),r=void 0===r?u:r;var l=Math.max(i.x,i.y),n=l*this.getZoomScale(u,r),c=h.distanceTo(a)||1,_=1.42,o=_*_;function e(t){var i=(n*n-l*l+(t?-1:1)*o*o*c*c)/(2*(t?n:l)*o*c),e=Math.sqrt(i*i+1)-i;return e<1e-9?-18:Math.log(e)}function d(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=e(0);function f(t){return l*(p(m)*(d(i=m+_*t)/p(i))-d(m))/o;var i}var g=Date.now(),v=(e(1)-m)/_,y=t.duration?1e3*t.duration:1e3*v*.8;return this._moveStart(!0,t.noMoveStart),function t(){var i,e,n=(Date.now()-g)/y,o=(i=n,(1-Math.pow(1-i,1.5))*v);n<=1?(this._flyToFrame=M(t,this),this._move(this.unproject(a.add(h.subtract(a).multiplyBy(f(o)/c)),u),this.getScaleZoom(l/(e=o,l*(p(m)/p(m+_*e))),u),{flyTo:!0})):this._move(s,r)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,i){var e=this._getBoundsCenterZoom(t,i);return this.flyTo(e.center,e.zoom,i)},setMaxBounds:function(t){return(t=N(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var i=this.options.minZoom;return this.options.minZoom=t,this._loaded&&i!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var i=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&i!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,N(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},panInside:function(t,i){var e,n,o=A((i=i||{}).paddingTopLeft||i.padding||[0,0]),s=A(i.paddingBottomRight||i.padding||[0,0]),r=this.getCenter(),a=this.project(r),h=this.project(t),u=this.getPixelBounds(),l=u.getSize().divideBy(2),c=O([u.min.add(o),u.max.subtract(s)]);return c.contains(h)||(this._enforcingBounds=!0,e=a.subtract(h),n=A(h.x+e.x,h.y+e.y),(h.x<c.min.x||h.x>c.max.x)&&(n.x=a.x-e.x,0<e.x?n.x+=l.x-o.x:n.x-=l.x-s.x),(h.y<c.min.y||h.y>c.max.y)&&(n.y=a.y-e.y,0<e.y?n.y+=l.y-o.y:n.y-=l.y-s.y),this.panTo(this.unproject(n),i),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=h({animate:!1,pan:!0},!0===t?{animate:!0}:t);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var e=this.getSize(),n=i.divideBy(2).round(),o=e.divideBy(2).round(),s=n.subtract(o);return s.x||s.y?(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(p(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:e})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=h({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=p(this._handleGeolocationResponse,this),e=p(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,e,t):navigator.geolocation.getCurrentPosition(i,e,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var i=t.code,e=t.message||(1===i?"permission denied":2===i?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:i,message:"Geolocation error: "+e+"."})},_handleGeolocationResponse:function(t){var i,e=new D(t.coords.latitude,t.coords.longitude),n=e.toBounds(2*t.coords.accuracy),o=this._locateOptions;o.setView&&(i=this.getBoundsZoom(n),this.setView(e,o.maxZoom?Math.min(i,o.maxZoom):i));var s={latlng:e,bounds:n,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)},addHandler:function(t,i){if(!i)return this;var e=this[t]=new i(this);return this._handlers.push(e),this.options[t]&&e.enable(),this},remove:function(){if(this._initEvents(!0),this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),ri(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(z(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)ri(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var e=si("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),i||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new R(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,i,e){t=N(t),e=A(e||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(e),u=O(this.project(a,n),this.project(r,n)).getSize(),l=vt?this.options.zoomSnap:1,c=h.x/u.x,_=h.y/u.y,d=i?Math.max(c,_):Math.min(c,_),n=this.getScaleZoom(d,n);return l&&(n=Math.round(n/(l/100))*(l/100),n=i?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new k(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,i){var e=this._getTopLeftPoint(t,i);return new I(e,e.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,i){var e=this.options.crs;return i=void 0===i?this._zoom:i,e.scale(t)/e.scale(i)},getScaleZoom:function(t,i){var e=this.options.crs;i=void 0===i?this._zoom:i;var n=e.zoom(t*e.scale(i));return isNaN(n)?1/0:n},project:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.latLngToPoint(j(t),i)},unproject:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.pointToLatLng(A(t),i)},layerPointToLatLng:function(t){var i=A(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){return this.project(j(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(j(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(N(t))},distance:function(t,i){return this.options.crs.distance(j(t),j(i))},containerPointToLayerPoint:function(t){return A(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return A(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(A(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(j(t)))},mouseEventToContainerPoint:function(t){return Di(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var i=this._container=ni(t);if(!i)throw new Error("Map container not found.");if(i._leaflet_id)throw new Error("Map container is already initialized.");zi(i,"scroll",this._onScroll,this),this._containerId=m(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&vt,ci(t,"leaflet-container"+(bt?" leaflet-touch":"")+(zt?" leaflet-retina":"")+(it?" leaflet-oldie":"")+(ct?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=oi(t,"position");"absolute"!==i&&"relative"!==i&&"fixed"!==i&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),vi(this._mapPane,new k(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(ci(t.markerPane,"leaflet-zoom-hide"),ci(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,i){vi(this._mapPane,new k(0,0));var e=!this._loaded;this._loaded=!0,i=this._limitZoom(i),this.fire("viewprereset");var n=this._zoom!==i;this._moveStart(n,!1)._move(t,i)._moveEnd(n),this.fire("viewreset"),e&&this.fire("load")},_moveStart:function(t,i){return t&&this.fire("zoomstart"),i||this.fire("movestart"),this},_move:function(t,i,e){void 0===i&&(i=this._zoom);var n=this._zoom!==i;return this._zoom=i,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||e&&e.pinch)&&this.fire("zoom",e),this.fire("move",e)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return z(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){vi(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var i=t?Si:zi;i((this._targets[m(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&i(window,"resize",this._onResize,this),vt&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){z(this._resizeRequest),this._resizeRequest=M(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,n=[],o="mouseout"===i||"mouseover"===i,s=t.target||t.srcElement,r=!1;s;){if((e=this._targets[m(s)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){r=!0;break}if(e&&e.listens(i,!0)){if(o&&!Vi(s,t))break;if(n.push(e),o)break}if(s===this._container)break;s=s.parentNode}return n.length||r||o||!Vi(s,t)||(n=[this]),n},_handleDOMEvent:function(t){var i;this._loaded&&!Ui(t)&&("mousedown"!==(i=t.type)&&"keypress"!==i&&"keyup"!==i&&"keydown"!==i||Pi(t.target||t.srcElement),this._fireDOMEvent(t,i))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,e){var n;if("click"===t.type&&((n=h({},t)).type="preclick",this._fireDOMEvent(n,n.type,e)),!t._stopped&&(e=(e||[]).concat(this._findEventTargets(t,i))).length){var o=e[0];"contextmenu"===i&&o.listens(i,!0)&&Ri(t);var s,r={originalEvent:t};"keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type&&(s=o.getLatLng&&(!o._radius||o._radius<=10),r.containerPoint=s?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=s?o.getLatLng():this.layerPointToLatLng(r.layerPoint));for(var a=0;a<e.length;a++)if(e[a].fire(i,r,!0),r.originalEvent._stopped||!1===e[a].options.bubblingMouseEvents&&-1!==v(this._mouseEvents,i))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,i=this._handlers.length;t<i;t++)this._handlers[t].disable()},whenReady:function(t,i){return this._loaded?t.call(i||this,{target:this}):this.on("load",t,i),this},_getMapPanePos:function(){return yi(this._mapPane)||new k(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,i){return(t&&void 0!==i?this._getNewPixelOrigin(t,i):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,i){var e=this.getSize()._divideBy(2);return this.project(t,i)._subtract(e)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return this.project(t,i)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return O([this.project(t.getSouthWest(),i)._subtract(n),this.project(t.getNorthWest(),i)._subtract(n),this.project(t.getSouthEast(),i)._subtract(n),this.project(t.getNorthEast(),i)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,i,e){if(!e)return t;var n=this.project(t,i),o=this.getSize().divideBy(2),s=new I(n.subtract(o),n.add(o)),r=this._getBoundsOffset(s,e,i);return r.round().equals([0,0])?t:this.unproject(n.add(r),i)},_limitOffset:function(t,i){if(!i)return t;var e=this.getPixelBounds(),n=new I(e.min.add(t),e.max.add(t));return t.add(this._getBoundsOffset(n,i))},_getBoundsOffset:function(t,i,e){var n=O(this.project(i.getNorthEast(),e),this.project(i.getSouthWest(),e)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new k(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,i){return 0<t+i?Math.round(t-i)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(i))},_limitZoom:function(t){var i=this.getMinZoom(),e=this.getMaxZoom(),n=vt?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(i,Math.min(e,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){_i(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,i){var e=this._getCenterOffset(t)._trunc();return!(!0!==(i&&i.animate)&&!this.getSize().contains(e))&&(this.panBy(e,i),!0)},_createAnimProxy:function(){var t=this._proxy=si("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var i=ti,e=this._proxy.style[i];gi(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),e===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ri(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),i=this.getZoom();gi(this._proxy,this.project(t,i),this.getZoomScale(i,1))},_catchTransitionEnd:function(t){this._animatingZoom&&0<=t.propertyName.indexOf("transform")&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,i,e){if(this._animatingZoom)return!0;if(e=e||{},!this._zoomAnimated||!1===e.animate||this._nothingToAnimate()||Math.abs(i-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(M(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,e,n){this._mapPane&&(e&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,ci(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:n}),setTimeout(p(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&_i(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),M(function(){this._moveEnd(!0)},this))}});function Yi(t){return new Xi(t)}var Xi=S.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return ci(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(ri(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0<t.screenX&&0<t.screenY&&this._map.getContainer().focus()}});Ki.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var n=this._controlCorners={},o="leaflet-",s=this._controlContainer=si("div",o+"control-container",this._container);function t(t,i){var e=o+t+" "+o+i;n[t+i]=si("div",e,s)}t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)ri(this._controlCorners[t]);ri(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ji=Xi.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,i,e,n){return e<n?-1:n<e?1:0}},initialize:function(t,i,e){for(var n in c(this,e),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,t)this._addLayer(t[n],n);for(n in i)this._addLayer(i[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),(this._map=t).on("zoomend",this._checkDisabledLayers,this);for(var i=0;i<this._layers.length;i++)this._layers[i].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Xi.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,i){return this._addLayer(t,i),this._map?this._update():this},addOverlay:function(t,i){return this._addLayer(t,i,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var i=this._getLayer(m(t));return i&&this._layers.splice(this._layers.indexOf(i),1),this._map?this._update():this},expand:function(){ci(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(ci(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):_i(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return _i(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",i=this._container=si("div",t),e=this.options.collapsed;i.setAttribute("aria-haspopup",!0),Oi(i),Ii(i);var n=this._section=si("section",t+"-list");e&&(this._map.on("click",this.collapse,this),ot||zi(i,{mouseenter:this.expand,mouseleave:this.collapse},this));var o=this._layersLink=si("a",t+"-toggle",i);o.href="#",o.title="Layers",bt?(zi(o,"click",Ni),zi(o,"click",this.expand,this)):zi(o,"focus",this.expand,this),e||this.expand(),this._baseLayersList=si("div",t+"-base",n),this._separator=si("div",t+"-separator",n),this._overlaysList=si("div",t+"-overlays",n),i.appendChild(n)},_getLayer:function(t){for(var i=0;i<this._layers.length;i++)if(this._layers[i]&&m(this._layers[i].layer)===t)return this._layers[i]},_addLayer:function(t,i,e){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:i,overlay:e}),this.options.sortLayers&&this._layers.sort(p(function(t,i){return this.options.sortFunction(t.layer,i.layer,t.name,i.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;ai(this._baseLayersList),ai(this._overlaysList),this._layerControlInputs=[];for(var t,i,e,n=0,o=0;o<this._layers.length;o++)e=this._layers[o],this._addItem(e),i=i||e.overlay,t=t||!e.overlay,n+=e.overlay?0:1;return this.options.hideSingleBase&&(t=t&&1<n,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=i&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var i=this._getLayer(m(t.target)),e=i.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;e&&this._map.fire(e,i)},_createRadioElement:function(t,i){var e='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(i?' checked="checked"':"")+"/>",n=document.createElement("div");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=n):i=this._createRadioElement("leaflet-base-layers_"+m(this),n),this._layerControlInputs.push(i),i.layerId=m(t.layer),zi(i,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("div");return e.appendChild(s),s.appendChild(i),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;0<=s;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,i,e=this._layerControlInputs,n=this._map.getZoom(),o=e.length-1;0<=o;o--)t=e[o],i=this._getLayer(t.layerId).layer,t.disabled=void 0!==i.options.minZoom&&n<i.options.minZoom||void 0!==i.options.maxZoom&&n>i.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),$i=Xi.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=si("div",i+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+"-in",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+"-out",e,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),e},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=si("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),Oi(s),zi(s,"click",Ni),zi(s,"click",o,this),zi(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";_i(this._zoomInButton,i),_i(this._zoomOutButton,i),!this._disabled&&t._zoom!==t.getMinZoom()||ci(this._zoomOutButton,i),!this._disabled&&t._zoom!==t.getMaxZoom()||ci(this._zoomInButton,i)}});Ki.mergeOptions({zoomControl:!0}),Ki.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new $i,this.addControl(this.zoomControl))});var Qi=Xi.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i="leaflet-control-scale",e=si("div",i),n=this.options;return this._addScales(n,i+"-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=si("div",i,e)),t.imperial&&(this._iScale=si("div",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;5280<o?(i=o/5280,e=this._getRoundNum(i),this._updateScale(this._iScale,e+" mi",e/i)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,i,e){t.style.width=Math.round(this.options.maxWidth*e)+"px",t.innerHTML=i},_getRoundNum:function(t){var i=Math.pow(10,(Math.floor(t)+"").length-1),e=t/i;return i*(e=10<=e?10:5<=e?5:3<=e?3:2<=e?2:1)}}),te=Xi.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var i in(t.attributionControl=this)._container=si("div","leaflet-control-attribution"),Oi(this._container),t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(", ")),this._container.innerHTML=e.join(" | ")}}});Ki.mergeOptions({attributionControl:!0}),Ki.addInitHook(function(){this.options.attributionControl&&(new te).addTo(this)});Xi.Layers=Ji,Xi.Zoom=$i,Xi.Scale=Qi,Xi.Attribution=te,Yi.layers=function(t,i,e){return new Ji(t,i,e)},Yi.zoom=function(t){return new $i(t)},Yi.scale=function(t){return new Qi(t)},Yi.attribution=function(t){return new te(t)};var ie=S.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}});ie.addTo=function(t,i){return t.addHandler(i,this),this};var ee,ne={Events:Z},oe=bt?"touchstart mousedown":"mousedown",se={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},re={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},ae=E.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){c(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(zi(this._dragStartTarget,oe,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ae._dragging===this&&this.finishDrag(),Si(this._dragStartTarget,oe,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var i,e;!t._simulated&&this._enabled&&(this._moved=!1,li(this._element,"leaflet-zoom-anim")||ae._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((ae._dragging=this)._preventOutline&&Pi(this._element),xi(),Xt(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=bi(this._element),this._startPoint=new k(i.clientX,i.clientY),this._parentScale=Ti(e),zi(document,re[t.type],this._onMove,this),zi(document,se[t.type],this._onUp,this))))},_onMove:function(t){var i,e;!t._simulated&&this._enabled&&(t.touches&&1<t.touches.length?this._moved=!0:((e=new k((i=t.touches&&1===t.touches.length?t.touches[0]:t).clientX,i.clientY)._subtract(this._startPoint)).x||e.y)&&(Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||(e.x/=this._parentScale.x,e.y/=this._parentScale.y,Ri(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=yi(this._element).subtract(e),ci(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),ci(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,z(this._animRequest),this._lastEvent=t,this._animRequest=M(this._updatePosition,this,!0))))},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),vi(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){for(var t in _i(document.body,"leaflet-dragging"),this._lastTarget&&(_i(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),re)Si(document,re[t],this._onMove,this),Si(document,se[t],this._onUp,this);wi(),Jt(),this._moved&&this._moving&&(z(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,ae._dragging=!1}});function he(t,i){if(!i||!t.length)return t.slice();var e=i*i;return t=function(t,i){var e=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(e);n[0]=n[e-1]=1,function t(i,e,n,o,s){var r,a,h,u=0;for(a=o+1;a<=s-1;a++)h=de(i[a],i[o],i[s],!0),u<h&&(r=a,u=h);n<u&&(e[r]=1,t(i,e,n,o,r),t(i,e,n,r,s))}(t,n,i,0,e-1);var o,s=[];for(o=0;o<e;o++)n[o]&&s.push(t[o]);return s}(t=function(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;n<s;n++)(function(t,i){var e=i.x-t.x,n=i.y-t.y;return e*e+n*n})(t[n],t[o])>i&&(e.push(t[n]),o=n);o<s-1&&e.push(t[s-1]);return e}(t,e),e)}function ue(t,i,e){return Math.sqrt(de(t,i,e,!0))}function le(t,i,e,n,o){var s,r,a,h=n?ee:_e(t,e),u=_e(i,e);for(ee=u;;){if(!(h|u))return[t,i];if(h&u)return!1;a=_e(r=ce(t,i,s=h||u,e,o),e),s===h?(t=r,h=a):(i=r,u=a)}}function ce(t,i,e,n,o){var s,r,a=i.x-t.x,h=i.y-t.y,u=n.min,l=n.max;return 8&e?(s=t.x+a*(l.y-t.y)/h,r=l.y):4&e?(s=t.x+a*(u.y-t.y)/h,r=u.y):2&e?(s=l.x,r=t.y+h*(l.x-t.x)/a):1&e&&(s=u.x,r=t.y+h*(u.x-t.x)/a),new k(s,r,o)}function _e(t,i){var e=0;return t.x<i.min.x?e|=1:t.x>i.max.x&&(e|=2),t.y<i.min.y?e|=4:t.y>i.max.y&&(e|=8),e}function de(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return 0<u&&(1<(o=((t.x-s)*a+(t.y-r)*h)/u)?(s=e.x,r=e.y):0<o&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new k(s,r)}function pe(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function me(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),pe(t)}var fe={simplify:he,pointToSegmentDistance:ue,closestPointOnSegment:function(t,i,e){return de(t,i,e)},clipSegment:le,_getEdgeIntersection:ce,_getBitCode:_e,_sqClosestPointOnSegment:de,isFlat:pe,_flat:me};function ge(t,i,e){for(var n,o,s,r,a,h,u,l=[1,4,2,8],c=0,_=t.length;c<_;c++)t[c]._code=_e(t[c],i);for(s=0;s<4;s++){for(h=l[s],n=[],c=0,o=(_=t.length)-1;c<_;o=c++)r=t[c],a=t[o],r._code&h?a._code&h||((u=ce(a,r,h,i,e))._code=_e(u,i),n.push(u)):(a._code&h&&((u=ce(a,r,h,i,e))._code=_e(u,i),n.push(u)),n.push(r));t=n}return t}var ve,ye={clipPolygon:ge},xe={project:function(t){return new k(t.lng,t.lat)},unproject:function(t){return new D(t.y,t.x)},bounds:new I([-180,-90],[180,90])},we={R:6378137,R_MINOR:6356752.314245179,bounds:new I([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var i=Math.PI/180,e=this.R,n=t.lat*i,o=this.R_MINOR/e,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2),n=-e*Math.log(Math.max(a,1e-10));return new k(t.lng*i*e,n)},unproject:function(t){for(var i,e=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,u=.1;h<15&&1e-7<Math.abs(u);h++)i=s*Math.sin(a),i=Math.pow((1-i)/(1+i),s/2),a+=u=Math.PI/2-2*Math.atan(r*i)-a;return new D(a*e,t.x*e/n)}},Pe={LonLat:xe,Mercator:we,SphericalMercator:V},Le=h({},F,{code:"EPSG:3395",projection:we,transformation:G(ve=.5/(Math.PI*we.R),.5,-ve,.5)}),be=h({},F,{code:"EPSG:4326",projection:xe,transformation:G(1/180,1,-1/180,.5)}),Te=h({},H,{projection:xe,transformation:G(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,i){var e=i.lng-t.lng,n=i.lat-t.lat;return Math.sqrt(e*e+n*n)},infinite:!0});H.Earth=F,H.EPSG3395=Le,H.EPSG3857=Y,H.EPSG900913=X,H.EPSG4326=be,H.Simple=Te;var Me=E.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[m(t)]=this},removeInteractiveTarget:function(t){return delete this._map._targets[m(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var i,e=t.target;e.hasLayer(this)&&(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents&&(i=this.getEvents(),e.on(i,this),this.once("remove",function(){e.off(i,this)},this)),this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this}))}});Ki.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var i=m(t);return this._layers[i]||((this._layers[i]=t)._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var i=m(t);return this._layers[i]&&(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[i],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null),this},hasLayer:function(t){return!!t&&m(t)in this._layers},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},_addLayers:function(t){for(var i=0,e=(t=t?g(t)?t:[t]:[]).length;i<e;i++)this.addLayer(t[i])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[m(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var i=m(t);this._zoomBoundLayers[i]&&(delete this._zoomBoundLayers[i],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,i=-1/0,e=this._getZoomSpan();for(var n in this._zoomBoundLayers)var o=this._zoomBoundLayers[n].options,t=void 0===o.minZoom?t:Math.min(t,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom);this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=t===1/0?void 0:t,e!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var ze=Me.extend({initialize:function(t,i){var e,n;if(c(this,i),this._layers={},t)for(e=0,n=t.length;e<n;e++)this.addLayer(t[e])},addLayer:function(t){var i=this.getLayerId(t);return this._layers[i]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var i=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[i]&&this._map.removeLayer(this._layers[i]),delete this._layers[i],this},hasLayer:function(t){return!!t&&("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var i,e,n=Array.prototype.slice.call(arguments,1);for(i in this._layers)(e=this._layers[i])[t]&&e[t].apply(e,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:m}),Ce=ze.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),ze.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),ze.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new R;for(var i in this._layers){var e=this._layers[i];t.extend(e.getBounds?e.getBounds():e.getLatLng())}return t}}),Se=S.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){c(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,i){var e=this._getIconUrl(t);if(!e){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n=this._createImg(e,i&&"IMG"===i.tagName?i:null);return this._setIconStyles(n,t),n},_setIconStyles:function(t,i){var e=this.options,n=e[i+"Size"];"number"==typeof n&&(n=[n,n]);var o=A(n),s=A("shadow"===i&&e.shadowAnchor||e.iconAnchor||o&&o.divideBy(2,!0));t.className="leaflet-marker-"+i+" "+(e.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),o&&(t.style.width=o.x+"px",t.style.height=o.y+"px")},_createImg:function(t,i){return(i=i||document.createElement("img")).src=t,i},_getIconUrl:function(t){return zt&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var Ze=Se.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return Ze.imagePath||(Ze.imagePath=this._detectIconPath()),(this.options.imagePath||Ze.imagePath)+Se.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=si("div","leaflet-default-icon-path",document.body),i=oi(t,"background-image")||oi(t,"backgroundImage");return document.body.removeChild(t),i=null===i||0!==i.indexOf("url")?"":i.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Ee=ie.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new ae(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),ci(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&_i(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var i,e=this._marker,n=e._map,o=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,r=yi(e._icon),a=n.getPixelBounds(),h=n.getPixelOrigin(),u=O(a.min._subtract(h).add(s),a.max._subtract(h).subtract(s));u.contains(r)||(i=A((Math.max(u.max.x,r.x)-u.max.x)/(a.max.x-u.max.x)-(Math.min(u.min.x,r.x)-u.min.x)/(a.min.x-u.min.x),(Math.max(u.max.y,r.y)-u.max.y)/(a.max.y-u.max.y)-(Math.min(u.min.y,r.y)-u.min.y)/(a.min.y-u.min.y)).multiplyBy(o),n.panBy(i,{animate:!1}),this._draggable._newPos._add(i),this._draggable._startPos._add(i),vi(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=M(this._adjustPan.bind(this,t)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(z(this._panRequest),this._panRequest=M(this._adjustPan.bind(this,t)))},_onDrag:function(t){var i=this._marker,e=i._shadow,n=yi(i._icon),o=i._map.layerPointToLatLng(n);e&&vi(e,n),i._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,i.fire("move",t).fire("drag",t)},_onDragEnd:function(t){z(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),ke=Me.extend({options:{icon:new Ze,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,i){c(this,i),this._latlng=j(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var i=this._latlng;return this._latlng=j(t),this.update(),this.fire("move",{oldLatLng:i,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){var t;return this._icon&&this._map&&(t=this._map.latLngToLayerPoint(this._latlng).round(),this._setPos(t)),this},_initIcon:function(){var t=this.options,i="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),e=t.icon.createIcon(this._icon),n=!1;e!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(e.title=t.title),"IMG"===e.tagName&&(e.alt=t.alt||"")),ci(e,i),t.keyboard&&(e.tabIndex="0"),this._icon=e,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var o=t.icon.createShadow(this._shadow),s=!1;o!==this._shadow&&(this._removeShadow(),s=!0),o&&(ci(o,i),o.alt=""),this._shadow=o,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),ri(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ri(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&vi(this._icon,t),this._shadow&&vi(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(i)},_initInteraction:function(){var t;this.options.interactive&&(ci(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Ee&&(t=this.options.draggable,this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Ee(this),t&&this.dragging.enable()))},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&mi(this._icon,t),this._shadow&&mi(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var Be=Me.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return c(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),Ae=Be.extend({options:{fill:!0,radius:10},initialize:function(t,i){c(this,i),this._latlng=j(t),this._radius=this.options.radius},setLatLng:function(t){var i=this._latlng;return this._latlng=j(t),this.redraw(),this.fire("move",{oldLatLng:i,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var i=t&&t.radius||this._radius;return Be.prototype.setStyle.call(this,t),this.setRadius(i),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,i=this._radiusY||t,e=this._clickTolerance(),n=[t+e,i+e];this._pxBounds=new I(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var Ie=Ae.extend({initialize:function(t,i,e){if("number"==typeof i&&(i=h({},e,{radius:i})),c(this,i),this._latlng=j(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new R(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Be.prototype.setStyle,_project:function(){var t,i,e,n,o,s,r,a,h=this._latlng.lng,u=this._latlng.lat,l=this._map,c=l.options.crs;c.distance===F.distance?(t=Math.PI/180,i=this._mRadius/F.R/t,e=l.project([u+i,h]),n=l.project([u-i,h]),o=e.add(n).divideBy(2),s=l.unproject(o).lat,r=Math.acos((Math.cos(i*t)-Math.sin(u*t)*Math.sin(s*t))/(Math.cos(u*t)*Math.cos(s*t)))/t,!isNaN(r)&&0!==r||(r=i/Math.cos(Math.PI/180*u)),this._point=o.subtract(l.getPixelOrigin()),this._radius=isNaN(r)?0:o.x-l.project([s,h-r]).x,this._radiusY=o.y-e.y):(a=c.unproject(c.project(this._latlng).subtract([this._mRadius,0])),this._point=l.latLngToLayerPoint(this._latlng),this._radius=this._point.x-l.latLngToLayerPoint(a).x),this._updateBounds()}});var Oe=Be.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,i){c(this,i),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var i,e,n=1/0,o=null,s=de,r=0,a=this._parts.length;r<a;r++)for(var h=this._parts[r],u=1,l=h.length;u<l;u++){var c=s(t,i=h[u-1],e=h[u],!0);c<n&&(n=c,o=s(t,i,e))}return o&&(o.distance=Math.sqrt(n)),o},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,i,e,n,o,s,r,a=this._rings[0],h=a.length;if(!h)return null;for(i=t=0;t<h-1;t++)i+=a[t].distanceTo(a[t+1])/2;if(0===i)return this._map.layerPointToLatLng(a[0]);for(n=t=0;t<h-1;t++)if(o=a[t],s=a[t+1],i<(n+=e=o.distanceTo(s)))return r=(n-i)/e,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,i){return i=i||this._defaultShape(),t=j(t),i.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new R,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return pe(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var i=[],e=pe(t),n=0,o=t.length;n<o;n++)e?(i[n]=j(t[n]),this._bounds.extend(i[n])):i[n]=this._convertLatLngs(t[n]);return i},_project:function(){var t=new I;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),i=new k(t,t);this._pxBounds=new I([this._rawPxBounds.min.subtract(i),this._rawPxBounds.max.add(i)])},_projectLatlngs:function(t,i,e){var n,o,s=t[0]instanceof D,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),e.extend(o[n]);i.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],i,e)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,e,n,o,s=this._parts,r=0,a=0,h=this._rings.length;r<h;r++)for(i=0,e=(o=this._rings[r]).length;i<e-1;i++)(n=le(o[i],o[i+1],t,i,!0))&&(s[a]=s[a]||[],s[a].push(n[0]),n[1]===o[i+1]&&i!==e-2||(s[a].push(n[1]),a++))},_simplifyPoints:function(){for(var t=this._parts,i=this.options.smoothFactor,e=0,n=t.length;e<n;e++)t[e]=he(t[e],i)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,i){var e,n,o,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(e=0,s=this._parts.length;e<s;e++)for(n=0,o=(r=(a=this._parts[e]).length)-1;n<r;o=n++)if((i||0!==n)&&ue(t,a[o],a[n])<=h)return!0;return!1}});Oe._flat=me;var Re=Oe.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,i,e,n,o,s,r,a,h,u=this._rings[0],l=u.length;if(!l)return null;for(t=s=r=a=0,i=l-1;t<l;i=t++)e=u[t],n=u[i],o=e.y*n.x-n.y*e.x,r+=(e.x+n.x)*o,a+=(e.y+n.y)*o,s+=3*o;return h=0===s?u[0]:[r/s,a/s],this._map.layerPointToLatLng(h)},_convertLatLngs:function(t){var i=Oe.prototype._convertLatLngs.call(this,t),e=i.length;return 2<=e&&i[0]instanceof D&&i[0].equals(i[e-1])&&i.pop(),i},_setLatLngs:function(t){Oe.prototype._setLatLngs.call(this,t),pe(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return pe(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,e=new k(i,i),t=new I(t.min.subtract(e),t.max.add(e));if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;o<s;o++)(n=ge(this._rings[o],t,!0)).length&&this._parts.push(n)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var i,e,n,o,s,r,a,h,u=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(i=this._parts[o]).length)-1;s<h;r=s++)e=i[s],n=i[r],e.y>t.y!=n.y>t.y&&t.x<(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||Oe.prototype._containsPoint.call(this,t,!0)}});var Ne=Ce.extend({initialize:function(t,i){c(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=g(t)?t:t.features;if(o){for(i=0,e=o.length;i<e;i++)((n=o[i]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=De(t,s);return r?(r.feature=qe(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=h({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(i){return this.eachLayer(function(t){this._setLayerStyle(t,i)},this)},_setLayerStyle:function(t,i){t.setStyle&&("function"==typeof i&&(i=i(t.feature)),t.setStyle(i))}});function De(t,i){var e,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],u=i&&i.pointToLayer,l=i&&i.coordsToLatLng||We;if(!a&&!r)return null;switch(r.type){case"Point":return je(u,t,e=l(a),i);case"MultiPoint":for(o=0,s=a.length;o<s;o++)e=l(a[o]),h.push(je(u,t,e,i));return new Ce(h);case"LineString":case"MultiLineString":return n=He(a,"LineString"===r.type?0:1,l),new Oe(n,i);case"Polygon":case"MultiPolygon":return n=He(a,"Polygon"===r.type?1:2,l),new Re(n,i);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=De({geometry:r.geometries[o],type:"Feature",properties:t.properties},i);c&&h.push(c)}return new Ce(h);default:throw new Error("Invalid GeoJSON object.")}}function je(t,i,e,n){return t?t(i,e):new ke(e,n&&n.markersInheritOptions&&n)}function We(t){return new D(t[1],t[0],t[2])}function He(t,i,e){for(var n,o=[],s=0,r=t.length;s<r;s++)n=i?He(t[s],i-1,e):(e||We)(t[s]),o.push(n);return o}function Fe(t,i){return i="number"==typeof i?i:6,void 0!==t.alt?[r(t.lng,i),r(t.lat,i),r(t.alt,i)]:[r(t.lng,i),r(t.lat,i)]}function Ue(t,i,e,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(i?Ue(t[s],i-1,e,n):Fe(t[s],n));return!i&&e&&o.push(o[0]),o}function Ve(t,i){return t.feature?h({},t.feature,{geometry:i}):qe(i)}function qe(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Ge={toGeoJSON:function(t){return Ve(this,{type:"Point",coordinates:Fe(this.getLatLng(),t)})}};function Ke(t,i){return new Ne(t,i)}ke.include(Ge),Ie.include(Ge),Ae.include(Ge),Oe.include({toGeoJSON:function(t){var i=!pe(this._latlngs);return Ve(this,{type:(i?"Multi":"")+"LineString",coordinates:Ue(this._latlngs,i?1:0,!1,t)})}}),Re.include({toGeoJSON:function(t){var i=!pe(this._latlngs),e=i&&!pe(this._latlngs[0]),n=Ue(this._latlngs,e?2:i?1:0,!0,t);return i||(n=[n]),Ve(this,{type:(e?"Multi":"")+"Polygon",coordinates:n})}}),ze.include({toMultiPoint:function(i){var e=[];return this.eachLayer(function(t){e.push(t.toGeoJSON(i).geometry.coordinates)}),Ve(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(n){var t=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===t)return this.toMultiPoint(n);var o="GeometryCollection"===t,s=[];return this.eachLayer(function(t){var i,e;t.toGeoJSON&&(i=t.toGeoJSON(n),o?s.push(i.geometry):"FeatureCollection"===(e=qe(i)).type?s.push.apply(s,e.features):s.push(e))}),o?Ve(this,{geometries:s,type:"GeometryCollection"}):{type:"FeatureCollection",features:s}}});var Ye=Ke,Xe=Me.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,i,e){this._url=t,this._bounds=N(i),c(this,e)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(ci(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ri(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&hi(this._image),this},bringToBack:function(){return this._map&&ui(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=N(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,i=this._image=t?this._url:si("img");ci(i,"leaflet-image-layer"),this._zoomAnimated&&ci(i,"leaflet-zoom-animated"),this.options.className&&ci(i,this.options.className),i.onselectstart=a,i.onmousemove=a,i.onload=p(this.fire,this,"load"),i.onerror=p(this._overlayOnError,this,"error"),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=i.src:(i.src=this._url,i.alt=this.options.alt)},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),e=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;gi(this._image,e,i)},_reset:function(){var t=this._image,i=new I(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),e=i.getSize();vi(t,i.min),t.style.width=e.x+"px",t.style.height=e.y+"px"},_updateOpacity:function(){mi(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),Je=Xe.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1},_initImage:function(){var t="VIDEO"===this._url.tagName,i=this._image=t?this._url:si("video");if(ci(i,"leaflet-image-layer"),this._zoomAnimated&&ci(i,"leaflet-zoom-animated"),this.options.className&&ci(i,this.options.className),i.onselectstart=a,i.onmousemove=a,i.onloadeddata=p(this.fire,this,"load"),t){for(var e=i.getElementsByTagName("source"),n=[],o=0;o<e.length;o++)n.push(e[o].src);this._url=0<e.length?n:[i.src]}else{g(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(i.style,"objectFit")&&(i.style.objectFit="fill"),i.autoplay=!!this.options.autoplay,i.loop=!!this.options.loop,i.muted=!!this.options.muted;for(var s=0;s<this._url.length;s++){var r=si("source");r.src=this._url[s],i.appendChild(r)}}}});var $e=Xe.extend({_initImage:function(){var t=this._image=this._url;ci(t,"leaflet-image-layer"),this._zoomAnimated&&ci(t,"leaflet-zoom-animated"),this.options.className&&ci(t,this.options.className),t.onselectstart=a,t.onmousemove=a}});var Qe=Me.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,i){c(this,t),this._source=i},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&mi(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&mi(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(mi(this._container,0),this._removeTimeout=setTimeout(p(ri,void 0,this._container),200)):ri(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=j(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&hi(this._container),this},bringToBack:function(){return this._map&&ui(this._container),this},_prepareOpen:function(t,i,e){if(i instanceof Me||(e=i,i=t),i instanceof Ce)for(var n in t._layers){i=t._layers[n];break}if(!e)if(i.getCenter)e=i.getCenter();else{if(!i.getLatLng)throw new Error("Unable to get source layer LatLng.");e=i.getLatLng()}return this._source=i,this.update(),e},_updateContent:function(){if(this._content){var t=this._contentNode,i="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof i)t.innerHTML=i;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(i)}this.fire("contentupdate")}},_updatePosition:function(){var t,i,e,n,o;this._map&&(t=this._map.latLngToLayerPoint(this._latlng),i=A(this.options.offset),e=this._getAnchor(),this._zoomAnimated?vi(this._container,t.add(e)):i=i.add(t).add(e),n=this._containerBottom=-i.y,o=this._containerLeft=-Math.round(this._containerWidth/2)+i.x,this._container.style.bottom=n+"px",this._container.style.left=o+"px")},_getAnchor:function(){return[0,0]}}),tn=Qe.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){Qe.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Be||this._source.on("preclick",Ai))},onRemove:function(t){Qe.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Be||this._source.off("preclick",Ai))},getEvents:function(){var t=Qe.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t,i="leaflet-popup",e=this._container=si("div",i+" "+(this.options.className||"")+" leaflet-zoom-animated"),n=this._wrapper=si("div",i+"-content-wrapper",e);this._contentNode=si("div",i+"-content",n),Oi(e),Ii(this._contentNode),zi(e,"contextmenu",Ai),this._tipContainer=si("div",i+"-tip-container",e),this._tip=si("div",i+"-tip",this._tipContainer),this.options.closeButton&&((t=this._closeButton=si("a",i+"-close-button",e)).href="#close",t.innerHTML="&#215;",zi(t,"click",this._onCloseButtonClick,this))},_updateLayout:function(){var t=this._contentNode,i=t.style;i.width="",i.whiteSpace="nowrap";var e=t.offsetWidth,e=Math.min(e,this.options.maxWidth);e=Math.max(e,this.options.minWidth),i.width=e+1+"px",i.whiteSpace="",i.height="";var n=t.offsetHeight,o=this.options.maxHeight,s="leaflet-popup-scrolled";o&&o<n?(i.height=o+"px",ci(t,s)):_i(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();vi(this._container,i.add(e))},_adjustPan:function(){var t,i,e,n,o,s,r,a,h,u,l,c;this.options.autoPan&&(this._map._panAnim&&this._map._panAnim.stop(),t=this._map,i=parseInt(oi(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+i,n=this._containerWidth,(o=new k(this._containerLeft,-e-this._containerBottom))._add(yi(this._container)),s=t.layerPointToContainerPoint(o),r=A(this.options.autoPanPadding),a=A(this.options.autoPanPaddingTopLeft||r),h=A(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),c=l=0,s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c]))},_onCloseButtonClick:function(t){this._close(),Ni(t)},_getAnchor:function(){return A(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Ki.mergeOptions({closePopupOnClick:!0}),Ki.include({openPopup:function(t,i,e){return t instanceof tn||(t=new tn(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Me.include({bindPopup:function(t,i){return t instanceof tn?(c(t,i),(this._popup=t)._source=this):(this._popup&&!i||(this._popup=new tn(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){return this._popup&&this._map&&(i=this._popup._prepareOpen(this,t,i),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(Ni(t),i instanceof Be?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var en=Qe.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){Qe.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){Qe.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=Qe.prototype.getEvents.call(this);return bt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=si("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i,e=this._map,n=this._container,o=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),r=this.options.direction,a=n.offsetWidth,h=n.offsetHeight,u=A(this.options.offset),l=this._getAnchor(),c="top"===r?(i=a/2,h):"bottom"===r?(i=a/2,0):(i="center"===r?a/2:"right"===r?0:"left"===r?a:s.x<o.x?(r="right",0):(r="left",a+2*(u.x+l.x)),h/2);t=t.subtract(A(i,c,!0)).add(u).add(l),_i(n,"leaflet-tooltip-right"),_i(n,"leaflet-tooltip-left"),_i(n,"leaflet-tooltip-top"),_i(n,"leaflet-tooltip-bottom"),ci(n,"leaflet-tooltip-"+r),vi(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&mi(this._container,t)},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(i)},_getAnchor:function(){return A(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Ki.include({openTooltip:function(t,i,e){return t instanceof en||(t=new en(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Me.include({bindTooltip:function(t,i){return t instanceof en?(c(t,i),(this._tooltip=t)._source=this):(this._tooltip&&!i||(this._tooltip=new en(i,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){var i,e;!t&&this._tooltipHandlersAdded||(i=t?"off":"on",e={remove:this.closeTooltip,move:this._moveTooltip},this._tooltip.options.permanent?e.add=this._openTooltip:(e.mouseover=this._openTooltip,e.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(e.mousemove=this._moveTooltip),bt&&(e.click=this._openTooltip)),this[i](e),this._tooltipHandlersAdded=!t)},openTooltip:function(t,i){return this._tooltip&&this._map&&(i=this._tooltip._prepareOpen(this,t,i),this._map.openTooltip(this._tooltip,i),this._tooltip.options.interactive&&this._tooltip._container&&(ci(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(_i(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){var i=t.layer||t.target;this._tooltip&&this._map&&this.openTooltip(i,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var i,e,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(i=this._map.mouseEventToContainerPoint(t.originalEvent),e=this._map.containerPointToLayerPoint(i),n=this._map.layerPointToLatLng(e)),this._tooltip.setLatLng(n)}});var nn=Se.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var i,e=t&&"DIV"===t.tagName?t:document.createElement("div"),n=this.options;return n.html instanceof Element?(ai(e),e.appendChild(n.html)):e.innerHTML=!1!==n.html?n.html:"",n.bgPos&&(i=A(n.bgPos),e.style.backgroundPosition=-i.x+"px "+-i.y+"px"),this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});Se.Default=Ze;var on=Me.extend({options:{tileSize:256,opacity:1,updateWhenIdle:yt,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){c(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),ri(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(hi(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ui(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=n(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof k?t:new k(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var i,e=this.getPane().children,n=-t(-1/0,1/0),o=0,s=e.length;o<s;o++)i=e[o].style.zIndex,e[o]!==this._container&&i&&(n=t(n,+i));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!it){mi(this._container,this.options.opacity);var t=+new Date,i=!1,e=!1;for(var n in this._tiles){var o,s=this._tiles[n];s.current&&s.loaded&&(o=Math.min(1,(t-s.loaded)/200),mi(s.el,o),o<1?i=!0:(s.active?e=!0:this._onOpaqueTile(s),s.active=!0))}e&&!this._noPrune&&this._pruneTiles(),i&&(z(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this))}},_onOpaqueTile:a,_initContainer:function(){this._container||(this._container=si("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,i=this.options.maxZoom;if(void 0!==t){for(var e in this._levels)e=Number(e),this._levels[e].el.children.length||e===t?(this._levels[e].el.style.zIndex=i-Math.abs(t-e),this._onUpdateLevel(e)):(ri(this._levels[e].el),this._removeTilesAtZoom(e),this._onRemoveLevel(e),delete this._levels[e]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=si("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=i,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),a(n.el.offsetWidth),this._onCreateLevel(n)),this._level=n}},_onUpdateLevel:a,_onRemoveLevel:a,_onCreateLevel:a,_pruneTiles:function(){if(this._map){var t,i,e,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles){(e=this._tiles[t]).current&&!e.active&&(i=e.coords,this._retainParent(i.x,i.y,i.z,i.z-5)||this._retainChildren(i.x,i.y,i.z,i.z+2))}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var i in this._tiles)this._tiles[i].coords.z===t&&this._removeTile(i)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)ri(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,i,e,n){var o=Math.floor(t/2),s=Math.floor(i/2),r=e-1,a=new k(+o,+s);a.z=+r;var h=this._tileCoordsToKey(a),u=this._tiles[h];return u&&u.active?u.retain=!0:(u&&u.loaded&&(u.retain=!0),n<r&&this._retainParent(o,s,r,n))},_retainChildren:function(t,i,e,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*i;s<2*i+2;s++){var r=new k(o,s);r.z=e+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),e+1<n&&this._retainChildren(o,s,e+1,n))}},_resetView:function(t){var i=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),i,i)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var i=this.options;return void 0!==i.minNativeZoom&&t<i.minNativeZoom?i.minNativeZoom:void 0!==i.maxNativeZoom&&i.maxNativeZoom<t?i.maxNativeZoom:t},_setView:function(t,i,e,n){var o=Math.round(i),o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o),s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),e||this._pruneTiles(),this._noPrune=!!e),this._setZoomTransforms(t,i)},_setZoomTransforms:function(t,i){for(var e in this._levels)this._setZoomTransform(this._levels[e],t,i)},_setZoomTransform:function(t,i,e){var n=this._map.getZoomScale(e,t.zoom),o=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(i,e)).round();vt?gi(t.el,o,n):vi(t.el,o)},_resetGrid:function(){var t=this._map,i=t.options.crs,e=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=i.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,i.wrapLng[0]],n).x/e.x),Math.ceil(t.project([0,i.wrapLng[1]],n).x/e.y)],this._wrapY=i.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([i.wrapLat[0],0],n).y/e.x),Math.ceil(t.project([i.wrapLat[1],0],n).y/e.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var i=this._map,e=i._animatingZoom?Math.max(i._animateToZoom,i.getZoom()):i.getZoom(),n=i.getZoomScale(e,this._tileZoom),o=i.project(t,this._tileZoom).floor(),s=i.getSize().divideBy(2*n);return new I(o.subtract(s),o.add(s))},_update:function(t){var i=this._map;if(i){var e=this._clampZoom(i.getZoom());if(void 0===t&&(t=i.getCenter()),void 0!==this._tileZoom){var n=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(n),s=o.getCenter(),r=[],a=this.options.keepBuffer,h=new I(o.getBottomLeft().subtract([a,-a]),o.getTopRight().add([a,-a]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var u in this._tiles){var l=this._tiles[u].coords;l.z===this._tileZoom&&h.contains(new k(l.x,l.y))||(this._tiles[u].current=!1)}if(1<Math.abs(e-this._tileZoom))this._setView(t,e);else{for(var c=o.min.y;c<=o.max.y;c++)for(var _=o.min.x;_<=o.max.x;_++){var d,p=new k(_,c);p.z=this._tileZoom,this._isValidTile(p)&&((d=this._tiles[this._tileCoordsToKey(p)])?d.current=!0:r.push(p))}if(r.sort(function(t,i){return t.distanceTo(s)-i.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));for(var m=document.createDocumentFragment(),_=0;_<r.length;_++)this._addTile(r[_],m);this._level.el.appendChild(m)}}}}},_isValidTile:function(t){var i=this._map.options.crs;if(!i.infinite){var e=this._globalTileRange;if(!i.wrapLng&&(t.x<e.min.x||t.x>e.max.x)||!i.wrapLat&&(t.y<e.min.y||t.y>e.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return N(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e);return[i.unproject(n,t.z),i.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),e=new R(i[0],i[1]);return this.options.noWrap||(e=this._map.wrapLatLngBounds(e)),e},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),e=new k(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(ri(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){ci(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=a,t.onmousemove=a,it&&this.options.opacity<1&&mi(t,this.options.opacity),ot&&!st&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var e=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),p(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&M(p(this._tileReady,this,t,null,o)),vi(o,e),this._tiles[n]={el:o,coords:t,current:!0},i.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,i,e){i&&this.fire("tileerror",{error:i,tile:e,coords:t});var n=this._tileCoordsToKey(t);(e=this._tiles[n])&&(e.loaded=+new Date,this._map._fadeAnimated?(mi(e.el,0),z(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this)):(e.active=!0,this._pruneTiles()),i||(ci(e.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:e.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),it||!this._map._fadeAnimated?M(this._pruneTiles,this):setTimeout(p(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new k(this._wrapX?o(t.x,this._wrapX):t.x,this._wrapY?o(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new I(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var sn=on.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=c(this,i)).detectRetina&&zt&&0<i.maxZoom&&(i.tileSize=Math.floor(i.tileSize/2),i.zoomReverse?(i.zoomOffset--,i.minZoom++):(i.zoomOffset++,i.maxZoom--),i.minZoom=Math.max(0,i.minZoom)),"string"==typeof i.subdomains&&(i.subdomains=i.subdomains.split("")),ot||this.on("tileunload",this._onTileRemove)},setUrl:function(t,i){return this._url===t&&void 0===i&&(i=!0),this._url=t,i||this.redraw(),this},createTile:function(t,i){var e=document.createElement("img");return zi(e,"load",p(this._tileOnLoad,this,i,e)),zi(e,"error",p(this._tileOnError,this,i,e)),!this.options.crossOrigin&&""!==this.options.crossOrigin||(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),e.alt="",e.setAttribute("role","presentation"),e.src=this.getTileUrl(t),e},getTileUrl:function(t){var i,e={r:zt?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};return this._map&&!this._map.options.crs.infinite&&(i=this._globalTileRange.max.y-t.y,this.options.tms&&(e.y=i),e["-y"]=i),f(this._url,h(e,this.options))},_tileOnLoad:function(t,i){it?setTimeout(p(t,this,null,i),0):t(null,i)},_tileOnError:function(t,i,e){var n=this.options.errorTileUrl;n&&i.getAttribute("src")!==n&&(i.src=n),t(e,i)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,i=this.options.maxZoom;return this.options.zoomReverse&&(t=i-t),t+this.options.zoomOffset},_getSubdomain:function(t){var i=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var t,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=a,i.onerror=a,i.complete||(i.src=y,ri(i),delete this._tiles[t]))},_removeTile:function(t){var i=this._tiles[t];if(i)return at||i.el.setAttribute("src",y),on.prototype._removeTile.call(this,t)},_tileReady:function(t,i,e){if(this._map&&(!e||e.getAttribute("src")!==y))return on.prototype._tileReady.call(this,t,i,e)}});function rn(t,i){return new sn(t,i)}var an=sn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,i){this._url=t;var e=h({},this.defaultWmsParams);for(var n in i)n in this.options||(e[n]=i[n]);var o=(i=c(this,i)).detectRetina&&zt?2:1,s=this.getTileSize();e.width=s.x*o,e.height=s.y*o,this.wmsParams=e},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=1.3<=this._wmsVersion?"crs":"srs";this.wmsParams[i]=this._crs.code,sn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToNwSe(t),e=this._crs,n=O(e.project(i[0]),e.project(i[1])),o=n.min,s=n.max,r=(1.3<=this._wmsVersion&&this._crs===be?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=sn.prototype.getTileUrl.call(this,t);return a+_(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,i){return h(this.wmsParams,t),i||this.redraw(),this}});sn.WMS=an,rn.wms=function(t,i){return new an(t,i)};var hn=Me.extend({options:{padding:.1,tolerance:0},initialize:function(t){c(this,t),m(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&ci(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,i){var e=this._map.getZoomScale(i,this._zoom),n=yi(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,i),r=this._map.project(t,i).subtract(s),a=o.multiplyBy(-e).add(n).add(o).subtract(r);vt?gi(this._container,a,e):vi(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,i=this._map.getSize(),e=this._map.containerPointToLayerPoint(i.multiplyBy(-t)).round();this._bounds=new I(e,e.add(i.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),un=hn.extend({getEvents:function(){var t=hn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){hn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");zi(t,"mousemove",this._onMouseMove,this),zi(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),zi(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){z(this._redrawRequest),delete this._ctx,ri(this._container),Si(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){var t,i,e,n;this._map._animatingZoom&&this._bounds||(hn.prototype._update.call(this),t=this._bounds,i=this._container,e=t.getSize(),n=zt?2:1,vi(i,t.min),i.width=n*e.x,i.height=n*e.y,i.style.width=e.x+"px",i.style.height=e.y+"px",zt&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update"))},_reset:function(){hn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t);var i=(this._layers[m(t)]=t)._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=i),this._drawLast=i,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var i=t._order,e=i.next,n=i.prev;e?e.prev=n:this._drawLast=n,n?n.next=e:this._drawFirst=e,delete t._order,delete this._layers[m(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){for(var i,e=t.options.dashArray.split(/[, ]+/),n=[],o=0;o<e.length;o++){if(i=Number(e[o]),isNaN(i))return;n.push(i)}t.options._dashArray=n}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||M(this._redraw,this))},_extendRedrawBounds:function(t){var i;t._pxBounds&&(i=(t.options.weight||0)+1,this._redrawBounds=this._redrawBounds||new I,this._redrawBounds.extend(t._pxBounds.min.subtract([i,i])),this._redrawBounds.extend(t._pxBounds.max.add([i,i])))},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t,i=this._redrawBounds;i?(t=i.getSize(),this._ctx.clearRect(i.min.x,i.min.y,t.x,t.y)):(this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore())},_draw:function(){var t,i,e=this._redrawBounds;this._ctx.save(),e&&(i=e.getSize(),this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()),this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,i){if(this._drawing){var e,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),e=0;e<a;e++){for(n=0,o=r[e].length;n<o;n++)s=r[e][n],h[n?"lineTo":"moveTo"](s.x,s.y);i&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){var i,e,n,o;this._drawing&&!t._empty()&&(i=t._point,e=this._ctx,n=Math.max(Math.round(t._radius),1),1!=(o=(Math.max(Math.round(t._radiusY),1)||n)/n)&&(e.save(),e.scale(1,o)),e.beginPath(),e.arc(i.x,i.y/o,n,0,2*Math.PI,!1),1!=o&&e.restore(),this._fillStroke(e,t))},_fillStroke:function(t,i){var e=i.options;e.fill&&(t.globalAlpha=e.fillOpacity,t.fillStyle=e.fillColor||e.color,t.fill(e.fillRule||"evenodd")),e.stroke&&0!==e.weight&&(t.setLineDash&&t.setLineDash(i.options&&i.options._dashArray||[]),t.globalAlpha=e.opacity,t.lineWidth=e.weight,t.strokeStyle=e.color,t.lineCap=e.lineCap,t.lineJoin=e.lineJoin,t.stroke())},_onClick:function(t){for(var i,e,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(n)&&(("click"===t.type||"preclick"!==t.type)&&this._map._draggableMoved(i)||(e=i));e&&(Fi(t),this._fireEvent([e],t))},_onMouseMove:function(t){var i;!this._map||this._map.dragging.moving()||this._map._animatingZoom||(i=this._map.mouseEventToLayerPoint(t),this._handleMouseHover(t,i))},_handleMouseOut:function(t){var i=this._hoveredLayer;i&&(_i(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,i){if(!this._mouseHoverThrottled){for(var e,n,o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(i)&&(n=e);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(ci(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(p(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(t,i,e){this._map._fireDOMEvent(i,e||i.type,t)},_bringToFront:function(t){var i,e,n=t._order;n&&(i=n.next,e=n.prev,i&&((i.prev=e)?e.next=i:i&&(this._drawFirst=i),n.prev=this._drawLast,(this._drawLast.next=n).next=null,this._drawLast=n,this._requestRedraw(t)))},_bringToBack:function(t){var i,e,n=t._order;n&&(i=n.next,(e=n.prev)&&((e.next=i)?i.prev=e:e&&(this._drawLast=e),n.prev=null,n.next=this._drawFirst,this._drawFirst.prev=n,this._drawFirst=n,this._requestRedraw(t)))}});function ln(t){return St?new un(t):null}var cn=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),_n={_initContainer:function(){this._container=si("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(hn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=cn("shape");ci(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=cn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[m(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;ri(i),t.removeInteractiveTarget(i),delete this._layers[m(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i=i||(t._stroke=cn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=g(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=n.lineCap.replace("butt","flat"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e=e||(t._fill=cn("fill")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+e+","+n+" 0,23592600")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){hi(t._container)},_bringToBack:function(t){ui(t._container)}},dn=Et?cn:J,pn=hn.extend({getEvents:function(){var t=hn.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=dn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=dn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ri(this._container),Si(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){var t,i,e;this._map._animatingZoom&&this._bounds||(hn.prototype._update.call(this),i=(t=this._bounds).getSize(),e=this._container,this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute("width",i.x),e.setAttribute("height",i.y)),vi(e,t.min),e.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update"))},_initPath:function(t){var i=t._path=dn("path");t.options.className&&ci(i,t.options.className),t.options.interactive&&ci(i,"leaflet-interactive"),this._updateStyle(t),this._layers[m(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ri(t._path),t.removeInteractiveTarget(t._path),delete this._layers[m(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute("stroke",e.color),i.setAttribute("stroke-opacity",e.opacity),i.setAttribute("stroke-width",e.weight),i.setAttribute("stroke-linecap",e.lineCap),i.setAttribute("stroke-linejoin",e.lineJoin),e.dashArray?i.setAttribute("stroke-dasharray",e.dashArray):i.removeAttribute("stroke-dasharray"),e.dashOffset?i.setAttribute("stroke-dashoffset",e.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),e.fill?(i.setAttribute("fill",e.fillColor||e.color),i.setAttribute("fill-opacity",e.fillOpacity),i.setAttribute("fill-rule",e.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,$(t._parts,i))},_updateCircle:function(t){var i=t._point,e=Math.max(Math.round(t._radius),1),n="a"+e+","+(Math.max(Math.round(t._radiusY),1)||e)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(i.x-e)+","+i.y+n+2*e+",0 "+n+2*-e+",0 ";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){hi(t._path)},_bringToBack:function(t){ui(t._path)}});function mn(t){return Zt||Et?new pn(t):null}Et&&pn.include(_n),Ki.include({getRenderer:function(t){var i=(i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=this._createRenderer({pane:t}),this._paneRenderers[t]=i),i},_createRenderer:function(t){return this.options.preferCanvas&&ln(t)||mn(t)}});var fn=Re.extend({initialize:function(t,i){Re.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=N(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});pn.create=dn,pn.pointsToPath=$,Ne.geometryToLayer=De,Ne.coordsToLatLng=We,Ne.coordsToLatLngs=He,Ne.latLngToCoords=Fe,Ne.latLngsToCoords=Ue,Ne.getFeature=Ve,Ne.asFeature=qe,Ki.mergeOptions({boxZoom:!0});var gn=ie.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){zi(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Si(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ri(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),Xt(),xi(),this._startPoint=this._map.mouseEventToContainerPoint(t),zi(document,{contextmenu:Ni,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=si("div","leaflet-zoom-box",this._container),ci(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new I(this._point,this._startPoint),e=i.getSize();vi(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(ri(this._box),_i(this._container,"leaflet-crosshair")),Jt(),wi(),Si(document,{contextmenu:Ni,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){var i;1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(p(this._resetState,this),0),i=new R(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})))},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});Ki.addInitHook("addHandler","boxZoom",gn),Ki.mergeOptions({doubleClickZoom:!0});var vn=ie.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;"center"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});Ki.addInitHook("addHandler","doubleClickZoom",vn),Ki.mergeOptions({dragging:!0,inertia:!st,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var yn=ie.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new ae(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),ci(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){_i(this._map._container,"leaflet-grab"),_i(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,i=this._map;i._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=N(this._map.options.maxBounds),this._offsetLimit=O(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,i.fire("movestart").fire("dragstart"),i.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var i,e;this._map.options.inertia&&(i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(e),this._times.push(i),this._prunePositions(i)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1<this._positions.length&&50<t-this._times[0];)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,i){return t-(t-i)*this._viscosity},_onPreDragLimit:function(){var t,i;this._viscosity&&this._offsetLimit&&(t=this._draggable._newPos.subtract(this._draggable._startPos),i=this._offsetLimit,t.x<i.min.x&&(t.x=this._viscousLimit(t.x,i.min.x)),t.y<i.min.y&&(t.y=this._viscousLimit(t.y,i.min.y)),t.x>i.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)<Math.abs(s+e)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var i,e,n,o,s,r,a,h,u,l=this._map,c=l.options,_=!c.inertia||this._times.length<2;l.fire("dragend",t),_?l.fire("moveend"):(this._prunePositions(+new Date),i=this._lastPos.subtract(this._positions[0]),e=(this._lastTime-this._times[0])/1e3,n=c.easeLinearity,s=(o=i.multiplyBy(n/e)).distanceTo([0,0]),r=Math.min(c.inertiaMaxSpeed,s),a=o.multiplyBy(r/s),h=r/(c.inertiaDeceleration*n),(u=a.multiplyBy(-h/2).round()).x||u.y?(u=l._limitOffset(u,l.options.maxBounds),M(function(){l.panBy(u,{duration:h,easeLinearity:n,noMoveStart:!0,animate:!0})})):l.fire("moveend"))}});Ki.addInitHook("addHandler","dragging",yn),Ki.mergeOptions({keyboard:!0,keyboardPanDelta:80});var xn=ie.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),zi(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Si(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){var t,i,e,n;this._focused||(t=document.body,i=document.documentElement,e=t.scrollTop||i.scrollTop,n=t.scrollLeft||i.scrollLeft,this._map._container.focus(),window.scrollTo(n,e))},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){for(var i=this._panKeys={},e=this.keyCodes,n=0,o=e.left.length;n<o;n++)i[e.left[n]]=[-1*t,0];for(n=0,o=e.right.length;n<o;n++)i[e.right[n]]=[t,0];for(n=0,o=e.down.length;n<o;n++)i[e.down[n]]=[0,t];for(n=0,o=e.up.length;n<o;n++)i[e.up[n]]=[0,-1*t]},_setZoomDelta:function(t){for(var i=this._zoomKeys={},e=this.keyCodes,n=0,o=e.zoomIn.length;n<o;n++)i[e.zoomIn[n]]=t;for(n=0,o=e.zoomOut.length;n<o;n++)i[e.zoomOut[n]]=-t},_addHooks:function(){zi(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Si(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var i,e=t.keyCode,n=this._map;if(e in this._panKeys)n._panAnim&&n._panAnim._inProgress||(i=this._panKeys[e],t.shiftKey&&(i=A(i).multiplyBy(3)),n.panBy(i),n.options.maxBounds&&n.panInsideBounds(n.options.maxBounds));else if(e in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[e]);else{if(27!==e||!n._popup||!n._popup.options.closeOnEscapeKey)return;n.closePopup()}Ni(t)}}});Ki.addInitHook("addHandler","keyboard",xn),Ki.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var wn=ie.extend({addHooks:function(){zi(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Si(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var i=Wi(t),e=this._map.options.wheelDebounceTime;this._delta+=i,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var n=Math.max(e-(new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(p(this._performZoom,this),n),Ni(t)},_performZoom:function(){var t=this._map,i=t.getZoom(),e=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=e?Math.ceil(o/e)*e:o,r=t._limitZoom(i+(0<this._delta?s:-s))-i;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(i+r):t.setZoomAround(this._lastMousePos,i+r))}});Ki.addInitHook("addHandler","scrollWheelZoom",wn),Ki.mergeOptions({tap:!0,tapTolerance:15});var Pn=ie.extend({addHooks:function(){zi(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Si(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Ri(t),this._fireClick=!0,1<t.touches.length)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],e=i.target;this._startPos=this._newPos=new k(i.clientX,i.clientY),e.tagName&&"a"===e.tagName.toLowerCase()&&ci(e,"leaflet-active"),this._holdTimeout=setTimeout(p(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),this._simulateEvent("mousedown",i),zi(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){var i,e;clearTimeout(this._holdTimeout),Si(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches&&((e=(i=t.changedTouches[0]).target)&&e.tagName&&"a"===e.tagName.toLowerCase()&&_i(e,"leaflet-active"),this._simulateEvent("mouseup",i),this._isTapValid()&&this._simulateEvent("click",i))},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var i=t.touches[0];this._newPos=new k(i.clientX,i.clientY),this._simulateEvent("mousemove",i)},_simulateEvent:function(t,i){var e=document.createEvent("MouseEvents");e._simulated=!0,i.target._simulatedClick=!0,e.initMouseEvent(t,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),i.target.dispatchEvent(e)}});!bt||Lt&&!ct||Ki.addInitHook("addHandler","tap",Pn),Ki.mergeOptions({touchZoom:bt&&!st,bounceAtZoomLimits:!0});var Ln=ie.extend({addHooks:function(){ci(this._map._container,"leaflet-touch-zoom"),zi(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){_i(this._map._container,"leaflet-touch-zoom"),Si(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i,e,n=this._map;!t.touches||2!==t.touches.length||n._animatingZoom||this._zooming||(i=n.mouseEventToContainerPoint(t.touches[0]),e=n.mouseEventToContainerPoint(t.touches[1]),this._centerPoint=n.getSize()._divideBy(2),this._startLatLng=n.containerPointToLatLng(this._centerPoint),"center"!==n.options.touchZoom&&(this._pinchStartLatLng=n.containerPointToLatLng(i.add(e)._divideBy(2))),this._startDist=i.distanceTo(e),this._startZoom=n.getZoom(),this._moved=!1,this._zooming=!0,n._stop(),zi(document,"touchmove",this._onTouchMove,this),zi(document,"touchend",this._onTouchEnd,this),Ri(t))},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var i=this._map,e=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]),o=e.distanceTo(n)/this._startDist;if(this._zoom=i.getScaleZoom(o,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoom<i.getMinZoom()&&o<1||this._zoom>i.getMaxZoom()&&1<o)&&(this._zoom=i._limitZoom(this._zoom)),"center"===i.options.touchZoom){if(this._center=this._startLatLng,1==o)return}else{var s=e._add(n)._divideBy(2)._subtract(this._centerPoint);if(1==o&&0===s.x&&0===s.y)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(i._moveStart(!0,!1),this._moved=!0),z(this._animRequest);var r=p(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=M(r,this,!0),Ri(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,z(this._animRequest),Si(document,"touchmove",this._onTouchMove,this),Si(document,"touchend",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});Ki.addInitHook("addHandler","touchZoom",Ln),Ki.BoxZoom=gn,Ki.DoubleClickZoom=vn,Ki.Drag=yn,Ki.Keyboard=xn,Ki.ScrollWheelZoom=wn,Ki.Tap=Pn,Ki.TouchZoom=Ln,t.version="1.7.1",t.Control=Xi,t.control=Yi,t.Browser=Bt,t.Evented=E,t.Mixin=ne,t.Util=C,t.Class=S,t.Handler=ie,t.extend=h,t.bind=p,t.stamp=m,t.setOptions=c,t.DomEvent=qi,t.DomUtil=Mi,t.PosAnimation=Gi,t.Draggable=ae,t.LineUtil=fe,t.PolyUtil=ye,t.Point=k,t.point=A,t.Bounds=I,t.bounds=O,t.Transformation=q,t.transformation=G,t.Projection=Pe,t.LatLng=D,t.latLng=j,t.LatLngBounds=R,t.latLngBounds=N,t.CRS=H,t.GeoJSON=Ne,t.geoJSON=Ke,t.geoJson=Ye,t.Layer=Me,t.LayerGroup=ze,t.layerGroup=function(t,i){return new ze(t,i)},t.FeatureGroup=Ce,t.featureGroup=function(t,i){return new Ce(t,i)},t.ImageOverlay=Xe,t.imageOverlay=function(t,i,e){return new Xe(t,i,e)},t.VideoOverlay=Je,t.videoOverlay=function(t,i,e){return new Je(t,i,e)},t.SVGOverlay=$e,t.svgOverlay=function(t,i,e){return new $e(t,i,e)},t.DivOverlay=Qe,t.Popup=tn,t.popup=function(t,i){return new tn(t,i)},t.Tooltip=en,t.tooltip=function(t,i){return new en(t,i)},t.Icon=Se,t.icon=function(t){return new Se(t)},t.DivIcon=nn,t.divIcon=function(t){return new nn(t)},t.Marker=ke,t.marker=function(t,i){return new ke(t,i)},t.TileLayer=sn,t.tileLayer=rn,t.GridLayer=on,t.gridLayer=function(t){return new on(t)},t.SVG=pn,t.svg=mn,t.Renderer=hn,t.Canvas=un,t.canvas=ln,t.Path=Be,t.CircleMarker=Ae,t.circleMarker=function(t,i){return new Ae(t,i)},t.Circle=Ie,t.circle=function(t,i,e){return new Ie(t,i,e)},t.Polyline=Oe,t.polyline=function(t,i){return new Oe(t,i)},t.Polygon=Re,t.polygon=function(t,i){return new Re(t,i)},t.Rectangle=fn,t.rectangle=function(t,i){return new fn(t,i)},t.Map=Ki,t.map=function(t,i){return new Ki(t,i)};var bn=window.L;t.noConflict=function(){return window.L=bn,this},window.L=t});
6
+ //# sourceMappingURL=leaflet.js.map
lib/leaflet/leaflet.markercluster.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(((e=e||self).Leaflet=e.Leaflet||{},e.Leaflet.markercluster={}))}(this,function(e){"use strict";var t=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnEveryZoom:!1,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyShapePositions:null,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(e){L.Util.setOptions(this,e),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation),this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(e){if(e instanceof L.LayerGroup)return this.addLayers([e]);if(!e.getLatLng)return this._nonPointGroup.addLayer(e),this.fire("layeradd",{layer:e}),this;if(!this._map)return this._needsClustering.push(e),this.fire("layeradd",{layer:e}),this;if(this.hasLayer(e))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(e,this._maxZoom),this.fire("layeradd",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var t=e,i=this._zoom;if(e.__parent)for(;t.__parent._zoom>=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):(e.getLatLng?this._map?e.__parent&&(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire("layerremove",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow())):(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire("layerremove",{layer:e})):(this._nonPointGroup.removeLayer(e),this.fire("layerremove",{layer:e})),this)},addLayers:function(n,s){if(!L.Util.isArray(n))return this.addLayer(n);var o,a=this._featureGroup,h=this._nonPointGroup,l=this.options.chunkedLoading,u=this.options.chunkInterval,_=this.options.chunkProgress,d=n.length,p=0,c=!0;if(this._map){var f=(new Date).getTime(),m=L.bind(function(){var e=(new Date).getTime();for(this._map&&this._unspiderfy&&this._unspiderfy();p<d;p++){if(l&&p%200==0){var t=(new Date).getTime()-e;if(u<t)break}if((o=n[p])instanceof L.LayerGroup)c&&(n=n.slice(),c=!1),this._extractNonGroupLayers(o,n),d=n.length;else if(o.getLatLng){if(!this.hasLayer(o)&&(this._addLayer(o,this._maxZoom),s||this.fire("layeradd",{layer:o}),o.__parent&&2===o.__parent.getChildCount())){var i=o.__parent.getAllChildMarkers(),r=i[0]===o?i[1]:i[0];a.removeLayer(r)}}else h.addLayer(o),s||this.fire("layeradd",{layer:o})}_&&_(p,d,(new Date).getTime()-f),p===d?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(m,this.options.chunkDelay)},this);m()}else for(var e=this._needsClustering;p<d;p++)(o=n[p])instanceof L.LayerGroup?(c&&(n=n.slice(),c=!1),this._extractNonGroupLayers(o,n),d=n.length):o.getLatLng?this.hasLayer(o)||e.push(o):h.addLayer(o);return this},removeLayers:function(e){var t,i,r=e.length,n=this._featureGroup,s=this._nonPointGroup,o=!0;if(!this._map){for(t=0;t<r;t++)(i=e[t])instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),r=e.length):(this._arraySplice(this._needsClustering,i),s.removeLayer(i),this.hasLayer(i)&&this._needsRemoving.push({layer:i,latlng:i._latlng}),this.fire("layerremove",{layer:i}));return this}if(this._unspiderfy){this._unspiderfy();var a=e.slice(),h=r;for(t=0;t<h;t++)(i=a[t])instanceof L.LayerGroup?(this._extractNonGroupLayers(i,a),h=a.length):this._unspiderfyLayer(i)}for(t=0;t<r;t++)(i=e[t])instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),r=e.length):i.__parent?(this._removeLayer(i,!0,!0),this.fire("layerremove",{layer:i}),n.hasLayer(i)&&(n.removeLayer(i),i.clusterShow&&i.clusterShow())):(s.removeLayer(i),this.fire("layerremove",{layer:i}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],this._needsRemoving=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(e){e.off(this._childMarkerEventHandlers,this),delete e.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var e=new L.LatLngBounds;this._topClusterLevel&&e.extend(this._topClusterLevel._bounds);for(var t=this._needsClustering.length-1;0<=t;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var i,r,n,s=this._needsClustering.slice(),o=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(s),r=s.length-1;0<=r;r--){for(i=!0,n=o.length-1;0<=n;n--)if(o[n].layer===s[r]){i=!1;break}i&&e.call(t,s[r])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var t=[];return this.eachLayer(function(e){t.push(e)}),t},getLayer:function(t){var i=null;return t=parseInt(t,10),this.eachLayer(function(e){L.stamp(e)===t&&(i=e)}),i},hasLayer:function(e){if(!e)return!1;var t,i=this._needsClustering;for(t=i.length-1;0<=t;t--)if(i[t]===e)return!0;for(t=(i=this._needsRemoving).length-1;0<=t;t--)if(i[t].layer===e)return!1;return!(!e.__parent||e.__parent._group!==this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){var i=this._map;"function"!=typeof t&&(t=function(){});var r=function(){!i.hasLayer(e)&&!i.hasLayer(e.__parent)||this._inZoomAnimation||(this._map.off("moveend",r,this),this.off("animationend",r,this),i.hasLayer(e)?t():e.__parent._icon&&(this.once("spiderfied",t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoom<Math.round(this._map._zoom)?(this._map.on("moveend",r,this),this._map.panTo(e.getLatLng())):(this._map.on("moveend",r,this),this.on("animationend",r,this),e.__parent.zoomToBounds())},onAdd:function(e){var t,i,r;if(this._map=e,!isFinite(this._map.getMaxZoom()))throw"Map has no maxZoom specified";for(this._featureGroup.addTo(e),this._nonPointGroup.addTo(e),this._gridClusters||this._generateInitialClusters(),this._maxLat=e.options.crs.projection.MAX_LATITUDE,t=0,i=this._needsRemoving.length;t<i;t++)(r=this._needsRemoving[t]).newlatlng=r.layer._latlng,r.layer._latlng=r.latlng;for(t=0,i=this._needsRemoving.length;t<i;t++)r=this._needsRemoving[t],this._removeLayer(r.layer,!0),r.layer._latlng=r.newlatlng;this._needsRemoving=[],this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds(),this._map.on("zoomend",this._zoomEnd,this),this._map.on("moveend",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),i=this._needsClustering,this._needsClustering=[],this.addLayers(i,!0)},onRemove:function(e){e.off("zoomend",this._zoomEnd,this),e.off("moveend",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim",""),this._spiderfierOnRemove&&this._spiderfierOnRemove(),delete this._maxLat,this._hideCoverage(),this._featureGroup.remove(),this._nonPointGroup.remove(),this._featureGroup.clearLayers(),this._map=null},getVisibleParent:function(e){for(var t=e;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(e,t){for(var i=e.length-1;0<=i;i--)if(e[i]===t)return e.splice(i,1),!0},_removeFromGridUnclustered:function(e,t){for(var i=this._map,r=this._gridUnclustered,n=Math.floor(this._map.getMinZoom());n<=t&&r[t].removeObject(e,i.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,i){e._latlng=t,this.removeLayer(e),e._latlng=i,this.addLayer(e)},_childMarkerDragEnd:function(e){var t=e.target.__dragStart;delete e.target.__dragStart,t&&this._moveChild(e.target,t,e.target._latlng)},_removeLayer:function(e,t,i){var r=this._gridClusters,n=this._gridUnclustered,s=this._featureGroup,o=this._map,a=Math.floor(this._map.getMinZoom());t&&this._removeFromGridUnclustered(e,this._maxZoom);var h,l=e.__parent,u=l._markers;for(this._arraySplice(u,e);l&&(l._childCount--,l._boundsNeedUpdate=!0,!(l._zoom<a));)t&&l._childCount<=1?(h=l._markers[0]===e?l._markers[1]:l._markers[0],r[l._zoom].removeObject(l,o.project(l._cLatLng,l._zoom)),n[l._zoom].addObject(h,o.project(h.getLatLng(),l._zoom)),this._arraySplice(l.__parent._childClusters,l),l.__parent._markers.push(h),h.__parent=l.__parent,l._icon&&(s.removeLayer(l),i||s.addLayer(h))):l._iconNeedsUpdate=!0,l=l.__parent;delete e.__parent},_isOrIsParent:function(e,t){for(;t;){if(e===t)return!0;t=t.parentNode}return!1},fire:function(e,t,i){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;e="cluster"+e}L.FeatureGroup.prototype.fire.call(this,e,t,i)},listens:function(e,t){return L.FeatureGroup.prototype.listens.call(this,e,t)||L.FeatureGroup.prototype.listens.call(this,"cluster"+e,t)},_defaultIconCreateFunction:function(e){var t=e.getChildCount(),i=" marker-cluster-";return i+=t<10?"small":t<100?"medium":"large",new L.DivIcon({html:"<div><span>"+t+"</span></div>",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,r=this.options.zoomToBoundsOnClick,n=this.options.spiderfyOnEveryZoom;(t||r||n)&&this.on("clusterclick clusterkeypress",this._zoomOrSpiderfy,this),i&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),e.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(e){var t=e.layer,i=t;if("clusterkeypress"!==e.type||!e.originalEvent||13===e.originalEvent.keyCode){for(;1===i._childClusters.length;)i=i._childClusters[0];i._zoom===this._maxZoom&&i._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),this.options.spiderfyOnEveryZoom&&t.spiderfy(),e.originalEvent&&13===e.originalEvent.keyCode&&this._map._container.focus()}},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),2<e.layer.getChildCount()&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,r=this.options.spiderfyOnEveryZoom,n=this._map;(e||i||r)&&this.off("clusterclick clusterkeypress",this._zoomOrSpiderfy,this),t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),n.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=Math.ceil(this._map.getMaxZoom()),t=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,r=i;"function"!=typeof i&&(r=function(){return i}),null!==this.options.disableClusteringAtZoom&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var n=e;t<=n;n--)this._gridClusters[n]=new L.DistanceGrid(r(n)),this._gridUnclustered[n]=new L.DistanceGrid(r(n));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var i,r,n=this._gridClusters,s=this._gridUnclustered,o=Math.floor(this._map.getMinZoom());for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);o<=t;t--){i=this._map.project(e.getLatLng(),t);var a=n[t].getNearObject(i);if(a)return a._addChild(e),void(e.__parent=a);if(a=s[t].getNearObject(i)){var h=a.__parent;h&&this._removeLayer(a,!1);var l=new this._markerCluster(this,t,a,e);n[t].addObject(l,this._map.project(l._cLatLng,t)),a.__parent=l;var u=e.__parent=l;for(r=t-1;r>h._zoom;r--)u=new this._markerCluster(this,r,u),n[r].addObject(u,this._map.project(a.getLatLng(),r));return h._addChild(u),void this._removeFromGridUnclustered(a,t)}s[t].addObject(e,i)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()})},_enqueue:function(e){this._queue.push(e),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var e=0;e<this._queue.length;e++)this._queue[e].call(this);this._queue.length=0,clearTimeout(this._queueTimeout),this._queueTimeout=null},_mergeSplitClusters:function(){var e=Math.round(this._map._zoom);this._processQueue(),this._zoom<e&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,e)):this._zoom>e?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return void 0!==t&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()<=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]),this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var i,r=e.getLayers(),n=0;for(t=t||[];n<r.length;n++)(i=r[n])instanceof L.LayerGroup?this._extractNonGroupLayers(i,t):t.push(i);return t},_overrideMarkerIcon:function(e){return e.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[e]}})}});L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-1/0,-1/0),new L.LatLng(1/0,1/0))}),L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire("animationend")},_animationZoomOut:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire("animationend")},_animationAddLayer:function(e,t){this._animationAddLayerNonAnimated(e,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=" leaflet-cluster-anim",this._inZoomAnimation++},_animationZoomIn:function(n,s){var o,a=this._getExpandedVisibleBounds(),h=this._featureGroup,e=Math.floor(this._map.getMinZoom());this._ignoreMove=!0,this._topClusterLevel._recursively(a,n,e,function(e){var t,i=e._latlng,r=e._markers;for(a.contains(i)||(i=null),e._isSingleParent()&&n+1===s?(h.removeLayer(e),e._recursivelyAddChildrenToMap(null,s,a)):(e.clusterHide(),e._recursivelyAddChildrenToMap(i,s,a)),o=r.length-1;0<=o;o--)t=r[o],a.contains(t._latlng)||h.removeLayer(t)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(a,s),h.eachLayer(function(e){e instanceof L.MarkerCluster||!e._icon||e.clusterShow()}),this._topClusterLevel._recursively(a,n,s,function(e){e._recursivelyRestoreChildPositions(s)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(a,n,e,function(e){h.removeLayer(e),e.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var i=this,r=this._featureGroup;r.addLayer(e),t!==e&&(2<t._childCount?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue(function(){r.removeLayer(e),e.clusterShow(),i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(t,i,r){var n=this._getExpandedVisibleBounds(),s=Math.floor(this._map.getMinZoom());t._recursivelyAnimateChildrenInAndAddSelfToMap(n,s,i+1,r);var o=this;this._forceLayout(),t._recursivelyBecomeVisible(n,r),this._enqueue(function(){if(1===t._childCount){var e=t._markers[0];this._ignoreMove=!0,e.setLatLng(e.getLatLng()),this._ignoreMove=!1,e.clusterShow&&e.clusterShow()}else t._recursively(n,r,s,function(e){e._recursivelyRemoveChildrenFromMap(n,s,i+1)});o._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)};var i=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(e,t,i,r){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:e.options.clusterPane}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,i&&this._addChild(i),r&&this._addChild(r)},getAllChildMarkers:function(e,t){e=e||[];for(var i=this._childClusters.length-1;0<=i;i--)this._childClusters[i].getAllChildMarkers(e,t);for(var r=this._markers.length-1;0<=r;r--)t&&this._markers[r].__dragStart||e.push(this._markers[r]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(e){for(var t,i=this._childClusters.slice(),r=this._group._map,n=r.getBoundsZoom(this._bounds),s=this._zoom+1,o=r.getZoom();0<i.length&&s<n;){s++;var a=[];for(t=0;t<i.length;t++)a=a.concat(i[t]._childClusters);i=a}s<n?this._group._map.setView(this._latlng,s):n<=o?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,e)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||(this._cLatLng=e._cLatLng||e._latlng)},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e,t,i,r,n=this._markers,s=this._childClusters,o=0,a=0,h=this._childCount;if(0!==h){for(this._resetBounds(),e=0;e<n.length;e++)i=n[e]._latlng,this._bounds.extend(i),o+=i.lat,a+=i.lng;for(e=0;e<s.length;e++)(t=s[e])._boundsNeedUpdate&&t._recalculateBounds(),this._bounds.extend(t._bounds),i=t._wLatLng,r=t._childCount,o+=i.lat*r,a+=i.lng*r;this._latlng=this._wLatLng=new L.LatLng(o/h,a/h),this._boundsNeedUpdate=!1}},_addToMap:function(e){e&&(this._backupLatlng=this._latlng,this.setLatLng(e)),this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(e,n,t){this._recursively(e,this._group._map.getMinZoom(),t-1,function(e){var t,i,r=e._markers;for(t=r.length-1;0<=t;t--)(i=r[t])._icon&&(i._setPos(n),i.clusterHide())},function(e){var t,i,r=e._childClusters;for(t=r.length-1;0<=t;t--)(i=r[t])._icon&&(i._setPos(n),i.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(t,i,r,n){this._recursively(t,n,i,function(e){e._recursivelyAnimateChildrenIn(t,e._group._map.latLngToLayerPoint(e.getLatLng()).round(),r),e._isSingleParent()&&r-1===n?(e.clusterShow(),e._recursivelyRemoveChildrenFromMap(t,i,r)):e.clusterHide(),e._addToMap()})},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,function(e){e.clusterShow()})},_recursivelyAddChildrenToMap:function(r,n,s){this._recursively(s,this._group._map.getMinZoom()-1,n,function(e){if(n!==e._zoom)for(var t=e._markers.length-1;0<=t;t--){var i=e._markers[t];s.contains(i._latlng)&&(r&&(i._backupLatlng=i.getLatLng(),i.setLatLng(r),i.clusterHide&&i.clusterHide()),e._group._featureGroup.addLayer(i))}},function(e){e._addToMap(r)})},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;0<=t;t--){var i=this._markers[t];i._backupLatlng&&(i.setLatLng(i._backupLatlng),delete i._backupLatlng)}if(e-1===this._zoom)for(var r=this._childClusters.length-1;0<=r;r--)this._childClusters[r]._restorePosition();else for(var n=this._childClusters.length-1;0<=n;n--)this._childClusters[n]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,i,r){var n,s;this._recursively(e,t-1,i-1,function(e){for(s=e._markers.length-1;0<=s;s--)n=e._markers[s],r&&r.contains(n._latlng)||(e._group._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow())},function(e){for(s=e._childClusters.length-1;0<=s;s--)n=e._childClusters[s],r&&r.contains(n._latlng)||(e._group._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow())})},_recursively:function(e,t,i,r,n){var s,o,a=this._childClusters,h=this._zoom;if(t<=h&&(r&&r(this),n&&h===i&&n(this)),h<t||h<i)for(s=a.length-1;0<=s;s--)(o=a[s])._boundsNeedUpdate&&o._recalculateBounds(),e.intersects(o._bounds)&&o._recursively(e,t,i,r,n)},_isSingleParent:function(){return 0<this._childClusters.length&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var e=this.options.opacity;return this.setOpacity(0),this.options.opacity=e,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var i=this._getCoord(t.x),r=this._getCoord(t.y),n=this._grid,s=n[r]=n[r]||{},o=s[i]=s[i]||[],a=L.Util.stamp(e);this._objectPoint[a]=t,o.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var i,r,n=this._getCoord(t.x),s=this._getCoord(t.y),o=this._grid,a=o[s]=o[s]||{},h=a[n]=a[n]||[];for(delete this._objectPoint[L.Util.stamp(e)],i=0,r=h.length;i<r;i++)if(h[i]===e)return h.splice(i,1),1===r&&delete a[n],!0},eachObject:function(e,t){var i,r,n,s,o,a,h=this._grid;for(i in h)for(r in o=h[i])for(n=0,s=(a=o[r]).length;n<s;n++)e.call(t,a[n])&&(n--,s--)},getNearObject:function(e){var t,i,r,n,s,o,a,h,l=this._getCoord(e.x),u=this._getCoord(e.y),_=this._objectPoint,d=this._sqCellSize,p=null;for(t=u-1;t<=u+1;t++)if(n=this._grid[t])for(i=l-1;i<=l+1;i++)if(s=n[i])for(r=0,o=s.length;r<o;r++)a=s[r],((h=this._sqDist(_[L.Util.stamp(a)],e))<d||h<=d&&null===p)&&(d=h,p=a);return p},_getCoord:function(e){var t=Math.floor(e/this._cellSize);return isFinite(t)?t:e},_sqDist:function(e,t){var i=t.x-e.x,r=t.y-e.y;return i*i+r*r}},L.QuickHull={getDistant:function(e,t){var i=t[1].lat-t[0].lat;return(t[0].lng-t[1].lng)*(e.lat-t[0].lat)+i*(e.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(e,t){var i,r,n,s=0,o=null,a=[];for(i=t.length-1;0<=i;i--)r=t[i],0<(n=this.getDistant(r,e))&&(a.push(r),s<n&&(s=n,o=r));return{maxPoint:o,newPoints:a}},buildConvexHull:function(e,t){var i=[],r=this.findMostDistantPointFromBaseLine(e,t);return r.maxPoint?i=(i=i.concat(this.buildConvexHull([e[0],r.maxPoint],r.newPoints))).concat(this.buildConvexHull([r.maxPoint,e[1]],r.newPoints)):[e[0]]},getConvexHull:function(e){var t,i=!1,r=!1,n=!1,s=!1,o=null,a=null,h=null,l=null,u=null,_=null;for(t=e.length-1;0<=t;t--){var d=e[t];(!1===i||d.lat>i)&&(i=(o=d).lat),(!1===r||d.lat<r)&&(r=(a=d).lat),(!1===n||d.lng>n)&&(n=(h=d).lng),(!1===s||d.lng<s)&&(s=(l=d).lng)}return u=r!==i?(_=a,o):(_=l,h),[].concat(this.buildConvexHull([_,u],e),this.buildConvexHull([u,_],e))}},L.MarkerCluster.include({getConvexHull:function(){var e,t,i=this.getAllChildMarkers(),r=[];for(t=i.length-1;0<=t;t--)e=i[t].getLatLng(),r.push(e);return L.QuickHull.getConvexHull(r)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var e,t=this.getAllChildMarkers(null,!0),i=this._group._map.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),e=(this._group._spiderfied=this)._group.options.spiderfyShapePositions?this._group.options.spiderfyShapePositions(t.length,i):t.length>=this._circleSpiralSwitchover?this._generatePointsSpiral(t.length,i):(i.y+=10,this._generatePointsCircle(t.length,i)),this._animationSpiderfy(t,e)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var i,r,n=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e)/this._2PI,s=this._2PI/e,o=[];for(n=Math.max(n,35),o.length=e,i=0;i<e;i++)r=this._circleStartAngle+i*s,o[i]=new L.Point(t.x+n*Math.cos(r),t.y+n*Math.sin(r))._round();return o},_generatePointsSpiral:function(e,t){var i,r=this._group.options.spiderfyDistanceMultiplier,n=r*this._spiralLengthStart,s=r*this._spiralFootSeparation,o=r*this._spiralLengthFactor*this._2PI,a=0,h=[];for(i=h.length=e;0<=i;i--)i<e&&(h[i]=new L.Point(t.x+n*Math.cos(a),t.y+n*Math.sin(a))._round()),n+=o/(a+=s/n+5e-4*i);return h},_noanimationUnspiderfy:function(){var e,t,i=this._group,r=i._map,n=i._featureGroup,s=this.getAllChildMarkers(null,!0);for(i._ignoreMove=!0,this.setOpacity(1),t=s.length-1;0<=t;t--)e=s[t],n.removeLayer(e),e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng),e.setZIndexOffset&&e.setZIndexOffset(0),e._spiderLeg&&(r.removeLayer(e._spiderLeg),delete e._spiderLeg);i.fire("unspiderfied",{cluster:this,markers:s}),i._ignoreMove=!1,i._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var i,r,n,s,o=this._group,a=o._map,h=o._featureGroup,l=this._group.options.spiderLegPolylineOptions;for(o._ignoreMove=!0,i=0;i<e.length;i++)s=a.layerPointToLatLng(t[i]),r=e[i],n=new L.Polyline([this._latlng,s],l),a.addLayer(n),r._spiderLeg=n,r._preSpiderfyLatlng=r._latlng,r.setLatLng(s),r.setZIndexOffset&&r.setZIndexOffset(1e6),h.addLayer(r);this.setOpacity(.3),o._ignoreMove=!1,o.fire("spiderfied",{cluster:this,markers:e})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}}),L.MarkerCluster.include({_animationSpiderfy:function(e,t){var i,r,n,s,o,a,h=this,l=this._group,u=l._map,_=l._featureGroup,d=this._latlng,p=u.latLngToLayerPoint(d),c=L.Path.SVG,f=L.extend({},this._group.options.spiderLegPolylineOptions),m=f.opacity;for(void 0===m&&(m=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),c?(f.opacity=0,f.className=(f.className||"")+" leaflet-cluster-spider-leg"):f.opacity=m,l._ignoreMove=!0,i=0;i<e.length;i++)r=e[i],a=u.layerPointToLatLng(t[i]),n=new L.Polyline([d,a],f),u.addLayer(n),r._spiderLeg=n,c&&(o=(s=n._path).getTotalLength()+.1,s.style.strokeDasharray=o,s.style.strokeDashoffset=o),r.setZIndexOffset&&r.setZIndexOffset(1e6),r.clusterHide&&r.clusterHide(),_.addLayer(r),r._setPos&&r._setPos(p);for(l._forceLayout(),l._animationStart(),i=e.length-1;0<=i;i--)a=u.layerPointToLatLng(t[i]),(r=e[i])._preSpiderfyLatlng=r._latlng,r.setLatLng(a),r.clusterShow&&r.clusterShow(),c&&((s=(n=r._spiderLeg)._path).style.strokeDashoffset=0,n.setStyle({opacity:m}));this.setOpacity(.3),l._ignoreMove=!1,setTimeout(function(){l._animationEnd(),l.fire("spiderfied",{cluster:h,markers:e})},200)},_animationUnspiderfy:function(e){var t,i,r,n,s,o,a=this,h=this._group,l=h._map,u=h._featureGroup,_=e?l._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):l.latLngToLayerPoint(this._latlng),d=this.getAllChildMarkers(null,!0),p=L.Path.SVG;for(h._ignoreMove=!0,h._animationStart(),this.setOpacity(1),i=d.length-1;0<=i;i--)(t=d[i])._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,o=!0,t._setPos&&(t._setPos(_),o=!1),t.clusterHide&&(t.clusterHide(),o=!1),o&&u.removeLayer(t),p&&(s=(n=(r=t._spiderLeg)._path).getTotalLength()+.1,n.style.strokeDashoffset=s,r.setStyle({opacity:0})));h._ignoreMove=!1,setTimeout(function(){var e=0;for(i=d.length-1;0<=i;i--)(t=d[i])._spiderLeg&&e++;for(i=d.length-1;0<=i;i--)(t=d[i])._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),1<e&&u.removeLayer(t),l.removeLayer(t._spiderLeg),delete t._spiderLeg);h._animationEnd(),h.fire("unspiderfied",{cluster:a,markers:d})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this),this._map.on("zoomend",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._map.off("zoomend",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,i;for(t in e)for(i=e[t].__parent;i;)i._iconNeedsUpdate=!0,i=i.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,i;for(t in e)i=e[t],this.hasLayer(i)&&i.setIcon(this._overrideMarkerIcon(i))}}),L.Marker.include({refreshIconOptions:function(e,t){var i=this.options.icon;return L.setOptions(i,e),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}}),e.MarkerClusterGroup=t,e.MarkerCluster=i,Object.defineProperty(e,"__esModule",{value:!0})});
2
+ //# sourceMappingURL=leaflet.markercluster.js.map
mappress.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: https://www.mappresspro.com
5
  Author URI: https://www.mappresspro.com
6
  Pro Update URI: https://www.mappresspro.com
7
  Description: MapPress makes it easy to add Google and Leaflet Maps to WordPress
8
- Version: 2.84.8
9
  Author: Chris Richardson
10
  Text Domain: mappress-google-maps-for-wordpress
11
  Thanks to all the translators and to Scott DeJonge for his wonderful icons
@@ -41,7 +41,7 @@ if (is_dir(dirname( __FILE__ ) . '/pro')) {
41
  }
42
 
43
  class Mappress {
44
- const VERSION = '2.84.8';
45
 
46
  static
47
  $api,
@@ -824,11 +824,11 @@ class Mappress {
824
 
825
  // Clustering ( https://github.com/googlemaps/js-markerclusterer | https://github.com/Leaflet/Leaflet.markercluster )
826
  $register = array(
827
- array("mappress-leaflet", self::unpkg('leaflet', 'leaflet.js'), null, null, $footer),
828
- array("mappress-leaflet-omnivore", self::unpkg('leaflet-omnivore', 'leaflet-omnivore.min.js'), null, null, $footer),
829
  array("mappress-google", self::scripts_google_tag(), null, null, $footer),
830
  array('mappress-markerclusterer', self::unpkg('markerclusterer', 'index.min.js'), null, null, $footer),
831
- array('mappress-leaflet-markercluster', self::unpkg('leaflet.markercluster', 'leaflet.markercluster.js'), null, null, $footer),
832
  array('mappress', $js . "/index_mappress.js", $deps, self::$version, $footer),
833
  array('mappress_admin', $js . "/index_mappress_admin.js", $admin_deps, self::$version, $footer)
834
  );
@@ -1003,12 +1003,12 @@ class Mappress {
1003
 
1004
  // Leaflet CSS
1005
  if (self::$options->engine == 'leaflet') {
1006
- $styles->add('mappress-leaflet', 'https://unpkg.com/leaflet@1.7.1/dist/leaflet.css', null, '1.7.1');
1007
  $deps[] = 'mappress-leaflet';
1008
  if (self::$options->clustering) {
1009
- $styles->add('mappress-leaflet-markercluster-default', self::$baseurl . "/lib/Leaflet.markercluster/MarkerCluster.Default.css", null, '1.4.1');
1010
  $deps[] = 'mappress-leaflet-markercluster-default';
1011
- $styles->add('mappress-leaflet-markercluster', self::$baseurl . "/lib/Leaflet.markercluster/MarkerCluster.css", null, '1.4.1');
1012
  $deps[] = 'mappress-leaflet-markercluster';
1013
  }
1014
  }
@@ -1121,21 +1121,15 @@ class Mappress {
1121
 
1122
  static function unpkg($package, $filename) {
1123
  $urls = array(
1124
- 'leaflet' => 'https://unpkg.com/leaflet@%s/dist',
1125
  'markerclusterer' => 'https://unpkg.com/@googlemaps/markerclusterer@%s/dist',
1126
- 'leaflet.markercluster' => 'https://unpkg.com/leaflet.markercluster@%s/dist',
1127
- 'leaflet-omnivore' => 'https://unpkg.com/leaflet-omnivore@%s'
1128
  );
1129
  $versions = array(
1130
- 'leaflet' => '1.7.1',
1131
  'markerclusterer' => '2.0.11',
1132
- 'leaflet.markercluster' => '1.5.3',
1133
- 'leaflet-omnivore' => '0.3.4'
1134
  );
1135
 
1136
  $url = $urls[$package];
1137
  $version = $versions[$package];
1138
- return sprintf($url, $version) . "/$filename";
1139
  }
1140
 
1141
  /**
5
  Author URI: https://www.mappresspro.com
6
  Pro Update URI: https://www.mappresspro.com
7
  Description: MapPress makes it easy to add Google and Leaflet Maps to WordPress
8
+ Version: 2.84.10
9
  Author: Chris Richardson
10
  Text Domain: mappress-google-maps-for-wordpress
11
  Thanks to all the translators and to Scott DeJonge for his wonderful icons
41
  }
42
 
43
  class Mappress {
44
+ const VERSION = '2.84.10';
45
 
46
  static
47
  $api,
824
 
825
  // Clustering ( https://github.com/googlemaps/js-markerclusterer | https://github.com/Leaflet/Leaflet.markercluster )
826
  $register = array(
827
+ array("mappress-leaflet", $lib . '/leaflet/leaflet.js', null, null, $footer),
828
+ array("mappress-leaflet-omnivore", $lib . '/leaflet/leaflet-omnivore.min.js', null, null, $footer),
829
  array("mappress-google", self::scripts_google_tag(), null, null, $footer),
830
  array('mappress-markerclusterer', self::unpkg('markerclusterer', 'index.min.js'), null, null, $footer),
831
+ array('mappress-leaflet-markercluster', $lib . '/leaflet/leaflet.markercluster.js', null, null, $footer),
832
  array('mappress', $js . "/index_mappress.js", $deps, self::$version, $footer),
833
  array('mappress_admin', $js . "/index_mappress_admin.js", $admin_deps, self::$version, $footer)
834
  );
1003
 
1004
  // Leaflet CSS
1005
  if (self::$options->engine == 'leaflet') {
1006
+ $styles->add('mappress-leaflet', self::$baseurl . '/lib/leaflet/leaflet.css', null, '1.7.1');
1007
  $deps[] = 'mappress-leaflet';
1008
  if (self::$options->clustering) {
1009
+ $styles->add('mappress-leaflet-markercluster-default', self::$baseurl . "/lib/leaflet/MarkerCluster.Default.css", null, '1.4.1');
1010
  $deps[] = 'mappress-leaflet-markercluster-default';
1011
+ $styles->add('mappress-leaflet-markercluster', self::$baseurl . "/lib/leaflet/MarkerCluster.css", null, '1.4.1');
1012
  $deps[] = 'mappress-leaflet-markercluster';
1013
  }
1014
  }
1121
 
1122
  static function unpkg($package, $filename) {
1123
  $urls = array(
 
1124
  'markerclusterer' => 'https://unpkg.com/@googlemaps/markerclusterer@%s/dist',
 
 
1125
  );
1126
  $versions = array(
 
1127
  'markerclusterer' => '2.0.11',
 
 
1128
  );
1129
 
1130
  $url = $urls[$package];
1131
  $version = $versions[$package];
1132
+ return apply_filters('mappress_unpkg', sprintf($url, $version) . "/$filename", $package, $filename);
1133
  }
1134
 
1135
  /**
readme.txt CHANGED
@@ -2,10 +2,10 @@
2
  Contributors: chrisvrichardson
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4339298
4
  Tags: maps, google maps, map, map markers, google map, leaflet maps, leaflet map plugin, google maps plugin, wp google maps, wp google map, map plugin, store locator, google map plugin, map widget,
5
- Requires at least: 5.3
6
  Requires PHP: 5.6
7
  Tested up to: 6.1
8
- Stable tag: 2.84.8
9
 
10
  == Description ==
11
  MapPress is the easiest way to add beautiful interactive Google and Leaflet maps to WordPress.
@@ -89,6 +89,13 @@ Please see the plugin documentation pages:
89
 
90
  == Changelog ==
91
 
 
 
 
 
 
 
 
92
  = 2.84.8 =
93
  * Fixed: complianz not working
94
 
2
  Contributors: chrisvrichardson
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4339298
4
  Tags: maps, google maps, map, map markers, google map, leaflet maps, leaflet map plugin, google maps plugin, wp google maps, wp google map, map plugin, store locator, google map plugin, map widget,
5
+ Requires at least: 5.7
6
  Requires PHP: 5.6
7
  Tested up to: 6.1
8
+ Stable tag: 2.84.10
9
 
10
  == Description ==
11
  MapPress is the easiest way to add beautiful interactive Google and Leaflet maps to WordPress.
89
 
90
  == Changelog ==
91
 
92
+ = 2.84.10 =
93
+ * Fixed: POI hover effect not triggering if POI isn't opened on hover
94
+
95
+ = 2.84.9 =
96
+ * Added: local leaflet libraries for GDPR
97
+ * Changed: removed obsolete translation files
98
+
99
  = 2.84.8 =
100
  * Fixed: complianz not working
101