MapPress Easy Google Maps - Version 2.60

Version Description

  • Added: updated flex-based mashup list & popup templates with better thumbnail support - please update any custom template
  • Added: updated map popup template and CSS - please update any custom templates
  • Added: for classic editor: put the cursor on a shortcode to open that map in editor
  • Added: better infobox panning and sizing
  • Added: mashup thumbnail position can now be set in MapPress settings
  • Added: setting to open POIs on mouse hover
  • Added: map library now supports column sorting by mapid, map title, and post title
  • Added: window.location is now passed as argument ($args->url) to filter 'mappress_pre_query'
  • Added: classic editor is now React-based
Download this release

Release Info

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

Code changes from version 2.58 to 2.60

build/index_mappress.js CHANGED
@@ -1 +1 @@
1
- (()=>{var t={854:()=>{function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}var e,i=window.mapp||{};e=jQuery,i.Map=function(t,e){this.defaults={alignment:null,center:null,classname:null,editable:null,embed:null,height:null,initialOpenDirections:null,initialOpenInfo:null,layers:null,layout:null,mapid:null,mapTypeId:null,metaKey:null,mapOpts:null,name:null,poiList:null,pois:null,postid:null,query:null,sel:null,title:null,width:null,zoom:null},this.dirty=!1,this.iw=null,this.tt=null,this.opened=null,this.places=null,this.selected=null,this.settings=e||{},this.templates=null,this.clusterer=null,this.dir_=null,this.div={},this.layers_={},this.map_=null,this.pois_=[],this.xhr_,this.zindex_=0,_.extend(this,this.defaults,t,this.settings),this.layout=this.layout?this.layout:mappl10n.options.layout,this.poiList=this.poiList?this.poiList:mappl10n.options.poiList,this.postid=this.postid?this.postid:mappl10n.options.postid},i.Map.prototype={display:function(){var t=this;!0===this.sanity()&&(this.render(),this.editable?this.templates={loop:"edit-loop",item:"edit-item",popup:"edit-popup"}:this.query?this.templates={loop:"map-loop",item:"mashup-item",popup:"mashup-popup",tooltip:"mashup-tooltip"}:this.templates={loop:"map-loop",item:"map-item",popup:"map-popup",tooltip:"map-tooltip"},"leaflet"==mappl10n.options.engine?this.mapOpts=_.extend({attribution:'Map data <a href="https://openstreetmap.org">OpenStreetMap</a>',minZoom:0,worldCopyJump:!0,zoomControl:null},this.mapOpts):this.mapOpts=_.extend({backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,mapTypeControl:!1,mapTypeControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},minZoom:0,scaleControl:!0,streetViewControl:!this.query},this.mapOpts),this.mapOpts.minZoom=isNaN(parseInt(this.mapOpts.minZoom))?0:parseInt(this.mapOpts.minZoom),"leaflet"==mappl10n.options.engine?(this.map_=new L.Map(this.div.canvas.get(0),this.mapOpts),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(this.map_)):(this.map_=new google.maps.Map(this.div.canvas.get(0),{mapTypeId:"roadmap",zoom:1}),this.map_.setOptions(this.mapOpts),this.addLayers()),this.addStyles(),this.addMenu(),this.addPopup(),this.setMapTypeId(this.mapTypeId),this.clustering(),this.places=new i.Places(e(".mapp-places",this.div.search),{map:t}),this.editable&&this.places.sel.focus(),e(this.places).on("search.mapp",(function(e,i){t.search(i)})),this.addEvents("click dragstart zoom_changed zoomstart",(function(e){"leaflet"==mappl10n.options.engine&&"click"==e.type&&e.originalEvent&&!e.originalEvent.target.matches(".mapp-canvas")||t.poiClose()})),this.div.layout.on("click","[data-mapp-action]",(function(i){var o=e(this).attr("data-mapp-action");i.preventDefault(),t.action(o,e(this).attr("data-mapp-"+o),e(this))})),this.div.filters.on("change",(function(){t.ajaxQuery()})),e(window).resize((function(){t.toggleView("mini"),t.poiClose(),t.resize()})),i.event.addListener(t.map_,"maptypeid_changed baselayerchange",(function(){t.set({dirty:!0})})),this.places.parse(this.center,(function(e){e&&e.geometry&&e.geometry.location?t.center={lat:e.geometry.location.lat,lng:e.geometry.location.lng}:t.center=null,t.query?t.ajaxQuery((function(){t.initCenter()})):(t.setPois(t.pois),t.initCenter())})))},initCenter:function(){var t=this;this.recenter(),this.renderList(),this.query&&mappl10n.options.search&&!this.editable&&this.addSearchMove(),"leaflet"==mappl10n.options.engine?this.initOpen():i.event.addListenerOnce(t.map_,"idle",(function(){t.initOpen()}))},initOpen:function(){var t=this.pois_.length?this.pois_[0]:null,e=null!=this.initialOpenInfo?this.initialOpenInfo:mappl10n.options.initialOpenInfo;this.initialOpenDirections?this.directionsOpen(null,t):t&&e&&t.open()},action:function(t,i,o){var n=this;switch(t){case"center":this.toggleView("menu",!1),this.poiClose(),this.recenter();break;case"dir":this.directionsOpen(null,this.selected);break;case"dir-from":this.directionsOpen(this.selected,null);break;case"filters-reset":this.div.filters.find(":input").each((function(){"checkbox"==this.type||"radio"==this.type?e(this).prop("checked",!1):e(this).val("")})),this.ajaxQuery();break;case"filters-toggle":this.toggleView("filters");break;case"geolocate":this.places.geolocate((function(t){n.search(t)}));break;case"layer":this.toggleLayer(i),this.toggleView("menu",!1);break;case"list-toggle":this.togglePoiListOpen();break;case"menu-toggle":this.toggleView("menu");break;case"open":var s=o.attr("data-mapp-poi");this.poiOpen(this.pois_[s]);break;case"view-map":this.togglePoiListOpen(!1);break;case"view-list":this.togglePoiListOpen(!0);break;default:return!0}},addEvents:function(t,e){t=t.split(" ");for(var o=0;o<t.length;o++)i.event.addListener(this.map_,t[o],e)},addLayers:function(){this.layers_={traffic:new google.maps.TrafficLayer,bicycling:new google.maps.BicyclingLayer,transit:new google.maps.TransitLayer};for(var t=e.makeArray(this.layers),i=0;i<t.length;i++){var o=t[i].trim(),n=o.split(".").pop();this.layers_[o]?this.toggleLayer(o):"kml"==n||"kmz"==n?this.layers_[o]=new google.maps.KmlLayer({map:this.map_,preserveViewport:!0,url:o}):"json"==n&&(this.layers_[o]=new google.maps.Data({map:this.map_}).loadGeoJson(o))}},addMenu:function(){var t=this;e("body").on("click",(function(i){var o=e(i.target),n=o.attr("data-mapp-action");o==t.div.filters||"filters-toggle"==n||o.closest(t.div.filters).length||t.toggleView("filters",!1),o==t.div.menu||"menu-toggle"==n||o.closest(t.div.menu).length||t.toggleView("menu",!1)}))},addPopup:function(){var t=this,o=this.editable?"mapp-iw-edit":"mapp-iw";if(o+=" mapp-"+this.templates.popup,this.div.iw=e('<div class="'+o+'">').appendTo(this.div.canvas),"ib"==mappl10n.options.iwType||this.editable){var n=this.editable?"mapp-ib-popup mapp-ib-edit":"mapp-ib-popup";this.iw=new i.Infobox(this.map_,{className:n,clip:!0,pan:!0})}else this.iw="leaflet"==mappl10n.options.engine?L.popup({maxWidth:"auto"}):new google.maps.InfoWindow;this.iw.setContent(this.div.iw.get(0)),this.div.iw.on("click",".mapp-close",(function(){t.poiClose()})),e(window).resize((function(){t.poiClose()})),mappl10n.options.tooltips&&!this.editable&&(o="mapp-iw mapp-"+this.templates.popup,this.div.tt=e('<div class="'+o+'">').appendTo(this.div.canvas),this.tt=new i.Infobox(this.map_,{className:"mapp-ib-tooltip",clip:!0,pan:!1}),this.tt.setContent(this.div.tt.get(0)),this.tt&&(this.div.list.on("mouseenter","[data-mapp-poi]",(function(i){var o=e(this).attr("data-mapp-poi");o&&t.poiOpenTooltip(t.pois_[o])})),this.div.list.on("mouseleave","[data-mapp-poi]",(function(e){t.poiCloseTooltip()}))))},addSearchMove:function(){},addStyles:function(){var o=this;if("leaflet"==mappl10n.options.engine){if(this.mapOpts.mapTypeControl){for(var n=L.control.layers(),s=0;s<mappl10n.options.baseLayers.length;s++){var a=mappl10n.options.baseLayers[s],l=mappl10n.options.providers[a.provider],p=e.extend({},l,a);n.addBaseLayer(L.tileLayer(l.url,p),p.label)}mappl10n.options.baseLayers.length>1&&n.addTo(this.map_)}this.map_.on("baselayerchange",(function(t){o.mapTypeId=t.layer.options.name}))}else{var r=mappl10n.options.styles?mappl10n.options.styles:[],h=mappl10n.options.style,c=["roadmap","satellite","terrain","hybrid"];for(var u in h&&"object"==t(r[h])&&this.map_.setOptions({styles:r[h]}),r)this.map_.mapTypes.set(u,new google.maps.StyledMapType(r[u],{name:u})),c.push(u);this.mapOpts.mapTypeControl&&this.map_.setOptions({mapTypeControl:!0,mapTypeControlOptions:{mapTypeIds:c,position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}}),i.event.addListener(this.map_,"maptypeid_changed",(function(){o.mapTypeId=o.map_.getMapTypeId()}))}},ajaxQuery:function(t){},clusterGetLatLng:function(t){if(this.clusterer){if("leaflet"==mappl10n.options.engine){var e=this.clusterer.getVisibleParent(t.overlay);return e?e.getLatLng():null}for(var i=this.clusterer.getClusters(),o=0;o<i.length;o++){var n=i[o].markers_;if(n.length>1)for(var s=0;s<n.length;s++)if(n[s]==t.overlay)return i[o].center_}}},clustering:function(){mappl10n.options.clustering&&!this.editable&&("leaflet"==mappl10n.options.engine?this.clusterer=L.markerClusterGroup():this.clusterer=new MarkerClusterer(this.map_,[],{imagePath:mappl10n.options.baseurl+"/lib/js-markerclustererplus-main/images/m"}))},clustersReset:function(){this.clusterer&&("leaflet"==mappl10n.options.engine?this.clusterer.clearLayers():this.clusterer.clearMarkers())},clustersSet:function(){if(this.clusterer){for(var t=[],e=0;e<this.pois_.length;e++)this.pois_[e].type||t.push(this.pois_[e].overlay);"leaflet"==mappl10n.options.engine?(this.clusterer.addLayers(t),this.map_.addLayer(this.clusterer)):this.clusterer.addMarkers(t)}},dialog:function(t,e){var i=this;t?(this.div.dialog.html(t),this.div.dialog.show(),e&&(clearTimeout(this.dialog.fade),this.dialog.fade=setTimeout((function(){i.dialog(null)}),4e3))):this.div.dialog.hide()},directionsOpen:function(t,e){var o=t?t.getAddress():"",n=e?e.getAddress():"";t?t.open():e&&e.open(),this.dir_||(this.dir_=new i.Directions(this.div.directions,this)),this.dir_.open(o,n)},fitBounds:function(t,e){return e="leaflet"==mappl10n.options.engine&&e?{paddingTopLeft:[e.left,e.top],paddingBottomRight:[e.right,e.bottom]}:e,this.map_.fitBounds(t,e)},getBounds:function(){try{return this.map_.getBounds()}catch(t){return null}},getCenter:function(){try{return this.map_.getCenter()}catch(t){return null}},getMapTypeId:function(t){return"leaflet"==mappl10n.options.engine?"roadmap":this.map_.getMapTypeId(t)},getMap:function(){return this.map_},getPois:function(){return this.pois_},getZoom:function(){try{return this.map_.getZoom()}catch(t){return null}},poiClose:function(){this.opened=null,"ib"==mappl10n.options.iwType||this.editable?this.iw.close():"leaflet"==mappl10n.options.engine?this.map_.closePopup():this.iw.close(),this.dir_&&this.dir_.close(),this.select(null),e(this).triggerHandler("mapp.close")},poiCloseTooltip:function(){var t=mappl10n.options.debugTooltips;this.tt&&!t&&this.tt.close()},poiInsert:function(t){this.pois_.unshift(t),t.setMap(this),this.renderList(),this.select(t),this.set({dirty:!0})},poiOpen:function(t,i){var o=null;if(this.poiClose(),this.poiCloseTooltip(),this.select(t),this.opened=t,"poi"!=mappl10n.options.mashupClick&&t.postid&&t.url)"post"==mappl10n.options.mashupClick?window.location.assign(t.url):window.open(t.url);else{this.div.layout.hasClass("mapp-view-mini")&&this.togglePoiListOpen(!1),i&&i.featureData?o=i.featureData:i&&i.propagatedFrom&&i.propagatedFrom.feature&&i.propagatedFrom.feature.properties&&(o=i.propagatedFrom.feature.properties),this.poiSetMaxSize(t),this.div.iw.html(t.render("popup",o));var n=this.clusterGetLatLng(t),s=n||t.getPosition(i);if("ib"==mappl10n.options.iwType||this.editable)this.iw.open({position:s,anchorPoint:t.getAnchorPoint(i)});else if("leaflet"==mappl10n.options.engine)this.iw.setLatLng(s),this.iw.options.offset=t.getAnchorPoint(),this.map_.openPopup(this.iw);else{var a=new google.maps.MVCObject;a.setValues({position:s,anchorPoint:t.getAnchorPoint(i)}),this.iw.open(this.map_,a)}e(this).triggerHandler("mapp.open",t)}},poiOpenTooltip:function(t){if(!(this.div.layout.hasClass("mapp-view-mini")&&this.div.layout.hasClass("mapp-list-open")||this.opened)){this.div.tt.html(t.render("tooltip"));var e=this.clusterGetLatLng(t),i=e||t.getPosition();this.tt.open({position:i,anchorPoint:t.getAnchorPoint()})}},poiRemove:function(t){var i=e.inArray(t,this.pois_);-1!=i&&(this.pois_[i].setMap(null),this.pois_.splice(i,1),this.renderList()),this.set({dirty:!0})},poiSetMaxSize:function(t){if("ib"!=mappl10n.options.iwType&&"leaflet"==mappl10n.options.engine){var e=t.getAnchorPoint();this.div.iw.css({"max-height":this.div.canvas.height()+e[1]-50,"max-width":this.div.canvas.width()-e[0]-50})}},recenter:function(){var t=this.center&&this.center.lat&&this.center.lng?this.center:null,e=this.zoom&&parseInt(this.zoom)?parseInt(this.zoom):null;if(t&&!e&&this.query)this.search({geometry:{location:{lat:t.lat,lng:t.lng}}});else if(t)this.setView(t,e||1);else if(0!=this.pois_.length)if(1!=this.pois_.length){for(var i="leaflet"==mappl10n.options.engine?new L.LatLngBounds:new google.maps.LatLngBounds,o=0;o<this.pois_.length;o++){var n=this.pois_[o].getBounds(),s=this.pois_[o].getPosition();i=n?"leaflet"==mappl10n.options.engine?i.extend(n):i.union(n):i.extend(s)}e?this.setView(i.getCenter().toJSON(),e):this.fitBounds(i)}else this.pois_[0].center(e);else this.setView({lat:0,lng:0},e||1)},render:function(){var t=this,o=i.lib.template("map",{map:this});if(this.sel?(this.sel.html(o),this.div.layout=e(".mapp-layout",this.sel)):(e("#"+this.name+"-layout").replaceWith(o),this.div.layout=e("#"+this.name+"-layout")),!this.div.layout.length)return i.lib.log("MapPress: Missing map name or container for map: "+this.name);e.each(["canvas","controls","dialog","directions","filters","list","menu","wrapper","search"],(function(i,o){t.div[o]=e(".mapp-"+o,t.div.layout)})),this.setSize({width:this.width,height:this.height}),this.set({poiList:this.poiList})},renderList:function(){var t=this.getBounds(),o=0,n=this;if(!this.editable)for(var s=0;s<this.pois_.length;s++)this.pois_[s].visible="kml"!=this.pois_[s].type,this.query&&t&&!t.contains(this.pois_[s].getPosition())&&(this.pois_[s].visible=!1),o+=this.pois_[s].visible;this.div.list.html(i.lib.template(this.templates.loop,{map:this,pois:this.pois_,count:o})),this.editable&&e(".mapp-items",this.div.list).sortable({axis:"y",cursor:"move",delay:200,update:function(){n.sortPois(e(this).sortable("toArray",{attribute:"data-mapp-poi"}))}})},renderMenu:function(){for(layer in this.layers_)e('[data-mapp-layer="'+layer+'"]',this.div.layout).toggleClass("mapp-active",null!=this.layers_[layer].getMap())},resetPois:function(){for(var t=0;t<this.pois_.length;t++)this.pois_[t].setMap(null);this.pois_=[],this.zindex_=0,this.clustersReset()},resize:function(){this.map_&&("leaflet"==mappl10n.options.engine?this.map_.invalidateSize():i.event.trigger(this.map_,"resize"),this.toggleView("mini"))},sanity:function(){if("undefined"==typeof _)return i.lib.alert("ERROR: underscore.js not loaded. Check cacheing / optimizing plugins.");if("leaflet"==mappl10n.options.engine){if("undefined"==typeof L)return i.lib.alert("ERROR: Unable to load Leaflet")}else{if("undefined"==typeof google)return i.lib.alert("ERROR: Google Maps API not loaded");e(document).ready((function(){e('script[src*="https://maps.googleapis.com/maps/api/js?v=3"]').length>1&&i.lib.alert("ERROR: Google Maps API key loaded multiple times, please see MapPress FAQ.")}))}return!0},search:function(t){if(t&&t.geometry){var e=t.geometry.location?t.geometry.location:null,i=t.geometry.viewport?t.geometry.viewport:null;if("leaflet"==mappl10n.options.engine)var o=new L.LatLng(e.lat,e.lng),n=i?new L.LatLngBounds(new L.LatLng(i.sw.lat,i.sw.lng),new L.LatLng(i.ne.lat,i.ne.lng)):o.toBounds(1e3*mappl10n.options.radius);else{var s=new google.maps.Circle({center:e,radius:1e3*mappl10n.options.radius});n=i?new google.maps.LatLngBounds(new google.maps.LatLng(i.sw.lat,i.sw.lng),new google.maps.LatLng(i.ne.lat,i.ne.lng)).union(s.getBounds()):s.getBounds()}n&&this.fitBounds(n),this.setView(e)}},select:function(t){if(e(".mapp-item",this.div.list).removeClass("mapp-selected"),t){var o=e.inArray(t,this.pois_),n=e('[data-mapp-poi="'+o+'"]',this.div.list);i.lib.scrollTo(this.div.list,n),t.setZIndex(++this.zindex_),n.addClass("mapp-selected")}this.selected=t},set:function(t){for(var e in t){var i=t[e];switch(e){case"dirty":this.dirty=i;break;case"mapTypeId":this.mapTypeId=i,this.setMapTypeId(i);break;case"poiList":this.poiList=null==i?mappl10n.options.poiList:i,this.div.layout.toggleClass("mapp-has-list",this.poiList),this.togglePoiListOpen(this.poiList),this.toggleView("mini");break;case"title":this.title=i;break;default:this[e]=i}}},setHighlight:function(t){this.highlight&&("leaflet"==mappl10n.options.engine?this.highlight.remove():this.highlight.setMap(null)),t&&("leaflet"==mappl10n.options.engine?this.highlight=new L.Marker(t.getPosition()).addTo(this.map_):(this.highlight=new google.maps.Marker({position:t.getPosition()}),this.highlight.setMap(this.map_)))},setMapTypeId:function(i){if("leaflet"==mappl10n.options.engine){i=!this.editable&&mappl10n.options.style&&"streets"==i?mappl10n.options.style:i,i=_.findIndex(mappl10n.options.baseLayers,{name:i})>=0?i:mappl10n.options.baseLayers[0].name;for(var o=0;o<mappl10n.options.baseLayers.length;o++){var n=mappl10n.options.baseLayers[o],s=mappl10n.options.providers[n.provider];if(n.name==i){var a=e.extend({},s,n);L.tileLayer(a.url,a).addTo(this.map_)}}}else i=-1!=e.inArray(i,["roadmap","satellite","terrain","hybrid"])||"object"==t(mappl10n.options.styles[i])?i:"roadmap",this.map_.setMapTypeId(i)},setPois:function(t){if(this.resetPois(),t){for(var e=0;e<t.length;e++){var o=new i.Poi(t[e]);this.pois_.push(o),o.id=this.pois_.length-1,o.setMap(this),o.setZIndex(this.zindex_+t.length-1-e)}this.zindex_+=t.length-1}this.clustersSet()},setSize:function(t){var e=mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0];if(this.embed)return this.div.layout.css({height:"100%"}),void this.div.wrapper.css({"padding-bottom":0,height:"100%"});if(t&&t.hasOwnProperty("width")){var i=t.width?t.width:e.width;this.div.layout.css("width",i)}if(t&&t.hasOwnProperty("height")){var o=t.height?t.height:e.height;"string"==typeof o&&o.includes("%")?this.div.wrapper.css({"padding-bottom":o,height:"auto"}):this.div.wrapper.css({"padding-bottom":0,height:o})}this.resize()},setView:function(t,e,i){"leaflet"==mappl10n.options.engine?(null==e&&(e=this.map_.getZoom()?this.map_.getZoom():0),this.map_.setView(t,e,i)):(t=t&&!t.toJSON?{lat:parseFloat(t.lat),lng:parseFloat(t.lng)}:t,e=e?parseInt(e):null,t&&this.map_.setCenter(t),e&&this.map_.setZoom(e))},sortPois:function(t){var e=Array();this.set({dirty:!0});for(var i=0;i<t.length;i++){var o=parseInt(t[i]);if(isNaN(o))return!1;e.push(this.pois_[o])}if(e.length!=this.pois_.length)return!1;this.pois_=e,this.renderList()},toggleLayer:function(t,i){var o=this;i=void 0!==i?i:null==this.layers_[t].getMap(),e.each(["traffic","bicycling","transit"],(function(t,e){o.layers_[e].setMap(null)})),i&&this.layers_[t].setMap(this.map_)},togglePoiListOpen:function(t){var e=this;this.div.layout.toggleClass("mapp-list-open",t),setTimeout((function(){return e.resize()}),100)},togglePois:function(t){t=!!t;for(var e=0;e<this.pois_.length;e++)this.pois_[e].setVisible(t)},toggleView:function(t,e){if("mini"==t){var i=this.div.layout.hasClass("mapp-view-mini"),o=!("inline"==this.layout||!this.poiList)&&this.div.layout.width()<mappl10n.options.mini;return this.div.layout.toggleClass("mapp-view-mini",o),void(o!=i&&this.togglePoiListOpen(!o))}e=void 0===e?!this.div.layout.hasClass("mapp-view-"+t):e,this.div.layout.toggleClass("mapp-view-"+t,e),"list"==t&&e&&this.renderList(),"menu"==t&&e&&this.renderMenu(),"directions"==t&&this.resize()},toJSON:function(){this.pois=[];for(var t=0;t<this.pois_.length;t++)this.pois.push(this.pois_[t].toJSON());return{center:this.center,height:this.height,mapid:this.mapid,mapTypeId:this.mapTypeId,metaKey:this.metaKey,pois:this.pois,postid:this.postid,title:this.title,width:this.width,zoom:this.zoom}},ajaxSave:function(t){var e=this;this.postid&&"0"!=this.postid||(this.postid=mappl10n.options.postid),i.lib.ajax({type:"POST",data:{action:"mapp_save",mapdata:JSON.stringify(this),nonce:mappl10n.options.nonce},callback:function(i){i&&"OK"==i.status&&(e.mapid||(e.mapid=i.data.mapid),t&&t())}})}},i.Map.ajaxGet=function(t,e){i.lib.ajax({type:"GET",data:{action:"mapp_get",mapid:t,nonce:mappl10n.options.nonce},callback:function(t){"OK"==t.status&&e(t.data)}})},i.Map.ajaxDelete=function(t,e){i.lib.ajax({type:"POST",data:{action:"mapp_delete",mapid:t,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status&&e&&e()}})}},397:()=>{var t,e=window.mapp||{};t=jQuery,e.Directions=function(e,i){this.sel=t(e),this.map=i;var o=this;this.sel.on("keydown",(function(t){13==t.which?(o.getDirections(),t.preventDefault()):27==t.which&&o.close()})),this.sel.on("click","[data-mapp-action]",(function(e){var i=t(this).attr("data-mapp-action"),n=t(".mapp-dir-daddr",o.sel).val(),s=t(".mapp-dir-saddr",o.sel).val();switch(e.preventDefault(),i){case"dir-cancel":o.close();break;case"dir-get":o.getDirections();break;case"dir-swap":t(".mapp-dir-saddr",o.sel).val(n),t(".mapp-dir-daddr",o.sel).val(s)}})),this.open=function(e,i){"google"!=mappl10n.options.directions?(this.map.toggleView("directions",!0),t(".mapp-dir-addr",this.sel).removeClass("mapp-error"),t(".mapp-dir-saddr",this.sel).val(e),t(".mapp-dir-daddr",this.sel).val(i)):this.openGoogle(e,i)},this.close=function(){this.map.toggleView("directions",!1)},this.getDirections=function(){var e=t(".mapp-dir-saddr",this.sel).val().trim(),i=t(".mapp-dir-daddr",this.sel).val().trim();this.map.poiClose(),this.openGoogle(e,i)},this.openGoogle=function(t,e){var i=mappl10n.options.directionsServer;-1==i.toLowerCase().indexOf("http")&&(i="https://"+i),i+="/maps/dir/?api=1&origin="+encodeURIComponent(t)+"&destination="+encodeURIComponent(e),window.open(i)}}},442:(t,e,i)=>{"use strict";i.r(e);var o,n=i(991),s=i(574),a=window.mapp||{};a.geocoders={},o=jQuery,a.geocoders.algolia=function(t){this.map=t},a.geocoders.algolia.prototype={getDetails:function(t,e){e({formatted_address:t.value,name:t.name,geometry:{location:t.latlng}})},getFirstPrediction:function(t,e){var i=this;this.getPredictions(t,(function(t){t&&t.length?i.getDetails(t[0],(function(t){return e(t)})):e(null)}))},getPredictions:function(t,e){var i="https://places-dsn.algolia.net/1/places/query?query="+encodeURIComponent(t)+"&hitsPerPage=5";i=mappl10n.options.country?i+"&countries="+mappl10n.options.country.toLowerCase():i,i=mappl10n.options.language?i+"&language="+mappl10n.options.language.toLowerCase():i+"&language=en",o.getJSON(i,(function(i){if(i&&i.hits&&i.hits.length>0){var o=i.hits.map((function(e,o){return(0,n.Z)({formatInputValue:s.Z,hit:e,hitIndex:o,query:t,rawAnswer:i})}));e(o)}else e(null)}))}},function(t){a.geocoders.google=function(e){this.map=e,this.token=null;var i=t('<div style="display:none">').appendTo("body");this.placesService=new google.maps.places.PlacesService(i.get(0)),this.autocompleteService=new google.maps.places.AutocompleteService,i.remove()},a.geocoders.google.prototype={getDetails:function(t,e){this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken,this.token=null;var i={placeId:t.place_id,sessionToken:this.token};this.placesService.getDetails(i,(function(t,i){if("OK"==i&&t&&t.geometry){if(t.geometry.location&&(t.geometry.location=t.geometry.location.toJSON()),t.geometry.viewport){var o=t.geometry.viewport.toJSON();t.geometry.viewport={sw:{lat:o.south,lng:o.west},ne:{lat:o.north,lng:o.east}}}e(t)}else e(null)}))},getFirstPrediction:function(e,i){var o=this;this.getPredictions(e,(function(e){e&&t.isArray(e)?o.getDetails(e[0],(function(t){return i(t)})):i(null)}))},getPredictions:function(t,e){this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;var i=this.map.getMap().getBounds();"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 o={input:t,bounds:i=i||new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180)),sessionToken:this.token,types:this.map.editable?null:["geocode"]};this.autocompleteService.getPlacePredictions(o,(function(t,i){"OK"==i&&t&&t.length?(t=t.map((function(t){return t.value=t.description,t})),e(t)):(i==google.maps.places.PlacesServiceStatus.REQUEST_DENIED?alert("Google Maps API Key error: please enable the Places API in the Google Developer Console."):i==google.maps.places.PlacesServiceStatus.OVER_QUERY_LIMIT&&alert("Google Maps API Key has exceeded its query limit"),e(null))}))}}}(jQuery),function(t){a.geocoders.mapbox=function(t){this.map=t},a.geocoders.mapbox.prototype={getDetails:function(t,e){var i=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;e({formatted_address:t.place_name,name:t.name,geometry:{location:{lat:t.center[1],lng:t.center[0]},viewport:i}})},getFirstPrediction:function(t,e){var i=this;this.getPredictions(t,(function(t){t&&t.length?i.getDetails(t[0],(function(t){return e(t)})):e(null)}))},getPredictions:function(e,i){var o="https://api.mapbox.com/geocoding/v5/mapbox.places/"+e+".json?access_token="+mappl10n.options.mapbox;o=mappl10n.options.country?o+"&country="+mappl10n.options.country.toLowerCase():o,o=mappl10n.options.language?o+"&language="+mappl10n.options.language.toLowerCase():o,t.getJSON(o,(function(t){t&&t.features&&t.features.length>0?(t.features=t.features.map((function(t){return t.value=t.label=t.place_name,t})),i(t.features)):i(null)}))}}}(jQuery),function(t){a.geocoders.nominatim=function(t){this.map=t},a.geocoders.nominatim.prototype={getDetails:function(t,e){var i=t.display_name,o=i.indexOf(","),n=i.indexOf(",",o+1);o>0&&(i=parseInt(i.substr(0,o))?i.substr(0,n).replace(",",""):i.substr(0,o));var s=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;e({formatted_address:t.display_name,name:i,geometry:{location:{lat:t.lat,lng:t.lon},viewport:s}})},getFirstPrediction:function(t,e){var i=this;this.getPredictions(t,(function(t){t&&t.length?i.getDetails(t[0],(function(t){return e(t)})):e(null)}))},getPredictions:function(e,i){var o="https://nominatim.openstreetmap.org/search?format=json&dedupe=1&limit=5&q="+encodeURIComponent(e);o=mappl10n.options.country?o+"&countrycodes="+mappl10n.options.country.toLowerCase():o,o=mappl10n.options.language?o+"&accept-language="+mappl10n.options.language.toLowerCase():o,t.getJSON(o,(function(t){t&&t.length?(t=t.map((function(t){return t.value=t.display_name,t})),i(t)):i(null)}))}}}(jQuery)},282:()=>{var t=window.mapp||{};t.Icons={},t.Icons.get=function(t){var e="https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";return"leaflet"==mappl10n.options.engine?L.icon({iconUrl:e,iconAnchor:[16,32],iconSize:[32,32],popupAnchor:[0,-32]}):{url:e}},t.Icons.getUrl=function(t){return"https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png"}},689:()=>{var t,e=window.mapp||{};t=jQuery,e.Infobox=function(e,i){this.map=e,this.isOpen=!1,this.mapDiv="leaflet"==mappl10n.options.engine?e.getContainer():e.getDiv(),this.node=null,this.opts=_.extend({clip:!0,pan:!0},i),this.overlayView=null,"leaflet"!=mappl10n.options.engine&&(this.overlayView=new google.maps.OverlayView,this.overlayView.draw=function(){},this.overlayView.setMap(this.map));var o='<div class="mapp-ib-wrapper" tabindex="0"><div class="mapp-ib" tabindex="0"></div><div class="mapp-ib-tip"></div>';this.node=this.opts.clip?t(o).appendTo(this.mapDiv):t(o).appendTo("body"),this.node.addClass(i.className)},e.Infobox.prototype={close:function(){this.isOpen=!1,this.node.removeClass("mapp-open")},getCanvasOffset:function(){if(this.opts.clip)return{x:0,y:0};var t=this.mapDiv.getBoundingClientRect();return t.x+=window.scrollX,t.y+=window.scrollY,{x:t.x,y:t.y}},getContent:function(){return t(".mapp-ib",this.node)},getOverlayXY:function(t){if("leaflet"==mappl10n.options.engine)return this.map.latLngToContainerPoint(t);var e=this.overlayView.getProjection();return e?e.fromLatLngToContainerPixel(t):null},open:function(e){var i=e.anchorPoint,o=this.getOverlayXY(e.position),n=t(this.mapDiv).width(),s=t(this.mapDiv).height(),a=this.getCanvasOffset();if(null!==o){"leaflet"==mappl10n.options.engine&&(i={x:e.anchorPoint[0],y:e.anchorPoint[1]-10}),this.node.addClass("mapp-open"),this.node.css({left:0,top:0});var l=this.node.outerWidth(),p=this.node.outerHeight();if(this.opts.pan){var r={x:o.x,y:o.y};o.x+l/2+i.x>n?r.x=Math.max(n-l/2-i.x,n/2-i.x):o.x-l/2+i.x<0&&(r.x=Math.min(l/2+i.x,n/2-i.x)),o.y+i.y-p<0&&(r.y=Math.min(p-i.y,p-i.y)),r.y>=s&&(r.y=s-1),"leaflet"==mappl10n.options.engine?this.map.panBy([o.x-r.x,o.y-r.y]):this.map.panBy(o.x-r.x,o.y-r.y),o=r}var h=o.y-p+i.y,c=o.x-l/2+i.x;this.opts.clip||(h+=a.y,c+=a.x);var u=this.opts.clip?n:document.body.clientWidth;c+l>u&&(c=u-l),c<0&&(c=0),this.node.css({left:c}),p=this.node.outerHeight(),h=o.y-p+i.y,this.node.removeClass("mapp-ib-flip"),this.opts.clip&&!this.opts.pan&&h<0&&h<s-(o.y+p)&&(h=o.y,this.node.addClass("mapp-ib-flip")),this.node.css({top:h});var g=t(".mapp-ib-tip",this.node),d=parseInt(window.getComputedStyle(document.querySelector(".mapp-ib-tip"),":before").getPropertyValue("width")),m=o.x-c+a.x;m<d/2&&(m=d/2),g.css({left:m}),this.isOpen=!0}},setContent:function(e){t(".mapp-ib",this.node).empty().append(e)}}},628:()=>{var t,e=window.mapp||{};t=jQuery,e.lib={ajax:function(e){var i=this,o={callback:null,data:null,silent:!1,type:"GET",url:mappl10n.options.ajaxurl,success:function(t,o,n){"OK"!=t.status&&console.log(t.status),t.output?i.alert("AJAX Invalid Output\r\n"+t.output):e.callback&&e.callback(t,n)},error:function(t,o,n){"cancel"!=o&&(void 0!==n&&""!=n&&i.alert("AJAX ERROR\r\nTextStatus="+o+"\r\nError="+n+"\r\nResponseText="+t.responseText),e.callback&&e.callback(null))}};return e=t.extend(o,e),t.ajax(e)},alert:function(t){function e(_x){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){mappl10n.options.admin||mappl10n.options.debug?alert(t):window.console&&console.error(t)})),jqVersionCheck:function(e){if(void 0===t||void 0===e)return!1;e=e.split("."),v=t.fn.jquery.split(".");for(var i=0;i<e.length;i++){var o=parseInt(e[i]),n=void 0!==v[i]?parseInt(v[i]):0;if(n!=o)return n>o}return!0},log:function(t){window.console&&console.error(t)},scrollTo:function(t,e,i){if(t&&e&&t.length&&e.length){var o=t.height(),n=e.outerHeight(!0),s=t.scrollTop(),a=s+e.position().top,l=a+n;a=a-o/2-n/2,i&&(a-=i.outerHeight(!0)),(a<s||l>s+o)&&t.scrollTop(a)}},template:function(i,o){if(e.lib.templates=e.lib.templates?e.lib.templates:{},!e.lib.templates[i]){var n=mappl10n.options.templates?mappl10n.options.template[i]:t("#mapp-tmpl-"+i).html();if(!n)return"";e.lib.templates[i]=_.template(n.replace(/[\n\r\t]/g,""),null,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g})}return e.lib.templates[i](o)}},e.lib.jqVersionCheck("1.7")||e.lib.alert("jQuery version is too old: "+t.fn.jquery),t("body").on("tabsactivate tabsshow",(function(e,i){var o=i.newPanel?i.newPanel:i.panel;o&&t(".mapp-layout",o).each((function(){var e=t(this).find(".mapp-canvas").attr("id"),i=window[e];i.resize(),i.recenter()}))})),jQuery,"leaflet"==mappl10n.options.engine&&(L.LatLng.prototype.toJSON=function(){return{lat:this.lat,lng:this.lng}},L.LatLngBounds.prototype.toJSON=function(){return{south:this.getSouth(),west:this.getWest(),north:this.getNorth(),east:this.getEast()}},L.LatLng.prototype.toUrlValue=function(){return Math.round(1e6*this.lat)/1e6+", "+Math.round(1e6*this.lng)/1e6}),e.event={addListener:function(t,e,i){e=e.split(" ");for(var o=0;o<e.length;o++)"leaflet"==mappl10n.options.engine?t.on(e[o],i):google.maps.event.addListener(t,e[o],i)},addListenerOnce:function(t,e,i){e=e.split(" ");for(var o=0;o<e.length;o++)"leaflet"==mappl10n.options.engine?t.once(e[o],i):google.maps.event.addListenerOnce(t,e[o],i)},clearInstanceListeners:function(t){"leaflet"==mappl10n.options.engine?t.off():google.maps.event.clearInstanceListeners(t)},clearListeners:function(t,e){e=e.split(" ");for(var i=0;i<e.length;i++)"leaflet"==mappl10n.options.engine?t.off(e[i]):google.maps.event.clearListeners(t,e[i])},trigger:function(t,e,i){"leaflet"==mappl10n.options.engine?t.fire(e,i):google.maps.event.trigger(t,e,i)}}},692:()=>{jQuery,mapp.load=function(){if("undefined"!=typeof mapp&&mapp.data)for(;mapp.data.length;){var t=mapp.data.pop();window[t.name]=new mapp.Map(t),window[t.name].display()}},mapp.load()},510:()=>{var t,e=window.mapp||{};t=jQuery,e.Places=function(i,o){var n=this;this.sel=t(i),this.opts=t.extend({map:null},o);var s="";s="leaflet"!=mappl10n.options.engine?"google":mappl10n.options.geocoder?mappl10n.options.geocoder:"algolia",this.geocoder=new e.geocoders[s](this.opts.map),this.sel.on("keydown",(function(e){if(13==e.which){e.preventDefault();var i=n.parseLatLng(n.sel.val());i&&(t(n).triggerHandler("search.mapp",i),n.sel.autocomplete("close"),e.stopImmediatePropagation()),"http"==n.sel.val().substring(0,4)&&(t(n).triggerHandler("search.mapp",n.sel.val()),n.sel.autocomplete("close"),e.stopImmediatePropagation()),!1===mappl10n.options.autocomplete&&(n.sel.autocomplete("option","disabled",!1),n.sel.autocomplete("search"))}else!1===mappl10n.options.autocomplete&&n.sel.autocomplete("option","disabled",!0),n.sel.autocomplete("close")})),this.initAutocomplete()},e.Places.prototype={parse:function(t,e){var i="";if(t&&(i=t&&t.name?t.name.trim():t.trim()),i)if("user"!=i)if(t&&t.geometry)e(t);else{var o=this.parseLatLng(t);o?e(o):this.geocoder.getFirstPrediction(t,(function(t){e(t)}))}else this.geolocate((function(t){e(t)}));else e(null)},parseLatLng:function(e){var i;if(e.lat&&e.lng)i=e;else{var o=(e&&e.name?t.trim(e.name):t.trim(e)).split(",");if(2==o.length){var n=parseFloat(o[0]),s=parseFloat(o[1]);isNaN(n)||isNaN(s)||(i={lat:n,lng:s})}}return i?{name:i.lat+", "+i.lng,geometry:{location:i}}:null},geolocate:function(t){var e=this;navigator&&navigator.geolocation?navigator.geolocation.getCurrentPosition((function(i){var o={lat:i.coords.latitude,lng:i.coords.longitude};t({name:o.lat+", "+o.lng,geometry:{location:o}}),e.sel.val("")}),(function(e){var i=e&&e.message?" : "+e.message:"";alert(mappl10n.no_geolocate+i),t(null)}),{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4}):alert(mappl10n.no_geolocate)},initAutocomplete:function(){var e=this;this.sel.on("autocompleteselect",(function(i,o){e.geocoder.getDetails(o.item,(function(i){e.parse(i,(function(i){i&&t(e).triggerHandler("search.mapp",i)}))}))})),this.sel.autocomplete({appendTo:this.sel.parent(),autoFocus:!0,minLength:1,delay:"nominatim"===mappl10n.options.geocoder?500:300,disabled:!1===mappl10n.options.autocomplete,source:function(t,i){e.geocoder.getPredictions(t.term,(function(t){i(t)}))}})}}},548:()=>{var t,e=window.mapp||{};t=jQuery,e.Poi=function(e){if(this.defaults={address:null,body:null,iconid:null,kml:null,map:null,overlay:null,postid:null,props:null,title:"",url:null,type:null,viewport:null},t.extend(this,this.defaults,e),e&&e.correctedAddress&&(this.address=e.correctedAddress),"leaflet"==mappl10n.options.engine&&this.isPoly()&&(this.type=null),e.viewport&&e.viewport.sw&&e.viewport.ne&&e.viewport.sw.lat){var i=e.viewport.sw,o=e.viewport.ne;"leaflet"==mappl10n.options.engine?this.viewport=new L.LatLngBounds(L.latLng(i.lat,i.lng),L.latLng(o.lat,o.lng)):this.viewport=new google.maps.LatLngBounds(new google.maps.LatLng(i.lat,i.lng),new google.maps.LatLng(o.lat,o.lng))}var n=[],s=[];if(!e.overlay)switch(this.type){case"polygon":if(e.poly&&e.poly.paths)for(var a=0;a<e.poly.paths.length;a++){n=[];for(var l=0;l<e.poly.paths[a].length;l++)n.push(new google.maps.LatLng(e.poly.paths[a][l].lat,e.poly.paths[a][l].lng));s.push(new google.maps.MVCArray(n))}this.overlay=new google.maps.Polygon({paths:new google.maps.MVCArray(s)}),this.setColors(e.poly);break;case"polyline":if(e.poly&&e.poly.path)for(a=0;a<e.poly.path.length;a++)n.push(new google.maps.LatLng(e.poly.path[a].lat,e.poly.path[a].lng));this.overlay=new google.maps.Polyline({path:new google.maps.MVCArray(n)}),this.setColors(e.poly);break;case"circle":var p=new google.maps.LatLng(e.point.lat,e.point.lng);this.overlay=new google.maps.Circle({center:p,radius:parseFloat(e.poly.radius)}),this.setColors(e.poly);break;case"rectangle":this.overlay=new google.maps.Rectangle({bounds:this.viewport}),this.setColors(e.poly);break;case"kml":var r=e.kml&&e.kml.url?e.kml.url:"";this.overlay="leaflet"==mappl10n.options.engine?omnivore.kml(r):new google.maps.KmlLayer(r,{preserveViewport:!0,suppressInfoWindows:!0});break;case"":default:"leaflet"==mappl10n.options.engine?this.overlay=L.marker([e.point.lat,e.point.lng]):this.overlay=new google.maps.Marker({position:new google.maps.LatLng(e.point.lat,e.point.lng)})}e.type||this.setIcon(e.iconid)},e.Poi.prototype={center:function(t){var e=this.getBounds();if("number"!=typeof t)if(e){var i=e.getNorthEast().toJSON().lng-e.getSouthWest().toJSON().lng;i<0&&(i+=360),t=Math.round(Math.log(360*this.map.div.canvas.width()/i/256)/Math.LN2),this.map.setView(this.getPosition(),t,{animate:!1})}else this.map.setView(this.getPosition(),parseInt(mappl10n.options.poiZoom));else this.map.setView(this.getPosition(),t)},getAddress:function(){return this.address?this.address:this.getPosition().toUrlValue()},getAnchorPoint:function(t){switch(this.isPoly()?"poly":this.type){case"kml":return"leaflet"==mappl10n.options.engine?[0,0]:t&&t.pixelOffset?new google.maps.Point(t.pixelOffset.width,t.pixelOffset.height):new google.maps.Point(0,0);case"poly":return"leaflet"==mappl10n.options.engine?[0,0]:new google.maps.Point(0,0);default:return"leaflet"==mappl10n.options.engine?this.overlay.options.icon.options.popupAnchor?this.overlay.options.icon.options.popupAnchor:[0,-32]:void 0!==this.overlay.anchorPoint?this.overlay.anchorPoint:new google.maps.Point(0,-32)}},getBounds:function(){var t;switch(this.type){case"polyline":t=new google.maps.LatLngBounds,this.overlay.getPath().forEach((function(e){t.extend(e)}));break;case"polygon":t=new google.maps.LatLngBounds,this.overlay.getPaths().forEach((function(e){e.forEach((function(e){t.extend(e)}))}));break;case"rectangle":case"circle":t=this.overlay.getBounds();break;case"kml":t=(t="leaflet"==mappl10n.options.engine?this.overlay.getBounds().isValid()?this.overlay.getBounds():null:this.overlay.getDefaultViewport())||this.viewport;break;default:return this.viewport}return t},getColors:function(){var t={};for(var e in{strokeColor:"",strokeOpacity:"",strokeWeight:"",fillColor:"",fillOpacity:""})void 0!==this.overlay[e]&&(t[e]=this.overlay[e]);return t},getPosition:function(t){if(!this.type)return"leaflet"==mappl10n.options.engine?this.overlay.getLatLng():this.overlay.getPosition();if("kml"==this.type&&t&&t.latLng)return t.latLng;var e=this.getBounds();return e?e.getCenter():"leaflet"==mappl10n.options.engine?new L.latLng(0,0):new google.maps.LatLng(0,0)},getTemplateColors:function(){var t=this.getColors();return"polyline"==this.type?{color:t.strokeColor,opacity:100*t.strokeOpacity,weight:t.strokeWeight}:{color:t.fillColor,opacity:100*t.fillOpacity,weight:t.strokeWeight}},open:function(t){this.map.poiOpen(this,t)},isPoly:function(){return-1!=jQuery.inArray(this.type,["polyline","polygon","circle","rectangle"])},render:function(t,i){var o=_.extend(this,{icon:e.Icons.getUrl(this.iconid)});return i&&(o.body=i.description,o.title=i.name),e.lib.template(this.map.templates[t],{poi:o,colors:this.getTemplateColors()})},set:function(t){for(att in t){var e=t[att];switch(att){case"dirty":this.map.set({dirty:e});break;case"iconid":this.setIcon(e);break;default:this[att]=e}}this.map&&"undefined"!=typeof dirty&&this.map.set({dirty})},setColors:function(t){var e={};for(var i in{strokeColor:"",strokeOpacity:"",strokeWeight:"",fillColor:"",fillOpacity:""})t&&void 0!==t[i]&&(e[i]=t[i]);this.overlay.setOptions(e)},setEditable:function(t){var i=this;"kml"!=this.type&&("leaflet"==mappl10n.options.engine?this.overlay.options.draggable=t:this.overlay.setDraggable(t),this.isPoly()&&this.overlay.setEditable(t),e.event.clearListeners(this.overlay,"rightclick"),e.event.clearListeners(this.overlay,"dragstart"),t&&(e.event.addListener(this.overlay,"dragstart",(function(){i.viewport=null,i.map.poiClose()})),e.event.addListener(this.overlay,"dragend",(function(){i.map.set({dirty:!0})})),"polygon"!=this.type&&"polyline"!=this.type||"leaflet"!=mappl10n.options.engine&&(e.event.addListener(this.overlay,"rightclick",(function(t){null!=t.vertex&&i.overlay.getPath().getLength()>2&&i.overlay.getPath().removeAt(t.vertex)})),e.event.clearListeners(this.overlay.getPath(),"insert_at remove_at set_at"),e.event.addListener(this.overlay.getPath(),"insert_at remove_at set_at",(function(){i.map.set({dirty:!0})})))))},setIcon:function(t){this.type||void 0===e.Icons||(this.iconid=t,"leaflet"==mappl10n.options.engine||this.overlay.setIcon(null),this.overlay.setIcon(e.Icons.get(t)))},setMap:function(t){var i=this;this.map=t,e.event.clearInstanceListeners(this.overlay),null!=t?("kml"==this.type&&("leaflet"==mappl10n.options.engine?(e.event.addListenerOnce(this.overlay,"ready",(function(){i.viewport=i.overlay.getBounds()})),e.event.addListenerOnce(this.overlay,"error",(function(){alert(mappl10n.kml_error)}))):(e.event.addListener(this.overlay,"defaultviewport_changed",(function(){i.viewport=i.overlay.getDefaultViewport()})),e.event.addListener(this.overlay,"status_changed",(function(){var t=i.overlay.getStatus();"OK"!=t&&mappl10n.ajaxErrors&&alert(mappl10n.kml_error+":"+t)})))),e.event.addListener(this.overlay,"click",(function(t){i.open(t)})),mappl10n.options.tooltips&&!this.map.editable&&(e.event.addListener(this.overlay,"mouseover",(function(t){i.map.poiOpenTooltip(i)})),e.event.addListener(this.overlay,"mouseout",(function(t){i.map.poiCloseTooltip()}))),this.setEditable(this.map.editable),!this.type&&this.map.clusterer||("leaflet"==mappl10n.options.engine?this.overlay.addTo(t.getMap()):this.overlay.setMap(t.getMap()))):"leaflet"==mappl10n.options.engine?this.overlay.remove():this.overlay.setMap(null)},setTemplateColors:function(t,e,i){var o="polyline"==this.type?{strokeColor:t,strokeOpacity:e/100,strokeWeight:i}:{fillColor:t,fillOpacity:e/100,strokeColor:t,strokeWeight:i,strokeOpacity:1};this.setColors(o)},setVisible:function(t){void 0!==this.overlay.setVisible&&this.overlay.setVisible(t)},setZIndex:function(t){"leaflet"==mappl10n.options.engine?this.type||this.overlay.setZIndexOffset(t):this.overlay.set("zIndex",t)},toJSON:function(){var t={address:this.address,body:this.body,iconid:this.iconid,point:null,poly:null,title:this.title,type:this.type,viewport:null},e=this.getPosition();t.point=e.toJSON();var i=this.viewport?this.viewport:this.getBounds();if(i){var o=i.toJSON();t.viewport={sw:{lat:o.south,lng:o.west},ne:{lat:o.north,lng:o.east}}}if("kml"==this.type&&(t.kml=this.kml),this.isPoly())switch(t.poly=this.getColors(),this.type){case"circle":t.poly.radius=this.overlay.getRadius();break;case"polyline":t.poly.path=[],this.overlay.getPath().forEach((function(e){t.poly.path.push(e.toJSON())}));break;case"polygon":t.poly.paths=[],this.overlay.getPaths().forEach((function(e){var i=[];e.forEach((function(t){i.push(t.toJSON())})),t.poly.paths.push(i)}));break;case"rectangle":var n=this.overlay.getBounds();t.viewport={sw:n.getSouthWest().toJSON(),ne:n.getNorthEast().toJSON()}}return t}}},675:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){for(var e=0;e<t.length;e++){var i=t[e].match(/country\/(.*)?/);if(i)return i[1]}return}},892:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e={country:"country",city:"city","amenity/bus_station":"busStop","amenity/townhall":"townhall","railway/station":"trainStation","aeroway/aerodrome":"airport","aeroway/terminal":"airport","aeroway/gate":"airport"};for(var i in e)if(-1!==t.indexOf(i))return e[i];return"address"}},991:(t,e,i)=>{"use strict";e.Z=function(t){var e=t.formatInputValue,i=t.hit,s=t.hitIndex,a=t.query,p=t.rawAnswer;try{var h=i.locale_names[0],c=i.country,u=i.administrative&&i.administrative[0]!==h?i.administrative[0]:void 0,g=i.city&&i.city[0]!==h?i.city[0]:void 0,d=i.suburb&&i.suburb[0]!==h?i.suburb[0]:void 0,m=i.county&&i.county[0]!==h?i.county[0]:void 0,f=i.postcode&&i.postcode.length?function(t,e){for(var i=e[0].value,o=[],n=1;n<e.length;++n)"none"!==e[n].matchLevel&&o.push({index:n,words:e[n].matchedWords});if(0===o.length)return{postcode:t[0],highlightedPostcode:i};return o.sort((function(t,e){return t.words>e.words?-1:t.words<e.words?1:t.index-e.index})),{postcode:t[o[0].index],highlightedPostcode:e[o[0].index].value}}(i.postcode,i._highlightResult.postcode):{postcode:void 0,highlightedPostcode:void 0},y=f.postcode,v=f.highlightedPostcode,w={name:r(i._highlightResult.locale_names),city:g?r(i._highlightResult.city):void 0,administrative:u?r(i._highlightResult.administrative):void 0,country:c?i._highlightResult.country.value:void 0,suburb:d?r(i._highlightResult.suburb):void 0,county:m?r(i._highlightResult.county):void 0,postcode:v},b={name:h,administrative:u,county:m,city:g,suburb:d,country:c,countryCode:(0,o.default)(i._tags),type:(0,n.default)(i._tags),latlng:{lat:i._geoloc.lat,lng:i._geoloc.lng},postcode:y,postcodes:i.postcode&&i.postcode.length?i.postcode:void 0},L=e(b);return l(l({},b),{},{highlight:w,hit:i,hitIndex:s,query:a,rawAnswer:p,value:L})}catch(t){return console.error("Could not parse object",i),console.error(t),{value:"Could not parse object"}}};var o=s(i(675)),n=s(i(892));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function l(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?a(Object(i),!0).forEach((function(e){p(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function p(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function r(t){for(var e=t[0].value,i=[],o=1;o<t.length;++o)"none"!==t[o].matchLevel&&i.push({index:o,words:t[o].matchedWords});return 0===i.length?e:(i.sort((function(t,e){return t.words>e.words?-1:t.words<e.words?1:t.index-e.index})),0===i[0].index?"".concat(e," (").concat(t[i[1].index].value,")"):"".concat(t[i[0].index].value," (").concat(e,")"))}},574:(t,e)=>{"use strict";e.Z=function(t){var e=t.administrative,i=t.city,o=t.country,n=t.name,s=t.type;return"".concat(n).concat("country"!==s&&void 0!==o?",":"","\n ").concat(i?"".concat(i,","):"","\n ").concat(e?"".concat(e,","):"","\n ").concat(o||"").replace(/\s*\n\s*/g," ").trim()}}},e={};function i(o){if(e[o])return e[o].exports;var n=e[o]={exports:{}};return t[o](n,n.exports,i),n.exports}i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i(628),i(854),i(397),i(442),i(282),i(689),i(510),i(548),i(692)})();
1
+ !function(){var t={854:function(){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}var e,i=window.mapp||{};e=jQuery,i.Map=function(t,e){this.defaults={alignment:null,center:null,classname:null,editable:null,embed:null,height:null,initialOpenDirections:null,initialOpenInfo:null,layers:null,layout:null,mapid:null,mapTypeId:null,metaKey:null,mapOpts:null,name:null,poiList:mappl10n.options.poiList,pois:null,postid:null,query:null,sel:null,title:null,width:null,zoom:null},this.dirty=!1,this.hovered=null,this.iw=null,this.mapdata=t,this.opened=null,this.places=null,this.selected=null,this.settings=e||{},this.templates=null,this.clusterer=null,this.dir_=null,this.div={},this.layers_={},this.map_=null,this.modal_=null,this.pois_=[],this.xhr_,_.extend(this,this.defaults,this.mapdata,this.settings),this.layout=this.layout?this.layout:mappl10n.options.layout,this.postid=this.postid?this.postid:mappl10n.options.postid,mappl10n.options.iwType="ib"},i.Map.prototype={display:function(){var t=this;!0===this.sanity()&&(this.render(),this.editable?this.templates={loop:"edit-loop",item:"edit-item",popup:"edit-popup"}:this.query?this.templates={loop:"map-loop",item:"mashup-item",popup:"mashup-popup"}:this.templates={loop:"map-loop",item:"map-item",popup:"map-popup"},"leaflet"==mappl10n.options.engine?this.mapOpts=_.extend({attribution:'Map data <a href="https://openstreetmap.org">OpenStreetMap</a>',minZoom:0,worldCopyJump:!0,zoomControl:null},this.mapOpts):this.mapOpts=_.extend({backgroundColor:"transparent",clickableIcons:!1,fullscreenControl:!1,mapTypeControl:!1,mapTypeControlOptions:{position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},minZoom:0,scaleControl:!0,streetViewControl:!this.query},this.mapOpts),this.mapOpts.minZoom=isNaN(parseInt(this.mapOpts.minZoom))?0:parseInt(this.mapOpts.minZoom),"leaflet"==mappl10n.options.engine?(this.map_=new L.Map(this.div.canvas.get(0),this.mapOpts),L.control.zoom({position:"bottomright",zoomInTitle:"",zoomOutTitle:""}).addTo(this.map_)):(this.map_=new google.maps.Map(this.div.canvas.get(0),{mapTypeId:"roadmap",zoom:1}),this.map_.setOptions(this.mapOpts),this.addLayers()),this.addStyles(),this.addMenu(),this.addPopup(),this.setMapTypeId(this.mapTypeId),this.clustering(),"postmodal"==mappl10n.options.mashupClick&&(this.modal_=new i.lib.Modal),this.places=new i.Places(e(".mapp-places",this.div.search),{map:t}),this.editable&&this.places.sel.focus(),e(this.places).on("search.mapp",(function(e,i){t.search(i)})),this.addEvents("click dragstart zoom_changed zoomstart",(function(e){"leaflet"==mappl10n.options.engine&&"click"==e.type&&e.originalEvent&&!e.originalEvent.target.matches(".mapp-canvas")||t.poiClose()})),this.div.layout.on("click","[data-mapp-action]",(function(i){var o=e(this).attr("data-mapp-action");i.preventDefault(),t.action(o,e(this).attr("data-mapp-"+o),e(this))})),this.div.filters.on("change",(function(){t.ajaxQuery()})),e(window).on("resize",(function(){t.toggleView("mini"),t.poiClose(),t.resize()})),i.event.addListener(t.map_,"maptypeid_changed baselayerchange",(function(){t.set({dirty:!0})})),this.places.parse(this.center,(function(e){e&&e.geometry&&e.geometry.location?t.center={lat:e.geometry.location.lat,lng:e.geometry.location.lng}:t.center=null,t.query?t.ajaxQuery((function(){t.initCenter()})):(t.setPois(t.pois),t.initCenter())})),this.div.list.on("mouseenter","[data-mapp-poi]",(function(i){var o=e(this).attr("data-mapp-poi");t.poiHover(t.pois_[o])})),this.div.list.on("mouseleave","[data-mapp-poi]",(function(e){t.poiHover(null)})))},initCenter:function(){var t=this;this.recenter(),this.renderList(),this.query&&mappl10n.options.search&&!this.editable&&this.addSearchMove(),"leaflet"==mappl10n.options.engine?this.initOpen():i.event.addListenerOnce(t.map_,"idle",(function(){t.initOpen()}))},initOpen:function(){var t=this.pois_.length?this.pois_[0]:null,e=null!=this.initialOpenInfo?this.initialOpenInfo:mappl10n.options.initialOpenInfo;this.initialOpenDirections?this.directionsOpen(null,t):t&&e&&t.open()},action:function(t,i,o){var n=this;switch(t){case"center":this.toggleView("menu",!1),this.poiClose(),this.recenter();break;case"dir":this.directionsOpen(null,this.opened);break;case"dir-from":this.directionsOpen(this.opened,null);break;case"filters-reset":this.div.filters.find(":input").each((function(){"checkbox"==this.type||"radio"==this.type?e(this).prop("checked",!1):e(this).val("")})),this.ajaxQuery();break;case"filters-toggle":this.toggleView("filters");break;case"geolocate":this.places.geolocate((function(t){n.search(t)}));break;case"layer":this.toggleLayer(i),this.toggleView("menu",!1);break;case"list-toggle":this.togglePoiListOpen();break;case"menu-toggle":this.toggleView("menu");break;case"open":var s=o.attr("data-mapp-poi");this.poiOpen(this.pois_[s]);break;case"view-map":this.togglePoiListOpen(!1);break;case"view-list":this.togglePoiListOpen(!0);break;default:return!0}},addEvents:function(t,e){t=t.split(" ");for(var o=0;o<t.length;o++)i.event.addListener(this.map_,t[o],e)},addLayers:function(){this.layers_={traffic:new google.maps.TrafficLayer,bicycling:new google.maps.BicyclingLayer,transit:new google.maps.TransitLayer};for(var t=e.makeArray(this.layers),i=0;i<t.length;i++){var o=t[i].trim(),n=o.split(".").pop();this.layers_[o]?this.toggleLayer(o):"kml"==n||"kmz"==n?this.layers_[o]=new google.maps.KmlLayer({map:this.map_,preserveViewport:!0,url:o}):"json"==n&&(this.layers_[o]=new google.maps.Data({map:this.map_}).loadGeoJson(o))}},addMenu:function(){var t=this;e("body").on("click",(function(i){var o=e(i.target),n=o.attr("data-mapp-action");o==t.div.filters||"filters-toggle"==n||o.closest(t.div.filters).length||t.toggleView("filters",!1),o==t.div.menu||"menu-toggle"==n||o.closest(t.div.menu).length||t.toggleView("menu",!1)}))},addPopup:function(){var t=this,o=this.editable?"mapp-iw-edit":"mapp-iw";if(this.editable||(o+=" mapp-"+this.templates.popup,o+=mappl10n.options.thumbs?" mapp-thumb-"+mappl10n.options.thumbStyle:""),this.div.iw=e('<div class="'+o+'">').appendTo(this.div.canvas),"ib"==mappl10n.options.iwType||this.editable){var n=this.editable?"mapp-ib-popup mapp-ib-edit":"mapp-ib-popup";this.iw=new i.Infobox(this.map_,{className:n,clip:!0,pan:!0})}else this.iw="leaflet"==mappl10n.options.engine?L.popup({maxWidth:"auto"}):new google.maps.InfoWindow;this.iw.setContent(this.div.iw.get(0)),this.div.iw.on("click",".mapp-close",(function(){t.poiClose()}))},addSearchMove:function(){},addStyles:function(){var o=this;if("leaflet"==mappl10n.options.engine){if(this.mapOpts.mapTypeControl){for(var n=L.control.layers(),s=0;s<mappl10n.options.baseLayers.length;s++){var a=mappl10n.options.baseLayers[s],l=mappl10n.options.providers[a.provider],r=e.extend({},l,a);n.addBaseLayer(L.tileLayer(l.url,r),r.label)}mappl10n.options.baseLayers.length>1&&n.addTo(this.map_)}this.map_.on("baselayerchange",(function(t){o.mapTypeId=t.layer.options.name}))}else{var p=mappl10n.options.styles?mappl10n.options.styles:[],h=mappl10n.options.style,c=["roadmap","satellite","terrain","hybrid"];for(var u in h&&"object"==t(p[h])&&this.map_.setOptions({styles:p[h]}),p)this.map_.mapTypes.set(u,new google.maps.StyledMapType(p[u],{name:u})),c.push(u);this.mapOpts.mapTypeControl&&this.map_.setOptions({mapTypeControl:!0,mapTypeControlOptions:{mapTypeIds:c,position:google.maps.ControlPosition.TOP_RIGHT,style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}}),i.event.addListener(this.map_,"maptypeid_changed",(function(){o.mapTypeId=o.map_.getMapTypeId()}))}},ajaxQuery:function(t){},clusterGetLatLng:function(t){if(this.clusterer){if("leaflet"==mappl10n.options.engine){var e=this.clusterer.getVisibleParent(t.overlay);return e?e.getLatLng():null}for(var i=this.clusterer.getClusters(),o=0;o<i.length;o++){var n=i[o].markers_;if(n.length>1)for(var s=0;s<n.length;s++)if(n[s]==t.overlay)return i[o].center_}}},clustering:function(){mappl10n.options.clustering&&!this.editable&&("leaflet"==mappl10n.options.engine?this.clusterer=L.markerClusterGroup():this.clusterer=new MarkerClusterer(this.map_,[],{imagePath:mappl10n.options.baseurl+"/lib/js-markerclustererplus-main/images/m",maxZoom:21}))},clustersReset:function(){this.clusterer&&("leaflet"==mappl10n.options.engine?this.clusterer.clearLayers():this.clusterer.clearMarkers())},clustersSet:function(){if(this.clusterer){for(var t=[],e=0;e<this.pois_.length;e++)this.pois_[e].type||t.push(this.pois_[e].overlay);"leaflet"==mappl10n.options.engine?(this.clusterer.addLayers(t),this.map_.addLayer(this.clusterer)):this.clusterer.addMarkers(t)}},dialog:function(t,e){var i=this;t?(this.div.dialog.html(t),this.div.dialog.show(),e&&(clearTimeout(this.dialog.fade),this.dialog.fade=setTimeout((function(){i.dialog(null)}),4e3))):this.div.dialog.hide()},directionsOpen:function(t,e){var o=t?t.getAddress():"",n=e?e.getAddress():"";t?this.popupOpen(t):e&&this.popupOpen(e),this.dir_||(this.dir_=new i.Directions(this.div.directions,this)),this.dir_.open(o,n)},fitBounds:function(t,e){return e="leaflet"==mappl10n.options.engine&&e?{paddingTopLeft:[e.left,e.top],paddingBottomRight:[e.right,e.bottom]}:e,this.map_.fitBounds(t,e)},getBounds:function(){try{return this.map_.getBounds()}catch(t){return null}},getCenter:function(){try{return this.map_.getCenter()}catch(t){return null}},getMapTypeId:function(t){return"leaflet"==mappl10n.options.engine?"roadmap":this.map_.getMapTypeId(t)},getMap:function(){return this.map_},getPois:function(){return this.pois_},getZoom:function(){try{return this.map_.getZoom()}catch(t){return null}},poiClose:function(){this.poiHighlight(null),this.selected=null,this.opened=null,this.hovered=null,"ib"==mappl10n.options.iwType||this.editable?this.iw.close():"leaflet"==mappl10n.options.engine?this.map_.closePopup():this.iw.close(),this.dir_&&this.dir_.close(),e(this).triggerHandler("mapp.close")},poiHighlight:function(t){if(("icon"!=mappl10n.options.highlight||"leaflet"!=mappl10n.options.engine||!this.editable)&&(e("[data-mapp-poi]",this.div.list).removeClass("mapp-selected"),this.selected&&this.selected.highlight(!1),this.hovered&&this.hovered.highlight(!1),t)){var i=e.inArray(t,this.pois_);e('[data-mapp-poi="'+i+'"]',this.div.list).addClass("mapp-selected"),t.highlight(!0)}},poiHover:function(t){t&&this.opened==t||(this.hovered=null,t&&(this.poiHighlight(t),this.hovered=t,mappl10n.options.tooltips&&!this.editable&&this.popupOpen(t,null,"popup")))},poiInsert:function(t){this.pois_.unshift(t),t.setMap(this),this.renderList(),this.set({dirty:!0})},poiOpen:function(t,i){var o=this;if(this.poiClose(),this.selected=t,this.poiHighlight(t),t.postid&&t.url&&!this.editable)switch(mappl10n.options.mashupClick){case"post":return void window.location.assign(t.url);case"postnew":return void window.open(t.url);case"postmodal":return this.modal_.open(),this.modal_.setContent('<div class="mapp-modal-spinner">'),void t.fetchPost((function(){return o.modal_.setContent(t.html)}))}this.div.layout.hasClass("mapp-view-mini")&&this.togglePoiListOpen(!1),this.popupOpen(t,i,"popup"),e(this).triggerHandler("mapp.open",t)},poiRemove:function(t){var i=e.inArray(t,this.pois_);-1!=i&&(this.pois_[i].setMap(null),this.pois_.splice(i,1),this.renderList()),this.set({dirty:!0})},popupClose:function(){"icon"==mappl10n.options.highlight&&"leaflet"==mappl10n.options.engine&&this.editable||("ib"==mappl10n.options.iwType||this.editable?this.iw.close():"leaflet"==mappl10n.options.engine?this.map_.closePopup():this.iw.close(),this.dir_&&this.dir_.close(),this.opened=null,e(this).triggerHandler("mapp.close"))},popupOpen:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"popup",o=null;this.popupClose(),e&&e.featureData?o=e.featureData:e&&e.propagatedFrom&&e.propagatedFrom.feature&&e.propagatedFrom.feature.properties&&(o=e.propagatedFrom.feature.properties),this.poiSetMaxSize(t),this.div.iw.html(t.render(i,o)),this.div.iw.toggleClass("mapp-has-image",!!t.thumbnail);var n=this.clusterGetLatLng(t),s=n||t.getPosition(e);if("ib"==mappl10n.options.iwType||this.editable)this.iw.open({position:s,anchorPoint:t.getAnchorPoint(e)});else if("leaflet"==mappl10n.options.engine)this.iw.setLatLng(s),this.iw.options.offset=t.getAnchorPoint(),this.map_.openPopup(this.iw);else{var a=new google.maps.MVCObject;a.setValues({position:s,anchorPoint:t.getAnchorPoint(e)}),this.iw.open(this.map_,a)}this.opened=t},poiSetMaxSize:function(t){if("ib"!=mappl10n.options.iwType&&"leaflet"==mappl10n.options.engine){var e=t.getAnchorPoint();this.div.iw.css({"max-height":this.div.canvas.height()+e[1]-50,"max-width":this.div.canvas.width()-e[0]-50})}},recenter:function(){var t=this.center&&this.center.hasOwnProperty("lat")&&this.center.hasOwnProperty("lng")?this.center:null,e=this.zoom&&parseInt(this.zoom)?parseInt(this.zoom):null;if(t&&!e&&this.query)this.search({geometry:{location:{lat:t.lat,lng:t.lng}}});else if(t)this.setView(t,e||1);else if(0!=this.pois_.length)if(1!=this.pois_.length){for(var i="leaflet"==mappl10n.options.engine?new L.LatLngBounds:new google.maps.LatLngBounds,o=0;o<this.pois_.length;o++){var n=this.pois_[o].getBounds(),s=this.pois_[o].getPosition();i=n?"leaflet"==mappl10n.options.engine?i.extend(n):i.union(n):i.extend(s)}e?this.setView(i.getCenter().toJSON(),e):this.fitBounds(i)}else this.pois_[0].center(e);else this.setView({lat:0,lng:0},e||1)},render:function(){var t=this,o=i.lib.template("map",{map:this});if(this.sel?(this.sel.html(o),this.div.layout=e(".mapp-layout",this.sel)):(e("#"+this.name+"-layout").replaceWith(o),this.div.layout=e("#"+this.name+"-layout")),!this.div.layout.length)return i.lib.log("MapPress: Missing map name or container for map: "+this.name);e.each(["canvas","controls","dialog","directions","filters","list","menu","wrapper","search"],(function(i,o){t.div[o]=e(".mapp-"+o,t.div.layout)})),this.setSize({width:this.width,height:this.height}),this.set({poiList:this.poiList})},renderList:function(){var t=this.getBounds(),o=0,n=this;if(!this.editable)for(var s=0;s<this.pois_.length;s++)this.pois_[s].visible=!0,this.query&&t&&!t.contains(this.pois_[s].getPosition())&&(this.pois_[s].visible=!1),o+=this.pois_[s].visible;this.div.list.html(i.lib.template(this.templates.loop,{map:this,pois:this.pois_,count:o})),this.editable&&(this.div.list.trigger("render"),e(".mapp-items",this.div.list).sortable({axis:"y",cursor:"move",delay:200,update:function(){n.sortPois(e(this).sortable("toArray",{attribute:"data-mapp-poi"}))}}))},renderMenu:function(){for(var t in this.layers_)e('[data-mapp-layer="'+t+'"]',this.div.layout).toggleClass("mapp-active",null!=this.layers_[t].getMap())},resetPois:function(){for(var t=0;t<this.pois_.length;t++)this.pois_[t].setMap(null);this.pois_=[],this.clustersReset()},resize:function(){this.map_&&("leaflet"==mappl10n.options.engine?this.map_.invalidateSize():i.event.trigger(this.map_,"resize"),this.toggleView("mini"))},sanity:function(){var t="Please see the MapPress FAQ Troubleshooting section to resolve.";if("leaflet"==mappl10n.options.engine){if("undefined"==typeof L)return i.lib.alert("MAPPRESS ERROR: Unable to load Leaflet. "+t),!1}else{if("undefined"==typeof google)return i.lib.alert("MAPPRESS ERROR: Google Maps API not loaded. "+t),!1;e(document).ready((function(){e('script[src*="https://maps.googleapis.com/maps/api/js?v=3"]').length>1&&i.lib.alert("MAPPRESS ERROR: Google Maps API key loaded multiple times. "+t)}))}return"undefined"==typeof _?(i.lib.log("MAPPRESS ERROR: plugin conflict, underscore.js not loaded. "+t),!1):!(void 0===jQuery.ui||jQuery.ui.version<"1.12")||(i.lib.log("MAPPRESS WARNING: plugin conflict, Outdated jQuery version: "+jQuery.ui.version+" should be >= 1.12 "+t),!0)},search:function(t){if(t&&t.geometry){var e=t.geometry.location?t.geometry.location:null,i=t.geometry.viewport?t.geometry.viewport:null;if("leaflet"==mappl10n.options.engine)var o=new L.LatLng(e.lat,e.lng),n=i?new L.LatLngBounds(new L.LatLng(i.sw.lat,i.sw.lng),new L.LatLng(i.ne.lat,i.ne.lng)):o.toBounds(1e3*mappl10n.options.radius);else{var s=new google.maps.Circle({center:e,radius:1e3*mappl10n.options.radius});n=i?new google.maps.LatLngBounds(new google.maps.LatLng(i.sw.lat,i.sw.lng),new google.maps.LatLng(i.ne.lat,i.ne.lng)).union(s.getBounds()):s.getBounds()}n&&this.fitBounds(n),this.setView(e)}},set:function(t){for(var e in t){var i=t[e];switch(e){case"dirty":this.dirty=i;break;case"mapTypeId":this.mapTypeId=i,this.setMapTypeId(i);break;case"poiList":this.poiList=null==i?mappl10n.options.poiList:i,this.div.layout.toggleClass("mapp-has-list",this.poiList),this.togglePoiListOpen(this.poiList),this.toggleView("mini");break;case"title":this.title=i;break;default:this[e]=i}}},setMapTypeId:function(i){if("leaflet"==mappl10n.options.engine){i=!this.editable&&mappl10n.options.style&&"streets"==i?mappl10n.options.style:i,i=_.findIndex(mappl10n.options.baseLayers,{name:i})>=0?i:mappl10n.options.baseLayers[0].name;for(var o=0;o<mappl10n.options.baseLayers.length;o++){var n=mappl10n.options.baseLayers[o],s=mappl10n.options.providers[n.provider];if(n.name==i){var a=e.extend({},s,n);L.tileLayer(a.url,a).addTo(this.map_)}}}else i=-1!=e.inArray(i,["roadmap","satellite","terrain","hybrid"])||"object"==t(mappl10n.options.styles[i])?i:"roadmap",this.map_.setMapTypeId(i)},setPois:function(t){if(this.resetPois(),t)for(var e=0;e<t.length;e++){var o=new i.Poi(t[e]);this.pois_.push(o),o.id=this.pois_.length-1,o.setMap(this)}this.clustersSet()},setSize:function(t){var e=mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0];if(this.embed)return this.div.layout.css({height:"100%"}),void this.div.wrapper.css({"padding-bottom":0,height:"100%"});if(t&&t.hasOwnProperty("width")){var i=t.width?t.width:e.width;this.div.layout.css("width",i)}if(t&&t.hasOwnProperty("height")){var o=t.height?t.height:e.height;"string"==typeof o&&o.includes("%")?this.div.wrapper.css({"padding-bottom":o,height:"auto"}):this.div.wrapper.css({"padding-bottom":0,height:o})}this.resize()},setView:function(t,e,i){"leaflet"==mappl10n.options.engine?(null==e&&(e=this.map_.getZoom()?this.map_.getZoom():0),this.map_.setView(t,e,i)):(t=t&&!t.toJSON?{lat:parseFloat(t.lat),lng:parseFloat(t.lng)}:t,e=e?parseInt(e):null,t&&this.map_.setCenter(t),e&&this.map_.setZoom(e))},sortPois:function(t){var e=Array();this.set({dirty:!0});for(var i=0;i<t.length;i++){var o=parseInt(t[i]);if(isNaN(o))return!1;e.push(this.pois_[o])}if(e.length!=this.pois_.length)return!1;this.pois_=e,this.renderList()},toggleLayer:function(t,i){var o=this;i=void 0!==i?i:null==this.layers_[t].getMap(),e.each(["traffic","bicycling","transit"],(function(t,e){o.layers_[e].setMap(null)})),i&&this.layers_[t].setMap(this.map_)},togglePoiListOpen:function(t){var e=this;this.div.layout.toggleClass("mapp-list-open",t),setTimeout((function(){return e.resize()}),100)},togglePois:function(t){t=!!t;for(var e=0;e<this.pois_.length;e++)this.pois_[e].setVisible(t)},toggleView:function(t,e){if("mini"==t){var i=this.div.layout.hasClass("mapp-view-mini"),o=!("inline"==this.layout||!this.poiList)&&this.div.layout.width()<mappl10n.options.mini;return this.div.layout.toggleClass("mapp-view-mini",o),void(o!=i&&this.togglePoiListOpen(!o))}e=void 0===e?!this.div.layout.hasClass("mapp-view-"+t):e,this.div.layout.toggleClass("mapp-view-"+t,e),"list"==t&&e&&this.renderList(),"menu"==t&&e&&this.renderMenu(),"directions"==t&&this.resize()},toJSON:function(){this.pois=[];for(var t=0;t<this.pois_.length;t++)this.pois.push(this.pois_[t].toJSON());return{center:this.center,height:this.height,mapid:this.mapid,mapTypeId:this.mapTypeId,metaKey:this.metaKey,pois:this.pois,postid:this.postid,title:this.title,width:this.width,zoom:this.zoom}}}},397:function(){var t,e=window.mapp||{};t=jQuery,e.Directions=function(e,i){this.sel=t(e),this.map=i;var o=this;this.sel.on("keydown",(function(t){13==t.which?(o.getDirections(),t.preventDefault()):27==t.which&&o.close()})),this.sel.on("click","[data-mapp-action]",(function(e){var i=t(this).attr("data-mapp-action"),n=t(".mapp-dir-daddr",o.sel).val(),s=t(".mapp-dir-saddr",o.sel).val();switch(e.preventDefault(),i){case"dir-cancel":o.close();break;case"dir-get":o.getDirections();break;case"dir-swap":t(".mapp-dir-saddr",o.sel).val(n),t(".mapp-dir-daddr",o.sel).val(s)}})),this.open=function(e,i){"google"!=mappl10n.options.directions?(this.map.toggleView("directions",!0),t(".mapp-dir-addr",this.sel).removeClass("mapp-error"),t(".mapp-dir-saddr",this.sel).val(e),t(".mapp-dir-daddr",this.sel).val(i)):this.openGoogle(e,i)},this.close=function(){this.map.toggleView("directions",!1)},this.getDirections=function(){var e=t(".mapp-dir-saddr",this.sel).val().trim(),i=t(".mapp-dir-daddr",this.sel).val().trim();this.map.poiClose(),this.openGoogle(e,i)},this.openGoogle=function(t,e){var i=mappl10n.options.directionsServer;-1==i.toLowerCase().indexOf("http")&&(i="https://"+i),i+="/maps/dir/?api=1&origin="+encodeURIComponent(t)+"&destination="+encodeURIComponent(e),window.open(i)}}},442:function(t,e,i){"use strict";i.r(e);var o,n=i(991),s=i(574),a=window.mapp||{};a.geocoders={},o=jQuery,a.geocoders.algolia=function(t){this.map=t},a.geocoders.algolia.prototype={getDetails:function(t,e){e({formatted_address:t.value,name:t.name,geometry:{location:t.latlng}})},getFirstPrediction:function(t,e){var i=this;this.getPredictions(t,(function(t){t&&t.length?i.getDetails(t[0],(function(t){return e(t)})):e(null)}))},getPredictions:function(t,e){var i="https://places-dsn.algolia.net/1/places/query?query="+encodeURIComponent(t)+"&hitsPerPage=5";i=mappl10n.options.country?i+"&countries="+mappl10n.options.country.toLowerCase():i,i=mappl10n.options.language?i+"&language="+mappl10n.options.language.toLowerCase():i+"&language=en",o.getJSON(i,(function(i){if(i&&i.hits&&i.hits.length>0){var o=i.hits.map((function(e,o){return(0,n.Z)({formatInputValue:s.Z,hit:e,hitIndex:o,query:t,rawAnswer:i})}));e(o)}else e(null)}))}},function(t){a.geocoders.google=function(e){this.map=e,this.token=null;var i=t('<div style="display:none">').appendTo("body");this.placesService=new google.maps.places.PlacesService(i.get(0)),this.autocompleteService=new google.maps.places.AutocompleteService,i.remove()},a.geocoders.google.prototype={getDetails:function(t,e){this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken,this.token=null;var i={placeId:t.place_id,sessionToken:this.token};this.placesService.getDetails(i,(function(t,i){if("OK"==i&&t&&t.geometry){if(t.geometry.location&&(t.geometry.location=t.geometry.location.toJSON()),t.geometry.viewport){var o=t.geometry.viewport.toJSON();t.geometry.viewport={sw:{lat:o.south,lng:o.west},ne:{lat:o.north,lng:o.east}}}e(t)}else e(null)}))},getFirstPrediction:function(e,i){var o=this;this.getPredictions(e,(function(e){e&&t.isArray(e)?o.getDetails(e[0],(function(t){return i(t)})):i(null)}))},getPredictions:function(t,e){this.token=this.token?this.token:new google.maps.places.AutocompleteSessionToken;var i=this.map.getMap().getBounds();"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 o={input:t,bounds:i=i||new google.maps.LatLngBounds(new google.maps.LatLng(85,-180),new google.maps.LatLng(-85,180)),sessionToken:this.token,types:this.map.editable?null:["geocode"]};this.autocompleteService.getPlacePredictions(o,(function(t,i){"OK"==i&&t&&t.length?(t=(t=t.map((function(t){return t.value=t.description,t}))).filter((function(t){return t.place_id})),e(t)):(i==google.maps.places.PlacesServiceStatus.REQUEST_DENIED?alert("Google Maps API Key error: please enable the Places API in the Google Developer Console."):i==google.maps.places.PlacesServiceStatus.OVER_QUERY_LIMIT&&alert("Google Maps API Key has exceeded its query limit"),e(null))}))}}}(jQuery),function(t){a.geocoders.mapbox=function(t){this.map=t},a.geocoders.mapbox.prototype={getDetails:function(t,e){var i=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;e({formatted_address:t.place_name,name:t.name,geometry:{location:{lat:t.center[1],lng:t.center[0]},viewport:i}})},getFirstPrediction:function(t,e){var i=this;this.getPredictions(t,(function(t){t&&t.length?i.getDetails(t[0],(function(t){return e(t)})):e(null)}))},getPredictions:function(e,i){var o="https://api.mapbox.com/geocoding/v5/mapbox.places/"+e+".json?access_token="+mappl10n.options.mapbox;o=mappl10n.options.country?o+"&country="+mappl10n.options.country.toLowerCase():o,o=mappl10n.options.language?o+"&language="+mappl10n.options.language.toLowerCase():o,t.getJSON(o,(function(t){t&&t.features&&t.features.length>0?(t.features=t.features.map((function(t){return t.value=t.label=t.place_name,t})),i(t.features)):i(null)}))}}}(jQuery),function(t){a.geocoders.nominatim=function(t){this.map=t},a.geocoders.nominatim.prototype={getDetails:function(t,e){var i=t.display_name,o=i.indexOf(","),n=i.indexOf(",",o+1);o>0&&(i=parseInt(i.substr(0,o))?i.substr(0,n).replace(",",""):i.substr(0,o));var s=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;e({formatted_address:t.display_name,name:i,geometry:{location:{lat:t.lat,lng:t.lon},viewport:s}})},getFirstPrediction:function(t,e){var i=this;this.getPredictions(t,(function(t){t&&t.length?i.getDetails(t[0],(function(t){return e(t)})):e(null)}))},getPredictions:function(e,i){var o="https://nominatim.openstreetmap.org/search?format=json&dedupe=1&limit=5&q="+encodeURIComponent(e);o=mappl10n.options.country?o+"&countrycodes="+mappl10n.options.country.toLowerCase():o,o=mappl10n.options.language?o+"&accept-language="+mappl10n.options.language.toLowerCase():o,t.getJSON(o,(function(t){t&&t.length?(t=t.map((function(t){return t.value=t.display_name,t})),i(t)):i(null)}))}}}(jQuery)},282:function(){var t=window.mapp||{};t.Icons={},t.Icons.get=function(e){var i=t.Icons.getUrl(e);return"leaflet"==mappl10n.options.engine?L.icon({iconUrl:i,iconAnchor:[16,32],iconSize:[32,32],popupAnchor:[0,-32]}):{url:i}},t.Icons.getUrl=function(t){return"https://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png"}},689:function(){var t,e=window.mapp||{};t=jQuery,e.Infobox=function(i,o){var n=this;this.map=i,this.anchorPoint=null,this.fudge=30,this.isOpen=!1,this.mapDiv="leaflet"==mappl10n.options.engine?i.getContainer():i.getDiv(),this.node=null,this.opts=_.extend({popout:!1},o),this.overlayView=null,this.position=null,this.size=null,this.wrapper=null;var s=this;if(this.wrapper=t('<div class="mapp-ib-wrapper" tabindex="0"><div class="mapp-ib-content"><div class="mapp-ib" tabindex="0"></div><div class="mapp-ib-tip"></div></div></div>'),this.wrapper.addClass(o.className),this.node=t(".mapp-ib-content",this.wrapper),"leaflet"==mappl10n.options.engine?e.event.addListener(this.map,"move",(function(t){s.isOpen&&s.draw()})):(this.overlayView=new google.maps.OverlayView,this.overlayView.onAdd=function(){},this.overlayView.setMap(this.map),this.overlayView.draw=function(){s.isOpen&&s.draw()}),this.node.get(0).addEventListener("load",(function(){n.open({position:n.position,anchorPoint:n.anchorPoint})}),{capture:!0}),s.opts.popout)var a="body";else a="leaflet"==mappl10n.options.engine?this.map.getContainer():this.map.getDiv();s.wrapper.appendTo(a)},e.Infobox.prototype={clipToWindow:function(){var t=p.y,e=p.x-w/2+this.anchorPoint.x,i=this.mapDiv.getBoundingClientRect(),o=i.x+window.scrollX;t+=i.y+window.scrollY,e+=o;var n=this.opts.clip?divw:document.body.clientWidth;e+w>n&&(e=n-w),e<0&&(e=0),this.wrapper.css({left:e}),h=this.node.outerHeight(),t=p.y-h+this.anchorPoint.y,this.node.removeClass("mapp-ib-flip"),this.opts.clip&&!this.opts.pan&&t<0&&t<divh-(p.y+h)&&(t=p.y,this.node.addClass("mapp-ib-flip"))},close:function(){this.isOpen=!1,this.wrapper&&this.wrapper.removeClass("mapp-open")},draw:function(){if(this.position){var t=this.node.outerWidth(),e=(this.node.outerHeight(),"leaflet"==mappl10n.options.engine?this.map.latLngToContainerPoint(this.position):this.overlayView.getProjection().fromLatLngToContainerPixel(this.position));this.wrapper.css({left:e.x-t/2+this.anchorPoint.x,bottom:this.mapDiv.clientHeight-e.y-this.anchorPoint.y})}},getContent:function(){return t(".mapp-ib",this.node)},open:function(t){this.position=t.position,this.anchorPoint=Array.isArray(t.anchorPoint)?{x:t.anchorPoint[0],y:t.anchorPoint[1]}:t.anchorPoint,this.setSize(),this.node.css({maxWidth:.8*this.mapDiv.clientWidth-this.fudge,maxHeight:this.mapDiv.clientHeight+this.anchorPoint.y-2*this.fudge}),this.wrapper.addClass("mapp-open"),this.draw(),this.opts.popout?this.clipToWindow():"leaflet"==mappl10n.options.engine?this.panLeaflet():this.panGoogle(),this.isOpen=!0},panGoogle:function(){var t=this.overlayView.getProjection(),e=t?t.fromLatLngToDivPixel(this.position):null;if(e){var i=this.node.outerWidth(),o=this.node.outerHeight(),n=this.overlayView.getProjection().fromDivPixelToLatLng(new google.maps.Point(e.x-i/2-this.fudge,e.y+this.fudge)),s=this.overlayView.getProjection().fromDivPixelToLatLng(new google.maps.Point(e.x+i/2+this.fudge,e.y-o+this.anchorPoint.y-this.fudge)),a=new google.maps.LatLngBounds(n,s);this.map.panToBounds(a)}},panLeaflet:function(){var e=this.map.latLngToContainerPoint(this.position),i=t(this.mapDiv).width(),o=t(this.mapDiv).height(),n=this.node.outerWidth(),s=this.node.outerHeight(),a={x:e.x,y:e.y};e.x+n/2+this.anchorPoint.x>i-this.fudge?a.x=Math.max(i-n/2-this.anchorPoint.x-this.fudge,i/2-this.anchorPoint.x):e.x-n/2+this.anchorPoint.x<this.fudge&&(a.x=Math.min(n/2+this.anchorPoint.x+this.fudge,i/2-this.anchorPoint.x)),e.y+this.anchorPoint.y-s<this.fudge&&(a.y=s-this.anchorPoint.y+this.fudge),a.y>=o&&(a.y=o-this.fudge),this.map.panBy([e.x-a.x,e.y-a.y])},setContent:function(e){t(".mapp-ib",this.node).empty().append(e)},setSize:function(t){}}},628:function(){var t,e=window.mapp||{};t=jQuery,e.lib={ajax:function(e){var i=this,o={callback:null,data:null,dataType:"json",silent:!1,type:"GET",url:mappl10n.options.ajaxurl,success:function(t,o,n){"json"==e.dataType&&"OK"!=t.status&&console.log(t.status),"json"==e.dataType&&t.output?i.alert("AJAX Invalid Output\r\n"+t.output):e.callback&&e.callback(t,n)},error:function(t,o,n){"cancel"!=o&&(void 0!==n&&""!=n&&i.alert("AJAX ERROR\r\nTextStatus="+o+"\r\nError="+n+"\r\nResponseText="+t.responseText),e.callback&&e.callback(null))}};return e=t.extend(o,e),t.ajax(e)},alert:function(t){function e(_x){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){mappl10n.options.admin||mappl10n.options.debug?alert(t):window.console&&console.error(t)})),jqVersionCheck:function(e){if(void 0===t||void 0===e)return!1;e=e.split("."),v=t.fn.jquery.split(".");for(var i=0;i<e.length;i++){var o=parseInt(e[i]),n=void 0!==v[i]?parseInt(v[i]):0;if(n!=o)return n>o}return!0},log:function(t){window.console&&console.error(t)},scrollTo:function(t,e,i){if(t&&e&&t.length&&e.length){var o=t.height(),n=e.outerHeight(!0),s=t.scrollTop(),a=s+e.position().top,l=a+n;a=a-o/2-n/2,i&&(a-=i.outerHeight(!0)),(a<s||l>s+o)&&t.scrollTop(a)}},template:function(i,o){if(e.lib.templates=e.lib.templates?e.lib.templates:{},!e.lib.templates[i]){var n=mappl10n.options.templates?mappl10n.options.template[i]:t("#mapp-tmpl-"+i).html();if(!n)return"";e.lib.templates[i]=_.template(n.replace(/[\n\r\t]/g,""),null,{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g})}return e.lib.templates[i](o)},uniqid:function(){return void 0===e.lib.uniqidCounter?e.lib.uniqidCounter=0:e.lib.uniqidCounter++,e.lib.uniqidCounter}},e.lib.jqVersionCheck("1.7")||e.lib.alert("jQuery version is too old: "+t.fn.jquery),t("body").on("tabsactivate tabsshow",(function(e,i){var o=i.newPanel?i.newPanel:i.panel;o&&t(".mapp-layout",o).each((function(){var e=t(this).find(".mapp-canvas").attr("id"),i=window[e];i.resize(),i.recenter()}))})),jQuery,"leaflet"==mappl10n.options.engine&&(L.LatLng.prototype.toJSON=function(){return{lat:this.lat,lng:this.lng}},L.LatLngBounds.prototype.toJSON=function(){return{south:this.getSouth(),west:this.getWest(),north:this.getNorth(),east:this.getEast()}},L.LatLng.prototype.toUrlValue=function(){return Math.round(1e6*this.lat)/1e6+", "+Math.round(1e6*this.lng)/1e6}),e.event={addListener:function(t,e,i){e=e.split(" ");for(var o=0;o<e.length;o++)"leaflet"==mappl10n.options.engine?t.on(e[o],i):google.maps.event.addListener(t,e[o],i)},addListenerOnce:function(t,e,i){e=e.split(" ");for(var o=0;o<e.length;o++)"leaflet"==mappl10n.options.engine?t.once(e[o],i):google.maps.event.addListenerOnce(t,e[o],i)},clearInstanceListeners:function(t){"leaflet"==mappl10n.options.engine?t.off():google.maps.event.clearInstanceListeners(t)},clearListeners:function(t,e){e=e.split(" ");for(var i=0;i<e.length;i++)"leaflet"==mappl10n.options.engine?t.off(e[i]):google.maps.event.clearListeners(t,e[i])},trigger:function(t,e,i){"leaflet"==mappl10n.options.engine?t.fire(e,i):google.maps.event.trigger(t,e,i)}},function(t){e.lib.Modal=function(){this.el=null;var e=this;this.el=t('<div class="mapp-modal" tabindex="0">').append('<div class="mapp-modal-backdrop">').append('<div class="mapp-modal-content" tabindex="1">'),this.el.hide(),this.el.on("click",".mapp-modal-backdrop",(function(){e.close()})),this.el.on("click",".mapp-modal-close",(function(){e.close()})),this.el.on("keydown",(function(t){27==t.which&&e.close()}))},e.lib.Modal.prototype={close:function(){this.el&&this.el.is(":visible")&&(this.el.hide(),t("body").removeClass("mapp-modal-noscroll"))},focus:function(){t(".mapp-modal-focus",this.el).attr("tabindex",0),t(".mapp-modal-focus",this.el).focus()},open:function(){this.el.parent().length||this.el.appendTo("body"),this.el.show(),t("body").addClass("mapp-modal-noscroll"),this.focus()},setContent:function(e){t(".mapp-modal-content",this.el).empty(),t(".mapp-modal-content",this.el).append('<div class="mapp-modal-close">&times;').append(e),this.focus()}}}(jQuery)},692:function(){jQuery,mapp.load=function(){if("undefined"!=typeof mapp&&mapp.data)for(;mapp.data.length;){var t=mapp.data.pop();window[t.name]=new mapp.Map(t),window[t.name].display()}},mapp.load()},436:function(){var t;t=jQuery,mapp.Marker=function(t){var e=this;this.anchorPoint=null,this.div=null,this.draggable=null,this.icon=null,this.map=null,this.position=null,this.visible=null,this.zIndex=0,this.setValues(t),this.overlayView=new google.maps.OverlayView,this.overlayView.draw=function(){return e.draw()},this.overlayView.onAdd=function(){return e.onAdd()},this.overlayView.onRemove=function(){return e.onRemove()}},mapp.Marker.prototype={draw:function(){if(this.div&&this.icon){var e=this.overlayView.getProjection().fromLatLngToDivPixel(this.position),i=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};t(this.div).css({left:e.x-i.width/2,top:e.y-i.height})}},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(t){var e="on"+t.type[0].toUpperCase()+t.type.slice(1);this[e]&&this[e](t)},onAdd:function(){var e=this,i=this.overlayView.getPanes();this.div=t('<div class="mapp-marker">'),this.div.appendTo(i.overlayMouseTarget),this.icon&&this.setIcon(),google.maps.OverlayView.preventMapHitsAndGesturesFrom(this.div.get(0)),this.div.get(0).addEventListener("click",(function(){(!e.dragging||e.dragging&&!e.dragging.moved)&&mapp.event.trigger(e,"click"),e.dragging=null})),this.div.get(0).addEventListener("mouseenter",this),this.div.get(0).addEventListener("mouseleave",this),this.setDraggable(this.draggable)},onMouseenter:function(t){mapp.event.trigger(this,"mouseover")},onMouseleave:function(t){mapp.event.trigger(this,"mouseout")},onPointerdown:function(t){var e=this.map.getDiv().getBoundingClientRect(),i=this.overlayView.getProjection().fromLatLngToContainerPixel(this.position);this.dragging={moved:!1,startPixel:{x:t.clientX,y:t.clientY},offset:{x:i.x-(t.clientX-e.left),y:i.y-(t.clientY-e.top)}},this.toggleDragEvents(!0)},onPointermove:function(t){if(!(Math.abs(t.clientX-this.dragging.startPixel.x)+Math.abs(t.clientY-this.dragging.startPixel.y)<3)){var e=this.map.getDiv().getBoundingClientRect(),i={x:t.clientX-e.left+this.dragging.offset.x,y:t.clientY-e.top+this.dragging.offset.y};this.setPosition(this.overlayView.getProjection().fromContainerPixelToLatLng(i)),this.draw(),this.dragging.moved=!0,mapp.event.trigger(this,"dragstart")}},onPointercancel:function(t){this.onPointerup(t)},onPointerup:function(t){this.dragging&&this.dragging.moved&&mapp.event.trigger(this,"dragend"),this.toggleDragEvents(!1)},onRemove:function(){this.div&&(this.toggleDragEvents(!1),this.div.remove(),this.div=null)},set:function(t,e){var i="set"+t[0].toUpperCase()+t.slice(1);this[i]&&this[i](e)},setDraggable:function(t){this.draggable=t,this.map&&(this.div.get(0).removeEventListener("pointerdown",this,{passive:!0}),t&&this.div.get(0).addEventListener("pointerdown",this,{passive:!0}))},setIcon:function(t){if(void 0!==t&&(this.icon=t),this.icon&&this.div){var e='<img draggable="false" src="'+this.icon.url+'">';this.div.html(e);var i=this.icon.scaledSize?this.icon.scaledSize:{width:32,height:32};this.div.css({width:i.width,height:i.height}),this.setZIndex()}},setMap:function(t){this.map=t,this.overlayView.setMap(t)},setPosition:function(t){this.position=t},setValues:function(t){for(var e in t)this.set(e,t[e])},setVisible:function(t){this.visible=t,this.div&&this.div.css("visibility",t?"visibile":"hidden")},setZIndex:function(t){this.zIndex=void 0!==t?t:this.zIndex,this.div&&this.div.css("z-index",t)},toggleDragEvents:function(t){document.removeEventListener("pointermove",this,{passive:!0}),document.removeEventListener("pointerup",this,{passive:!0}),document.removeEventListener("pointercancel",this,{passive:!0}),t&&(document.addEventListener("pointermove",this,{passive:!0}),document.addEventListener("pointerup",this,{passive:!0}),document.addEventListener("pointercancel",this,{passive:!0}))}}},510:function(){var t,e=window.mapp||{};t=jQuery,e.Places=function(i,o){var n=this;this.sel=t(i),this.opts=t.extend({map:null},o);var s="";s="leaflet"!=mappl10n.options.engine?"google":mappl10n.options.geocoder?mappl10n.options.geocoder:"algolia",this.geocoder=new e.geocoders[s](this.opts.map),this.sel.on("keydown",(function(e){if(13==e.which){e.preventDefault();var i=n.parseLatLng(n.sel.val());i&&(t(n).triggerHandler("search.mapp",i),n.sel.autocomplete("close"),e.stopImmediatePropagation()),"http"==n.sel.val().substring(0,4)&&(t(n).triggerHandler("search.mapp",n.sel.val()),n.sel.autocomplete("close"),e.stopImmediatePropagation()),!1===mappl10n.options.autocomplete&&(n.sel.autocomplete("option","disabled",!1),n.sel.autocomplete("search"))}else!1===mappl10n.options.autocomplete&&n.sel.autocomplete("option","disabled",!0),n.sel.autocomplete("close")})),this.initAutocomplete()},e.Places.prototype={parse:function(t,e){var i="";if(t&&(i="string"==typeof(i=t&&t.name?t.name:t)?i.trim():i),i)if("user"!=i)if(t&&t.geometry)e(t);else{var o=this.parseLatLng(t);o?e(o):this.geocoder.getFirstPrediction(t,(function(t){e(t)}))}else this.geolocate((function(t){e(t)}));else e(null)},parseLatLng:function(t){var e;if(t.hasOwnProperty("lat")&&t.hasOwnProperty("lng"))e=t;else{var i=t&&t.name?t.name:t,o=(i="string"==typeof i?i.trim():i).split(",");if(2==o.length){var n=parseFloat(o[0]),s=parseFloat(o[1]);isNaN(n)||isNaN(s)||(e={lat:n,lng:s})}}return e?{name:e.lat+", "+e.lng,geometry:{location:e}}:null},geolocate:function(t){var e=this;navigator&&navigator.geolocation?navigator.geolocation.getCurrentPosition((function(i){var o={lat:i.coords.latitude,lng:i.coords.longitude};t({name:o.lat+", "+o.lng,geometry:{location:o}}),e.sel.val("")}),(function(e){var i=e&&e.message?" : "+e.message:"";alert(mappl10n.no_geolocate+i),t(null)}),{timeout:15e3,enableHighAccuracy:!0,maximumAge:3e4}):alert(mappl10n.no_geolocate)},initAutocomplete:function(){var e=this;this.sel&&this.sel.length&&(this.sel.on("autocompleteselect",(function(i,o){e.geocoder.getDetails(o.item,(function(i){e.parse(i,(function(i){i&&t(e).triggerHandler("search.mapp",i)}))}))})),this.sel.autocomplete({appendTo:this.sel.parent(),autoFocus:!0,minLength:1,delay:"nominatim"===mappl10n.options.geocoder?500:300,disabled:!1===mappl10n.options.autocomplete,source:function(t,i){e.geocoder.getPredictions(t.term,(function(t){i(t)}))}}))}}},548:function(){var t,e=window.mapp||{};t=jQuery,e.Poi=function(i){if(this.defaults={address:null,body:null,html:null,iconid:null,kml:null,map:null,overlay:null,postid:null,props:null,title:"",url:null,type:null,viewport:null},t.extend(this,this.defaults,i),i&&i.correctedAddress&&(this.address=i.correctedAddress),"leaflet"==mappl10n.options.engine&&this.isPoly()&&(this.type=null),i.viewport&&i.viewport.sw&&i.viewport.ne&&i.viewport.sw.lat){var o=i.viewport.sw,n=i.viewport.ne;"leaflet"==mappl10n.options.engine?this.viewport=new L.LatLngBounds(L.latLng(o.lat,o.lng),L.latLng(n.lat,n.lng)):this.viewport=new google.maps.LatLngBounds(new google.maps.LatLng(o.lat,o.lng),new google.maps.LatLng(n.lat,n.lng))}var s=[],a=[];if(!i.overlay)switch(this.type){case"polygon":if(i.poly&&i.poly.paths)for(var l=0;l<i.poly.paths.length;l++){s=[];for(var r=0;r<i.poly.paths[l].length;r++)s.push(new google.maps.LatLng(i.poly.paths[l][r].lat,i.poly.paths[l][r].lng));a.push(new google.maps.MVCArray(s))}this.overlay=new google.maps.Polygon({paths:new google.maps.MVCArray(a)}),this.setColors(i.poly);break;case"polyline":if(i.poly&&i.poly.path)for(l=0;l<i.poly.path.length;l++)s.push(new google.maps.LatLng(i.poly.path[l].lat,i.poly.path[l].lng));this.overlay=new google.maps.Polyline({path:new google.maps.MVCArray(s)}),this.setColors(i.poly);break;case"circle":var p=new google.maps.LatLng(i.point.lat,i.point.lng);this.overlay=new google.maps.Circle({center:p,radius:parseFloat(i.poly.radius)}),this.setColors(i.poly);break;case"rectangle":this.overlay=new google.maps.Rectangle({bounds:this.viewport}),this.setColors(i.poly);break;case"kml":var h=i.kml&&i.kml.url?i.kml.url:"";this.overlay="leaflet"==mappl10n.options.engine?omnivore.kml(h):new google.maps.KmlLayer({url:h,preserveViewport:!0,suppressInfoWindows:!0});break;case"":default:"leaflet"==mappl10n.options.engine?this.overlay=L.marker([i.point.lat,i.point.lng]):this.overlay=new e.Marker({position:new google.maps.LatLng(i.point.lat,i.point.lng)})}i.type||this.set({iconid:i.iconid})},e.Poi.prototype={center:function(t){var e=this.getBounds();if("number"!=typeof t)if(e){var i=e.getNorthEast().toJSON().lng-e.getSouthWest().toJSON().lng;i<0&&(i+=360),t=Math.round(Math.log(360*this.map.div.canvas.width()/i/256)/Math.LN2),this.map.setView(this.getPosition(),t,{animate:!1})}else this.map.setView(this.getPosition(),parseInt(mappl10n.options.poiZoom));else this.map.setView(this.getPosition(),t)},getAddress:function(){return this.address?this.address:this.getPosition().toUrlValue()},getAnchorPoint:function(t){switch(this.isPoly()?"poly":this.type){case"kml":return"leaflet"==mappl10n.options.engine?[0,0]:t&&t.pixelOffset?new google.maps.Point(t.pixelOffset.width,t.pixelOffset.height):new google.maps.Point(0,0);case"poly":return"leaflet"==mappl10n.options.engine?[0,0]:new google.maps.Point(0,0);default:return"leaflet"==mappl10n.options.engine?this.overlay.options.icon.options.popupAnchor?this.overlay.options.icon.options.popupAnchor:[0,-32]:void 0!==this.overlay.anchorPoint&&this.overlay.anchorPoint?this.overlay.anchorPoint:new google.maps.Point(0,-32)}},getBounds:function(){var t;switch(this.type){case"polyline":t=new google.maps.LatLngBounds,this.overlay.getPath().forEach((function(e){t.extend(e)}));break;case"polygon":t=new google.maps.LatLngBounds,this.overlay.getPaths().forEach((function(e){e.forEach((function(e){t.extend(e)}))}));break;case"rectangle":case"circle":t=this.overlay.getBounds();break;case"kml":t=(t="leaflet"==mappl10n.options.engine?this.overlay.getBounds().isValid()?this.overlay.getBounds():null:this.overlay.getDefaultViewport())||this.viewport;break;default:return this.viewport}return t},getColors:function(){var t={};for(var e in{strokeColor:"",strokeOpacity:"",strokeWeight:"",fillColor:"",fillOpacity:""})void 0!==this.overlay[e]&&(t[e]=this.overlay[e]);return t},getPosition:function(t){if(!this.type)return"leaflet"==mappl10n.options.engine?this.overlay.getLatLng():this.overlay.getPosition();if("kml"==this.type&&t&&t.latLng)return t.latLng;var e=this.getBounds();return e?e.getCenter():"leaflet"==mappl10n.options.engine?new L.latLng(0,0):new google.maps.LatLng(0,0)},getTemplateColors:function(){var t=this.getColors();return"polyline"==this.type?{color:t.strokeColor,opacity:100*t.strokeOpacity,weight:t.strokeWeight}:{color:t.fillColor,opacity:100*t.fillOpacity,weight:t.strokeWeight}},highlight:function(i){if(!this.type){var o="leaflet"==mappl10n.options.engine?t(this.overlay._icon):this.overlay.getDiv();if(o){switch(this.editable?"circle":mappl10n.options.highlight){case"circle":o.toggleClass("mapp-marker-circle",i);break;case"icon":var n=i?e.Icons.get(mappl10n.options.highlightIcon):e.Icons.get(this.iconid);if("leaflet"==mappl10n.options.engine&&this.overlay.getIcon().options.iconUrl==n.options.iconUrl)return;this.overlay.setIcon(n);break;case"scale":this.map.editable||("leaflet"!=mappl10n.options.engine&&(o=o.parent()),o.addClass("mapp-marker"),o.toggleClass("mapp-marker-scale",i))}this.setZIndex(i?1e4:0)}}},isPoly:function(){return-1!=jQuery.inArray(this.type,["polyline","polygon","circle","rectangle"])},open:function(t){this.map.poiOpen(this,t)},fetchPost:function(t){var i=this;this.html?t():e.lib.ajax({type:"GET",data:{action:"mapp_get_post",postid:this.postid,nonce:mappl10n.options.nonce},dataType:"html",callback:function(e){i.html=e,t()}})},render:function(t,i){var o=_.extend(this,{icon:e.Icons.getUrl(this.iconid)});return i&&(o.body=i.description,o.title=i.name),e.lib.template(this.map.templates[t],{poi:o,colors:this.getTemplateColors()})},set:function(t){for(var i in t){var o=t[i];switch(i){case"dirty":this.map.set({dirty:o});break;case"iconid":this.type||(this.iconid=o,this.overlay.setIcon(e.Icons.get(o)));break;default:this[i]=o}}this.map&&"undefined"!=typeof dirty&&this.map.set({dirty:dirty})},setColors:function(t){var e={};for(var i in{strokeColor:"",strokeOpacity:"",strokeWeight:"",fillColor:"",fillOpacity:""})t&&void 0!==t[i]&&(e[i]=t[i]);this.overlay.setOptions(e)},setEditable:function(t){var i=this;"kml"!=this.type&&("leaflet"==mappl10n.options.engine?this.overlay.options.draggable=t:this.overlay.setDraggable(t),this.isPoly()&&this.overlay.setEditable(t),e.event.clearListeners(this.overlay,"rightclick"),e.event.clearListeners(this.overlay,"dragstart"),t&&(e.event.addListener(this.overlay,"dragstart",(function(){i.viewport=null,i.map.poiClose()})),e.event.addListener(this.overlay,"dragend",(function(){i.map.set({dirty:!0})})),"polygon"!=this.type&&"polyline"!=this.type||"leaflet"!=mappl10n.options.engine&&(e.event.addListener(this.overlay,"rightclick",(function(t){null!=t.vertex&&i.overlay.getPath().getLength()>2&&i.overlay.getPath().removeAt(t.vertex)})),e.event.clearListeners(this.overlay.getPath(),"insert_at remove_at set_at"),e.event.addListener(this.overlay.getPath(),"insert_at remove_at set_at",(function(){i.map.set({dirty:!0})})))))},setMap:function(t){var i=this;this.map=t,e.event.clearInstanceListeners(this.overlay),null!=t?("kml"==this.type&&("leaflet"==mappl10n.options.engine?(e.event.addListenerOnce(this.overlay,"ready",(function(){i.viewport=i.overlay.getBounds()})),e.event.addListenerOnce(this.overlay,"error",(function(){alert(mappl10n.kml_error)}))):(e.event.addListener(this.overlay,"defaultviewport_changed",(function(){i.viewport=i.overlay.getDefaultViewport()})),e.event.addListener(this.overlay,"status_changed",(function(){var t=i.overlay.getStatus();"OK"!=t&&alert(mappl10n.kml_error+":"+t)})))),this.setEditable(this.map.editable),!this.type&&this.map.clusterer||("leaflet"==mappl10n.options.engine?this.overlay.addTo(t.getMap()):this.overlay.setMap(t.getMap())),e.event.addListener(this.overlay,"click",(function(t){i.open(t)})),e.event.addListener(this.overlay,"mouseover",(function(t){i.map.poiHover(i)})),e.event.addListener(this.overlay,"mouseout",(function(t){i.map.poiHover(null)}))):"leaflet"==mappl10n.options.engine?this.overlay.remove():this.overlay.setMap(null)},setTemplateColors:function(t,e,i){var o="polyline"==this.type?{strokeColor:t,strokeOpacity:e/100,strokeWeight:i}:{fillColor:t,fillOpacity:e/100,strokeColor:t,strokeWeight:i,strokeOpacity:1};this.setColors(o)},setVisible:function(t){void 0!==this.overlay.setVisible&&this.overlay.setVisible(t)},setZIndex:function(t){"leaflet"==mappl10n.options.engine?this.type||this.overlay.setZIndexOffset(t):this.overlay.set("zIndex",t)},toJSON:function(){var t={address:this.address,body:this.body,iconid:this.iconid,point:null,poly:null,title:this.title,type:this.type,viewport:null},e=this.getPosition();t.point=e.toJSON();var i=this.viewport?this.viewport:this.getBounds();if(i){var o=i.toJSON();t.viewport={sw:{lat:o.south,lng:o.west},ne:{lat:o.north,lng:o.east}}}if("kml"==this.type&&(t.kml=this.kml),this.isPoly())switch(t.poly=this.getColors(),this.type){case"circle":t.poly.radius=this.overlay.getRadius();break;case"polyline":t.poly.path=[],this.overlay.getPath().forEach((function(e){t.poly.path.push(e.toJSON())}));break;case"polygon":t.poly.paths=[],this.overlay.getPaths().forEach((function(e){var i=[];e.forEach((function(t){i.push(t.toJSON())})),t.poly.paths.push(i)}));break;case"rectangle":var n=this.overlay.getBounds();t.viewport={sw:n.getSouthWest().toJSON(),ne:n.getNorthEast().toJSON()}}return t}}},675:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){for(var e=0;e<t.length;e++){var i=t[e].match(/country\/(.*)?/);if(i)return i[1]}return}},892:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e={country:"country",city:"city","amenity/bus_station":"busStop","amenity/townhall":"townhall","railway/station":"trainStation","aeroway/aerodrome":"airport","aeroway/terminal":"airport","aeroway/gate":"airport"};for(var i in e)if(-1!==t.indexOf(i))return e[i];return"address"}},991:function(t,e,i){"use strict";e.Z=function(t){var e=t.formatInputValue,i=t.hit,s=t.hitIndex,a=t.query,r=t.rawAnswer;try{var h=i.locale_names[0],c=i.country,u=i.administrative&&i.administrative[0]!==h?i.administrative[0]:void 0,d=i.city&&i.city[0]!==h?i.city[0]:void 0,g=i.suburb&&i.suburb[0]!==h?i.suburb[0]:void 0,m=i.county&&i.county[0]!==h?i.county[0]:void 0,v=i.postcode&&i.postcode.length?function(t,e){for(var i=e[0].value,o=[],n=1;n<e.length;++n)"none"!==e[n].matchLevel&&o.push({index:n,words:e[n].matchedWords});if(0===o.length)return{postcode:t[0],highlightedPostcode:i};return o.sort((function(t,e){return t.words>e.words?-1:t.words<e.words?1:t.index-e.index})),{postcode:t[o[0].index],highlightedPostcode:e[o[0].index].value}}(i.postcode,i._highlightResult.postcode):{postcode:void 0,highlightedPostcode:void 0},f=v.postcode,y=v.highlightedPostcode,w={name:p(i._highlightResult.locale_names),city:d?p(i._highlightResult.city):void 0,administrative:u?p(i._highlightResult.administrative):void 0,country:c?i._highlightResult.country.value:void 0,suburb:g?p(i._highlightResult.suburb):void 0,county:m?p(i._highlightResult.county):void 0,postcode:y},b={name:h,administrative:u,county:m,city:d,suburb:g,country:c,countryCode:(0,o.default)(i._tags),type:(0,n.default)(i._tags),latlng:{lat:i._geoloc.lat,lng:i._geoloc.lng},postcode:f,postcodes:i.postcode&&i.postcode.length?i.postcode:void 0},L=e(b);return l(l({},b),{},{highlight:w,hit:i,hitIndex:s,query:a,rawAnswer:r,value:L})}catch(t){return console.error("Could not parse object",i),console.error(t),{value:"Could not parse object"}}};var o=s(i(675)),n=s(i(892));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function l(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?a(Object(i),!0).forEach((function(e){r(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function r(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function p(t){for(var e=t[0].value,i=[],o=1;o<t.length;++o)"none"!==t[o].matchLevel&&i.push({index:o,words:t[o].matchedWords});return 0===i.length?e:(i.sort((function(t,e){return t.words>e.words?-1:t.words<e.words?1:t.index-e.index})),0===i[0].index?"".concat(e," (").concat(t[i[1].index].value,")"):"".concat(t[i[0].index].value," (").concat(e,")"))}},574:function(t,e){"use strict";e.Z=function(t){var e=t.administrative,i=t.city,o=t.country,n=t.name,s=t.type;return"".concat(n).concat("country"!==s&&void 0!==o?",":"","\n ").concat(i?"".concat(i,","):"","\n ").concat(e?"".concat(e,","):"","\n ").concat(o||"").replace(/\s*\n\s*/g," ").trim()}}},e={};function i(o){if(e[o])return e[o].exports;var n=e[o]={exports:{}};return t[o](n,n.exports,i),n.exports}i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i(628),i(854),i(397),i(442),i(282),i(689),i(436),i(510),i(548),i(692)}();
build/index_mappress_admin.js CHANGED
@@ -1 +1 @@
1
- (()=>{var t={215:(t,e,n)=>{"use strict";n.r(e);n(278);var i,a=window.mapp||{};i=jQuery,a.Editor=function(t){this.drawingManager=null,this.map=t,this.poiEditor=null;var e=this;this.initialize=function(){this.map.display(),this.poiEditor=new a.PoiEditor(this.map),this.initDrawingManager(),i(this.map.places).off("search.mapp"),i(this.map.places).on("search.mapp",(function(t,n){e.insert(n)}))},this.insert=function(t){if(t)if(this.drawingManager&&this.drawingManager.setDrawingMode(null),this.map.poiClose(),t.geometry){var e=t.formatted_address?t.formatted_address.replace(/, United States of America/i,"").replace(/, United States/i,"").replace(/, USA/i,""):null,n=t.name==e?"":e,i=new a.Poi({address:e,body:n,iconid:this.poiEditor.lastIcon,point:t.geometry.location,title:t.name,viewport:t.geometry.viewport?t.geometry.viewport:null});this.map.poiInsert(i),i.center()}else t.overlay?(i=new a.Poi({body:"",iconid:"marker"==t.type?null:"poly",overlay:t.overlay,title:"marker"==t.type?t.overlay.getPosition().toUrlValue(6):mappl10n.shape,type:"marker"==t.type?null:t.type}),this.map.poiInsert(i)):"string"==typeof t&&t.substring(0,4)},this.initDrawingManager=function(){},this.initialize.apply(this)},a.PoiEditor=function(t){this.map=t,this.poi=null,this.sel=null,this.lastIcon=null;var e=this;this.initialize=function(){this.sel=i(this.map.iw.getContent()),i(this.map).on("mapp.open",(function(t,n){e.render(n)})),i(this.map).on("mapp.close",(function(){e.mce(!1)})),this.sel.on("click","[data-mapp-poi]",(function(t){t.preventDefault();var n=i(this).attr("data-mapp-poi");e[n]()})),this.sel.on("click",".mapp-poi-visual, .mapp-poi-html",(function(t){var n=i(this).hasClass("mapp-poi-visual");e.mce(n)})),this.sel.on("keydown",(function(t){13==t.which&&"mapp-poi-body"!=t.target.id&&(t.preventDefault(),e.save())})),this.sel.on("change","[data-mapp-iconpicker]",(function(){e.poi.set({dirty:!0,iconid:i("[data-mapp-iconpicker]").attr("data-mapp-iconid")}),e.lastIcon=e.poi.iconid,e.map.renderList()})),this.sel.on("change","[data-mapp-colorpicker]",(function(){e.poi.setTemplateColors(i("[data-mapp-colorpicker]").attr("data-mapp-color"),i("[data-mapp-colorpicker]").attr("data-mapp-opacity"),i("[data-mapp-colorpicker]").attr("data-mapp-weight")),e.map.renderList()}))},this.cancel=function(){this.map.poiClose()},this.initMCE=function(){if("undefined"!=typeof tinyMCE&&void 0!==tinyMCE.init){var t="en";if(void 0!==window.tinyMCEPreInit&&void 0!==window.tinyMCEPreInit.mceInit&&void 0!==window.tinyMCEPreInit.mceInit.content){var e=window.tinyMCEPreInit.mceInit.content;t=void 0!==e.language?e.language:"en"}var n={mode:"none",height:"100%",convert_urls:!1,language:t,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(n),this.mce(!0)}},this.mce=function(t){var n=t?"mceAddEditor":"mceRemoveEditor";"undefined"!=typeof tinyMCE&&tinyMCE.execCommand(n,!1,"mapp-poi-body"),i(".mapp-poi-visual, .mapp-poi-html",e.sel).removeClass("mapp-active"),t?i(".mapp-poi-visual",e.sel).addClass("mapp-active"):i(".mapp-poi-html",e.sel).addClass("mapp-active")},this.remove=function(){confirm(mappl10n.delete_prompt)&&(this.map.poiClose(),this.map.poiRemove(this.poi))},this.render=function(t){this.poi=t,i("[data-mapp-iconpicker]").trigger("refresh"),i("[data-mapp-colorpicker]").trigger("refresh"),this.initMCE()},this.save=function(){"undefined"!=typeof tinyMCE&&tinyMCE.get("mapp-poi-body")&&tinyMCE.get("mapp-poi-body").save(),this.poi.set({dirty:!0,title:i(".mapp-poi-title").val(),body:i(".mapp-poi-body").val()}),this.map.renderList(),this.map.poiClose()},this.initialize.apply(this)}},999:(t,e,n)=>{"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var a,o=t[Symbol.iterator]();!(_n=(a=o.next()).done)&&(n.push(a.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==o.return||o.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return p(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}n.r(e),n.d(e,{default:()=>y});var s=window.mapp||{},l=wp.element.createElement,c=wp.element,u=(c.Fragment,c.useEffect),m=(c.useLayoutEffect,c.useRef),d=c.useState,h=wp.components,f=h.Button,g=h.Modal,b=(h.Popover,h.Spinner,h.TextControl),__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function y(t){var e=r(d({isFetchingMap:!!t.mapid,isSavingMap:!1,map:null}),2),n=e[0],i=e[1],o=m(null);function p(t){i((function(e){return a(a({},e),t)}))}function c(e,i){switch(e){case"change-title":n.map.set({dirty:!0,title:i}),p({map:n.map});break;case"close":t.onAction("edit-close");break;case"destroy":confirm(mappl10n.delete_map_prompt)&&(s.store.destroyMap({mapid:t.mapid}),t.onAction("edit-destroy"));break;case"save":s.store.saveMap({mapdata:n.map.toJSON(),success:function(e){n.map.set({dirty:!1}),t.onAction("edit-save",e.mapid)}})}}return u((function(){var e=function(e){p({mapdata:e.maps[t.mapid],isFetchingMap:e.isFetchingMap,isSavingMap:e.isSavingMap})};return s.store.subscribe(e),function(){return s.store.unsubscribe(e)}})),u((function(){t.mapid&&s.store.fetchMap({mapid:t.mapid})}),[]),u((function(){n.isFetchingMap||function(t){var e=new s.Map(t,{center:null,editable:!0,embed:!0,layout:"left",mapOpts:{mapTypeControl:!0,streetViewControl:!1},menu:!1,name:"media-map",poiList:!0,sel:jQuery(o.current),zoom:null});new s.Editor(e);p({map:e})}(n.mapdata)}),[n.mapdata]),l(g,{className:"mapp-edit-modal",focusOnMount:!0,isDismissible:!1,title:function(){if(n.map&&!n.isFetchingMap){var t=n.map.title?n.map.title:"";return l(b,{className:"mapp-edit-title",placeholder:__("Untitled"),value:t,onChange:function(t){return c("change-title",t)}})}}(),shouldCloseOnEsc:!1,shouldCloseOnClickOutside:!1,onRequestClose:function(){c("close")}},l("div",{className:"mapp-edit",ref:o,onKeyDown:function(t){return t.stopPropagation()},tabIndex:-1}),l("div",{className:"mapp-edit-toolbar",tabIndex:-1,onKeyDown:function(t){return t.stopPropagation()}},l(f,{isPrimary:!0,isBusy:n.isSavingMap,onClick:function(){return c("save")}},__("Save")),l(f,{disabled:n.isSavingMap,onClick:function(){return c("close")}},__("Cancel")),l(f,{disabled:!t.mapid||n.isSavingMap,isDestructive:!0,className:"mapp-edit-delete",onClick:function(){return c("destroy")}},__("Delete"))))}},938:(t,e,n)=>{"use strict";n.r(e);var i=n(926),a=n(999);function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){p(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function p(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var a,o=t[Symbol.iterator]();!(_n=(a=o.next()).done)&&(n.push(a.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==o.return||o.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}window.mapp;var c=wp.element.createElement,u=wp.element,m=u.Fragment,d=u.render,h=u.useEffect,f=(u.useLayoutEffect,u.useRef,u.useState),g=wp.components,b=g.Button,__=(g.Modal,function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")});document.getElementById("mapp-library")&&(mappl10n.options.postid=0,d(c((function(t){var e=s(f({mode:"list",mapid:null,scrollTop:null}),2),n=e[0],o=e[1];function p(t){o((function(e){return r(r({},e),t)}))}function l(t,e){switch(t){case"add-new":p({mode:"edit",mapid:null});break;case"edit-close":p({mode:"list"});break;case"edit-destroy":p({mode:"list",mapid:null});break;case"edit-save":p({mode:"list"});break;case"list-select":p({mode:"edit",mapid:e,scrollTop:jQuery(".mapp-pick-items").scrollTop()})}}return h((function(){}),[]),c(m,null,c("div",{className:"wrap"},c("div",null,c("h1",null,__("Map Library")),c(b,{className:"button button-default",onClick:function(){return l("add-new")}},__("Add New"))),c("div",{className:"mapp-library-wrapper"},c(i.default,{context:"library",mapid:n.mapid,onAction:l,scrollTop:n.scrollTop}))),"edit"==n.mode&&c(a.default,{context:"library",mapid:n.mapid,onAction:l}))}),null),document.getElementById("mapp-library")))},816:(t,e,n)=>{"use strict";n.r(e);var i=n(429),a=n(218),o=n(926),r=n(999);function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function s(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?p(Object(n),!0).forEach((function(e){l(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function l(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var a,o=t[Symbol.iterator]();!(_n=(a=o.next()).done)&&(n.push(a.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==o.return||o.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return u(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var m=window.mapp||{},d=wp.element.createElement,h=wp.element,f=h.Fragment,g=h.useEffect,b=(h.useLayoutEffect,h.useRef),y=h.useState,__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function v(t){var e=wp.components,n=(e.BaseControl,e.Button),p=(e.ButtonGroup,e.CheckboxControl,e.Dropdown,e.Modal,e.Panel,e.PanelBody),l=(e.PanelRow,e.Placeholder),u=(e.RadioControl,e.SelectControl,e.TextControl,e.ToggleControl,e.Toolbar),h=e.ToolbarButton,v=(e.ToolbarGroup,wp.blockEditor),w=v.BlockControls,O=v.InspectorControls,k=c(y({editMapid:null,isListOpen:!1,isEditorOpen:!1,map:null,mapdata:null}),2),C=k[0],j=k[1],S=b(null);function P(t){j((function(e){return s(s({},e),t)}))}function E(e,n){switch(e){case"add":P({isEditorOpen:!0,editMapid:null});break;case"change-settings":t.setAttributes(n);break;case"edit":P({isEditorOpen:!0,editMapid:t.attributes.mapid});break;case"edit-close":P({isEditorOpen:!1,editMapid:null});break;case"edit-destroy":case"list-destroy":t.setAttributes({mapid:void 0,center:void 0,zoom:void 0,width:void 0,height:void 0}),P({isEditorOpen:!1,isListOpen:!1});break;case"edit-save":P({isEditorOpen:!1,editMapid:null}),t.setAttributes({mapid:n});break;case"list-close":P({isListOpen:!1});break;case"list-select":n!=t.attributes.mapid&&t.setAttributes({center:void 0,mapid:n,zoom:void 0}),E("list-close");break;case"open-list":P({isListOpen:!0})}}function _(){var e=void 0!==e?e:u,n=mappl10n.options.block?null:d(h,{icon:"portfolio",label:__("Map Library"),onClick:function(){return E("open-list")}});return d(w,null,d(e,null,d(h,{icon:"insert",label:__("New map"),onClick:function(){return E("add")}}),t.attributes.mapid&&d(h,{icon:"edit",label:__("Edit map"),onClick:function(){return E("edit")}}),n))}function M(){if(C.isEditorOpen)return d(r.default,{mapid:C.editMapid,onAction:E})}function x(){if(C.isListOpen)return d(o.default,{mapid:t.attributes.mapid,onAction:E})}return g((function(){var e=function(e){var n=e.maps[t.attributes.mapid];n&&P({mapdata:n})};return m.store.subscribe(e),function(){return m.store.unsubscribe(e)}})),g((function(){t.attributes.mapid&&m.store.fetchMap({mapid:t.attributes.mapid,failure:function(){return P({mapdata:void 0})}})}),[t.attributes.mapid]),g((function(){var e;t.attributes.mapid&&S.current&&C.mapdata&&((e=new m.Map(C.mapdata,{center:t.attributes.center,height:t.attributes.height,mapOpts:{mapTypeControl:!1,streetViewControl:!1},poiList:t.attributes.poiList,sel:jQuery(S.current),width:t.attributes.width,zoom:t.attributes.zoom})).display(),P({map:e}))}),[C.mapdata]),t.attributes.preview?d("img",{className:"mapp-gt-preview",src:mappl10n.options.baseurl+"/images/preview.png",width:"100%"}):t.attributes.mapid&&void 0!==C.mapdata?d(f,null,_(),function(){if(!C.map)return null;var e,o;mappl10n.options.block&&(o=d("div",null,d("p",null,__("Like the block? Upgrade to the free plugin or MapPress Pro for more features!")),d("div",null,d(n,{isPrimary:!0,target:"_blank",href:"https://mappresspro.com"},__("MapPress Pro")),d(n,{isSecondary:!0,href:"https://wordpress.org/plugins/mappress-google-maps-for-wordpress"},__("Free plugin")))),e=d(p,{title:__("MapPress options"),initialOpen:!1},d(a.MappOptions,{onAction:E})));var r=t.attributes,s=r.center,l=r.height,c=r.poiList,u=r.width,m=r.zoom;return d(O,null,d("div",{className:"mapp-gt-inspector"},d(p,{title:__("Map settings")},d(i.MappSettings,{map:C.map,context:"map",onAction:E,center:s,height:l,poiList:c,width:u,zoom:m}),o),e))}(),d("div",{className:"mapp-gt",ref:S}),x(),M()):d(f,null,d(f,null,_(),d(l,{className:"mapp-gt-placeholder",icon:"location",label:__("MapPress Map"),instructions:__("Create a new map or choose one from the map library.")},d(n,{icon:"insert",isSecondary:!0,onClick:function(){return E("add")}},__("New map")),!mappl10n.options.block&&d(n,{icon:"portfolio",isSecondary:!0,onClick:function(){return E("open-list")}},__("Map Library")))),x(),M())}wp.blocks.registerBlockType("mappress/map",{title:__("MapPress Map"),icon:"location",description:__("Insert a map"),category:"mappress",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},width:{type:"string",default:""},zoom:{type:"number"}},supports:{align:["left","center","right"]},transforms:{from:[{type:"shortcode",tag:"mappress",attributes:{center:{type:"string",shortcode:function(t){return t.named.center}},height:{type:"string",shortcode:function(t){return t.named.height}},initialOpenDirections:{type:"boolean",shortcode:function(t){return"true"==t.named.initialOpenDirections||"true"==t.named.initialopendirections}},mapid:{type:"string",shortcode:function(t){return t.named.mapid}},poiList:{type:"boolean",shortcode:function(t){return"true"==t.named.poiList||"true"==t.named.poilist}},width:{type:"string",shortcode:function(t){return t.named.width}},zoom:{type:"number",shortcode:function(t){return parseInt(t.named.zoom)?parseInt(t.named.zoom):null}}}},{type:"block",blocks:["core/shortcode"],isMatch:function(t){var e=t.text,n=wp.shortcode.regexp("mappress");return n.lastIndex=0,n.test(e)},transform:function(t){var e=t.text;return wp.blocks.rawHandler({HTML:"<p>"+e+"</p>",mode:"BLOCKS"})}}]},edit:function(t){return d(v,t)},save:function(t){return t},example:{attributes:{preview:!0}}})},186:(t,e,n)=>{"use strict";n.r(e);n(429);wp.element.createElement;var i=wp.element,a=(i.Fragment,i.useEffect,i.useLayoutEffect,i.useRef,i.useState,wp.components);a.BaseControl,a.Button,a.CheckboxControl,a.Panel,a.PanelBody,a.PanelRow,a.Spinner,a.TextControl;n(308);window.mapp,wp.element.createElement;var o=wp.element,r=(o.Fragment,o.useEffect,o.useLayoutEffect,o.useRef,o.useState,wp.components);r.BaseControl,r.Button,r.ButtonGroup,r.Card,r.CardBody,r.CardFooter,r.CardHeader,r.CheckboxControl,r.ExternalLink,r.HorizontalRule,r.Panel,r.PanelBody,r.PanelRow,r.Placeholder,r.RadioControl,r.SelectControl,r.TabPanel,r.TextControl,r.TextareaControl,r.ToggleControl,r.Toolbar,wp.data.useSelect},218:(t,e,n)=>{"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var a,o=t[Symbol.iterator]();!(_n=(a=o.next()).done)&&(n.push(a.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==o.return||o.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return p(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}n.r(e),n.d(e,{MappOptions:()=>y});var s=window.mapp||{},l=wp.element.createElement,c=wp.element,u=(c.Fragment,c.useEffect,c.useLayoutEffect,c.useRef,c.useState),m=wp.components,d=m.BaseControl,h=m.Button,f=m.ButtonGroup,g=(m.Dashicon,m.Dropdown,m.ExternalLink,m.Panel,m.PanelBody,m.PanelRow),b=(m.RadioControl,m.SelectControl,m.TextControl),__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function y(t){var e=r(u({apiKey:mappl10n.options.apiKey,engine:mappl10n.options.engine}),2),n=e[0],i=e[1];function o(t){i((function(e){return a(a({},e),t)}))}function p(t,e){switch(t){case"apikey":o({apiKey:e});break;case"engine":o({engine:e});break;case"save":s.lib.ajax({type:"POST",data:{action:"mapp_options_save",apiKey:n.apiKey,engine:n.engine,nonce:mappl10n.options.nonce},callback:function(t){wp.data.dispatch("core/notices").createNotice("success",__("Options saved."),{type:"snackbar",isDismissible:!0,actions:[{url:window.location,label:"Refresh page"}]})}})}}return l("div",{className:"mapp-options"},null,l(g,null,l(d,{label:__("Mapping Engine")}),l(d,null,l(f,null,l(h,{onClick:function(){return p("engine","leaflet")},isPressed:"google"!=n.engine,isSmall:!0},__("Leaflet")),l(h,{onClick:function(){return p("engine","google")},isPressed:"google"==n.engine,isSmall:!0},__("Google"))))),"google"!=n.engine?null:l(b,{className:"mapp-settings-apikey",label:l("a",{href:"https://mappresspro.com/mappress-faq/#toc-google-maps-api-keys"},__("Google API key")),onChange:function(t){return p("apikey",t)},value:n.apiKey}),l(h,{onClick:function(){return p("save")},isPrimary:!0},__("Save options")))}},926:(t,e,n)=>{"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var a,o=t[Symbol.iterator]();!(_n=(a=o.next()).done)&&(n.push(a.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==o.return||o.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return p(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}n.r(e),n.d(e,{default:()=>U});var s=wp.element.createElement,l=wp.url.addQueryArgs,c=wp.element,u=c.useCallback,m=c.useEffect,d=c.useState,h=wp.components,f=h.Button,g=h.Dropdown,b=h.Spinner,y=h.TextControl,__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function v(t){var e=r(d({results:[],search:"",searchTerm:""}),2),n=e[0],i=e[1];function o(t){i((function(e){return a(a({},e),t)}))}m((function(){wp.apiFetch({path:l("/wp/v2/search",{search:n.search,per_page:20})}).then((function(t){o({results:t})}))}),[n.search]);var p=u(_.debounce((function(t){o({search:t})}),1e3),[]);function c(e,i){return s("div",{className:"mapp-attach-control"},s("div",{className:"mapp-attach-control-toolbar"},s(y,{autoComplete:"false",value:n.searchTerm,onChange:function(t){o({searchTerm:t}),p(t)},placeholder:__("Search")})),n.results?n.results.length?s("div",{className:"mapp-attach-items"},n.results.map((function(e){return s("div",{key:e.id,className:"mapp-attach-item",onClick:function(){t.onChange(e.id,e.title)}},s("div",{className:"mapp-attach-item-title"},e.title?e.title:__("Untitled")),s("div",{className:"mapp-attach-item-type"},e.type))}))):s("div",{},__("No posts found")):s(b,null))}return s("div",{onClick:function(t){return t.stopPropagation()}},s(g,{renderToggle:function(e){e.isOpen;var n=e.onToggle;return s(f,{icon:t.icon?t.icon:"admin-links",onClick:n,title:t.title})},renderContent:function(t){t.isOpen,t.onToggle;return c()}}))}function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function O(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?w(Object(n),!0).forEach((function(e){k(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function k(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function C(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var a,o=t[Symbol.iterator]();!(_n=(a=o.next()).done)&&(n.push(a.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==o.return||o.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return j(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return j(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var S=window.mapp||{},P=wp.element.createElement,E=wp.data.select,M=wp.element,x=M.Fragment,A=M.useEffect,I=(M.useLayoutEffect,M.useRef),T=M.useState,D=wp.components,N=(D.BaseControl,D.Button),L=(D.Dashicon,D.Modal),z=(D.PanelBody,D.RadioControl),B=D.Spinner,F=D.TextControl,R=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function U(t){var e=C(T({isFetchingItems:!0,items:null,search:"",type:"library"==t.context?"all":"post"}),2),n=e[0],i=e[1],a=I(null),o=I(null);function r(t){i((function(e){return O(O({},e),t)}))}function p(t){if("post"==n.type&&t.postid!=mappl10n.options.postid)return!1;var e=n.search.toLowerCase();return!e||(t.mapid.indexOf(e)>=0||(!!(t.post_title&&t.post_title.toLowerCase().indexOf(e)>=0)||!!(t.map_title&&t.map_title.toLowerCase().indexOf(e)>=0)))}function s(e,n){switch(e){case"attach":S.store.mutateMap({mapdata:n});break;case"close":t.onAction("list-close");break;case"duplicate":S.store.duplicateMap({mapid:n,success:function(e){wp.data.dispatch("core/notices").createNotice("success",R("Map copied"),{type:"snackbar",isDismissible:!0}),t.onAction("list-select",e.mapid)}});break;case"destroy":confirm(mappl10n.delete_map_prompt)&&(S.store.destroyMap({mapid:n}),n==t.mapid&&t.onAction("list-destroy",n)),a.current.focus();break;case"select":t.onAction("list-select",n);break;case"shortcode":var i=jQuery("<input>");jQuery("body").append(i),i.val('[mappress mapid="'+n+'"]').select(),document.execCommand("copy"),i.remove(),alert(R("Shortcode copied"))}}function l(){var e="library"==t.context?null:P(z,{className:"mapp-pick-type",options:[{label:R("Attached to this post"),value:"post"},{label:R("All maps"),value:"all"}],onChange:function(t){return r({type:t})},selected:n.type}),i=n.isFetchingItems||n.isAttaching&&"library"!=t.context;return P("div",{className:"mapp-pick-filter"},i&&P(B,null),P(F,{ref:a,className:"mapp-pick-search",tabIndex:1,label:R("Search"),placeholder:R("post title, map title, or map id"),onChange:function(t){return r({search:t})}}),e)}function c(){var t=_.filter(n.items,p);return n.isFetchingItems?null:t.length?P("div",{className:"mapp-pick-items"},P("div",{className:"mapp-pick-header"},P("div",{className:"mapp-pick-col-map-title"},R("Map title")),P("div",{className:"mapp-pick-col-mapid"},R("Map ID")),P("div",{className:"mapp-pick-col-post-title"},R("Attached to")),P("div",{className:"mapp-pick-col-actions"},R("Action"))),_.map(t,u)):P("div",{className:"mapp-pick-items"},P("div",{className:"mapp-pick-message"},R("No maps found")))}function u(e){var n,i,a,r=e.mapid==t.mapid;i=e.postid==mappl10n.options.postid?E("core/editor").getEditedPostAttribute("title"):e.post_title,n=e.map_title?e.map_title:R("Untitled"),i=i||R("Untitled"),e.postid>0&&e.postid==mappl10n.options.postid&&(i=R("Current post")),a=e.postid>0?e.postid==mappl10n.options.postid?i:P("a",{onClick:function(t){return t.stopPropagation()},href:mappl10n.options.editurl+"?post="+e.postid+"&action=edit",target:"_blank",title:R("Edit post")},i):R("Unattached");var p=null;if(e.postid>0){var l=R("Detach map from post");p=P(N,{onClick:function(){return s("attach",{mapid:e.mapid,postid:0})},title:l,icon:"editor-unlink"})}else{var c=R("Attach map to a post");p="library"==t.context?P(v,{onChange:function(t,n){return s("attach",{mapid:e.mapid,postid:t,post_title:n})},title:c}):P(N,{onClick:function(){return s("attach",{mapid:e.mapid,postid:mappl10n.options.postid,post_title:null})},title:c,icon:"admin-links"})}var u=P("div",{className:"mapp-pick-col-actions",onClick:function(t){return t.stopPropagation()}},p,P(N,{onClick:function(t){t.stopPropagation(),s("duplicate",e.mapid)},title:R("Copy"),icon:"admin-page"}),"library"==t.context&&P(N,{onClick:function(t){t.stopPropagation(),s("shortcode",e.mapid)},title:R("Shortcode"),icon:"shortcode"}),P(N,{onClick:function(t){t.stopPropagation(),s("destroy",e.mapid)},title:R("Delete map"),icon:"trash"}));"library"==t.context&&e.mapid;return P("div",{className:"mapp-pick-item"+(r?" mapp-selected":""),ref:r?o:null,key:e.mapid+"|"+e.postid,onClick:function(t){return s("select",e.mapid)}},P("div",{className:"mapp-pick-col-map-title"},n),P("div",{className:"mapp-pick-col-mapid"},e.mapid),P("div",{className:"mapp-pick-col-post-title"},a),u)}return A((function(){var t=function(t){r({isFetchingItems:t.isFetchingItems,items:t.items})};return S.store.subscribe(t),function(){return S.store.unsubscribe(t)}})),A((function(){a.current&&a.current.focus(),S.store.fetchItems({})}),[]),A((function(){o.current&&S.lib.scrollTo(jQuery(".mapp-pick-items"),jQuery(o.current))}),[n.type]),"library"==t.context?P(x,null,l(),c()):P(L,{className:"mapp-pick-modal",title:R("Select a map"),onRequestClose:function(){return s("close")}},l(),c())}},429:(t,e,n)=>{"use strict";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var a,o=t[Symbol.iterator]();!(_n=(a=o.next()).done)&&(n.push(a.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==o.return||o.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}n.r(e),n.d(e,{MappSettings:()=>g});window.mapp;var o=wp.element.createElement,r=wp.element,p=r.Fragment,s=(r.useEffect,r.useLayoutEffect,r.useRef,r.useState),l=wp.components,c=l.BaseControl,u=l.Button,m=l.ButtonGroup,d=(l.Dashicon,l.Dropdown,l.ExternalLink,l.Panel,l.PanelBody,l.PanelRow),h=(l.RadioControl,l.SelectControl),f=l.TextControl,__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function g(t){var e,n=i(s({}),2);n[0],n[1];function a(t){if(!t||"string"!=typeof t)return t;var e={px:2048,vw:100,vh:100,"%":100},n=parseInt(t),i=2048,a="";for(var o in e)t.includes(o)&&(a=o,i=e[o]);return n>i?i+a:t}function r(e,n){var i=null;switch(e){case"mapTypeId":t.map.set({mapTypeId:n}),i={mapTypeId:n};break;case"poiList":t.map.set({poiList:n}),i={poiList:n};break;case"size":n.hasOwnProperty("height")&&(n.height=a(n.height)),n.hasOwnProperty("width")&&(n.width=a(n.width)),t.map.setSize(n),i=n;break;case"viewport-reset":t.map.center=t.map.zoom=null,t.map.recenter(),i={center:void 0,zoom:void 0};break;case"viewport-save":var o=t.map.getCenter().toJSON();i={center:o.lat+","+o.lng,zoom:t.map.getZoom()},wp.data.dispatch("core/notices").createNotice("success",__("Viewport saved"),{type:"snackbar",isDismissible:!0})}i&&t.onAction("change-settings",i)}return o("div",{className:"mapp-settings"},null,"mashup"!=t.context&&(e=t.map.title?t.map.title:__("Untitled"),o(d,null,o(c,{className:"mapp-settings-title"},e),o(c,{className:"mapp-settings-id",label:__("Map ID")},t.map.mapid))),"mashup"==t.context&&function(){var e=[];if("leaflet"==mappl10n.options.engine)e=mappl10n.options.baseLayers.map((function(t){return{label:t.label,value:t.name}}));else{var n=mappl10n.options.styles?_.keys(mappl10n.options.styles):[];e=["roadmap","satellite","terrain","hybrid"].concat(n).map((function(t){return{label:t.charAt(0).toUpperCase()+t.slice(1),value:t}}))}return e.unshift({label:__("Default"),value:null}),o(h,{className:"mapp-settings-type",help:"",label:__("Map type"),value:t.map.mapTypeId,options:e,onChange:function(t){return r("mapTypeId",t)}})}(),function(){var e=mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0],n=mappl10n.options.sizes.map((function(t,e){return{label:t.width+"x"+t.height,height:t.height,width:t.width,value:e+1}}));n.unshift({height:"",label:__("Default"),value:0,width:""}),n.push({label:__("Custom"),value:"custom",disabled:!0});for(var i="custom",a=0;a<n.length-1;a++)n[a].width==t.width&&n[a].height==t.height&&(i=a);return o(p,null,o(h,{className:"mapp-settings-dims-select",help:"",label:__("Size"),value:i,options:n,onChange:function(t){return r("size",{width:n[t].width,height:n[t].height})}}),o(d,null,o(f,{className:"mapp-settings-dims-custom",help:__("px, %, vw"),label:__("Width"),onChange:function(t){return r("size",{width:t})},placeholder:e.width,value:t.width}),o(f,{className:"mapp-settings-dims-custom",help:__("px, %, vh"),label:__("Height"),onChange:function(t){return r("size",{height:t})},placeholder:e.height,value:t.height})))}(),(t.center&&(t.center.lat,t.center.lng,__("Zoom"),t.zoom),o(d,null,o(c,{label:__("Center/Zoom")}),o(c,null,o(m,null,o(u,{onClick:function(){return r("viewport-reset")},isPressed:!t.center,isSmall:!0},__("Automatic")),o(u,{onClick:function(){return r("viewport-save")},isPressed:t.center,isSmall:!0},__("Save")))))))}},787:()=>{function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function e(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function n(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||i(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){if(t){if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var o=window.mapp||{};o.Store=function(){this.subs=new Set,this.state={isFetchingMap:!1,isFetchingItems:!1,isSavingMap:!1,itemsFetched:!1,maps:{},items:[]}},o.Store.prototype={createMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.success,n=void 0===e?function(){}:e;this.state.isFetchingMap=!1,this.publish(),n()},destroyMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.mapid,n=t.success,i=void 0===n?function(){}:n,a=t.failure,r=void 0===a?function(){}:a,p=this;o.lib.ajax({type:"POST",data:{action:"mapp_delete",mapid:e,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(delete p.state.maps[e],p.destroyItem(e),i(e)):r(),p.publish()}})},duplicateMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.mapid,n=t.success,i=void 0===n?function(){}:n,a=t.failure,r=void 0===a?function(){}:a,p=this;this.state.isSavingMap=!0,this.publish(),o.lib.ajax({type:"POST",data:{action:"mapp_duplicate",mapid:e,postid:mappl10n.options.postid,nonce:mappl10n.options.nonce},callback:function(t){if(t&&"OK"==t.status){var e=t.data,n=e.mapid;p.state.maps[n]=e,p.saveItem(e),i(e)}else r();p.state.isSavingMap=!1,p.publish()}})},fetchMap:function(t){var e=t.mapid,n=t.success,i=void 0===n?function(){}:n,a=t.failure,r=void 0===a?function(){}:a,p=this;if(void 0!==this.state.maps[e])return p.publish(),void i(this.state.maps[e]);this.state.isFetchingMap=!0,p.publish(),o.lib.ajax({type:"GET",data:{action:"mapp_get",mapid:e,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(p.state.maps[e]=t.data,i(t.data)):r(),p.state.isFetchingMap=!1,p.publish()}})},mutateMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.mapdata,n=t.success,i=void 0===n?function(){}:n,a=t.failure,r=void 0===a?function(){}:a,p=this;this.state.isSavingMap=!0,this.saveItem(e),this.publish(),o.lib.ajax({type:"POST",data:{action:"mapp_mutate",mapdata:e,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(p.state.maps[t.data.mapid]=t.data,i(e)):r(),p.state.isSavingMap=!1,p.publish()}})},saveMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.mapdata,n=t.success,i=void 0===n?function(){}:n,a=t.failure,r=void 0===a?function(){}:a,p=this;this.state.isSavingMap=!0,this.publish(),o.lib.ajax({type:"POST",data:{action:"mapp_save",mapdata:JSON.stringify(e),nonce:mappl10n.options.nonce},callback:function(t){if(t&&"OK"==t.status){var e=t.data,n=e.mapid;p.state.maps[n]=e,p.saveItem(e),i(e)}else r();p.state.isSavingMap=!1,p.publish()}})},destroyItem:function(t){var e=this.state.items?this.state.items:[],i=_.findIndex(e,{mapid:t});i>-1&&e.splice(i,1),this.state.items=n(e),this.publish()},fetchItems:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.success,n=void 0===e?function(){}:e,i=t.failure,a=void 0===i?function(){}:i,r=this;if(this.state.itemsFetched)return n(this.state.items),void r.publish();this.state.isFetchingItems=!0,r.publish(),o.lib.ajax({type:"GET",data:{action:"mapp_find",nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(r.state.items=t.data,r.sortItems(),n(r.state.items),r.state.itemsFetched=!0):a(),r.state.isFetchingItems=!1,r.sortItems(),r.publish()}})},saveItem:function(n){var i=this.state.items?this.state.items:[],a=_.findWhere(i,{mapid:n.mapid});a?(a.mapid=void 0!==n.mapid?n.mapid:a.mapid,a.map_title=void 0!==n.title?n.title:a.map_title,a.postid=void 0!==n.postid?n.postid:a.postid,a.post_title=void 0!==n.post_title?n.post_title:a.post_title,a=function(n){for(var i=1;i<arguments.length;i++){var a=null!=arguments[i]?arguments[i]:{};i%2?t(Object(a),!0).forEach((function(t){e(n,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(a)):t(Object(a)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(a,t))}))}return n}({},a)):(a={mapid:n.mapid,map_title:n.title,postid:mappl10n.options.postid,post_title:null},i.unshift(a))},sortItems:function(){var t,e=(t="Untitled",wp.i18n.__(t,"mappress-google-maps-for-wordpress"));this.state.items=_.sortBy(this.state.items,(function(t){return parseInt(t.mapid)})),this.state.items=_.sortBy(this.state.items,(function(t){return t.map_title?t.map_title:e}))},subscribe:function(t){this.subs.add(t)},unsubscribe:function(t){this.subs.delete(t)},publish:function(){var t,e=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=i(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,o=function(){};return{s:o,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(_e){throw _e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,p=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return p=t.done,t},e:function(t){s=!0,r=t},f:function(){try{p||null==n.return||n.return()}finally{if(s)throw r}}}}(n(this.subs));try{for(e.s();!(t=e.n()).done;){(0,t.value)(this.state)}}catch(t){e.e(t)}finally{e.f()}}},o.store=new o.Store},50:()=>{var t,e=window.mapp||{};t=jQuery,e.Media=function(){this.editor=null,this.map=null,this.sel=null,this.selected=null,this.items=null,this.popup=null;var n=this;this.initialize=function(){t(".mapp-media-button").length<=0||(jQuery(document).ready((function(){_.each(mappl10n.options.pointers,(function(e,n){t(".mapp-media-button").pointer({content:e,close:function(){t.post(ajaxurl,{action:"mapp_dismiss",key:n})}}).pointer("open")}))})),this.popup=new e.widgets.Popup("",{modal:!0,closeButton:!0,closeOnEsc:!1,max:!0}),this.popup.setContent(e.lib.template("mce")),this.sel=this.popup.el,t(".mapp-media-button").on("click",(function(){n.popup.open()})),this.find(),this.sel.on("change",'input[name="mapp-mce-list-type"]',(function(){t(this).val(),t(".mapp-mce-search").val(""),n.find()})),this.sel.on("keydown",".mapp-mce-search",(function(t){if(13==t.which)return!1})),this.sel.on("input",".mapp-mce-search",(function(t){n.find()})),this.sel.on("click","[data-mapp-mce]",(function(e){e.preventDefault();var i=t(this).attr("data-mapp-mce");n[i]()})),this.sel.on("click",".mapp-mce-item",(function(){t(".mapp-mce-list .mapp-mce-item",this.sel).removeClass("mapp-selected"),t(this).addClass("mapp-selected"),n.selected=t(this).attr("data-mapp-mapid")})),this.sel.on("click",".mapp-mce-list [data-mapp-mce-list]",(function(e){e.preventDefault();var i=t(this).attr("data-mapp-mce-list"),a=t(this).closest(".mapp-mce-item").attr("data-mapp-mapid");return n[i](a),!1})),this.sel.on("click",".mapp-mce-list a",(function(t){t.stopPropagation()})),this.sel.on("change",".mapp-mce-viewport",(function(){t(this).is(":checked")||(n.map.center=n.map.zoom=null,n.map.recenter())})),this.sel.on("click",".mapp-mce-size",(function(e){var n=t(this).data("width"),i=t(this).data("height");t(".mapp-mce-width").val(n),t(".mapp-mce-height").val(i),e.preventDefault()})),this.sel.on("keydown",".mapp-mce-title",(function(t){13==t.which&&(t.preventDefault(),n.save())})))},this.add=function(){this.open(null)},this.cancel=function(){this.closeEditor()},this.close=function(){this.popup.close()},this.closeEditor=function(){this.map.poiClose(),this.map=null,this.editor=null,t(".mapp-mce-edit-panel").removeClass("mapp-open"),t(".mapp-mce-list-panel").addClass("mapp-open")},this.edit=function(t){e.Map.ajaxGet(t,(function(t){n.open(t)}))},this.find=function(){var n=this;null!==this.items?this.renderList():(t(".spinner",this.sel).show(),e.lib.ajax({type:"GET",data:{action:"mapp_find",nonce:mappl10n.options.nonce},callback:function(e){e&&"OK"==e.status&&(t(".spinner",n.sel).hide(),n.items=_.sortBy(e.data,"post_title"),n.renderList())}}))},this.insert=function(t){var e='[mappress mapid="'+(t=t||this.map.mapid)+'"]';"undefined"==typeof wpActiveEditor?alert(mappl10n.need_classic):send_to_editor(e),this.popup.close()},this.open=function(n){this.map=new e.Map(n,{editable:!0,embed:!0,height:n&&n.height?n.height:mappl10n.options.sizes[mappl10n.options.size].height,layout:"left",mapOpts:{mapTypeControl:!0,streetViewControl:!1},poiList:!0,sel:t(".mapp-edit"),width:n&&n.width?n.width:mappl10n.options.sizes[mappl10n.options.size].width});var i=this.map.mapid;i?t(".mapp-mce-mapid").text(i):t(".mapp-mce-mapid").text(""),t(".mapp-mce-title").val(this.map.title),t(".mapp-mce-width").val(this.map.width),t(".mapp-mce-height").val(this.map.height),t(".mapp-mce-viewport").prop("checked",!(!this.map.center||!this.map.zoom)),t(".mapp-mce-edit-panel").addClass("mapp-open"),t(".mapp-mce-list-panel").removeClass("mapp-open"),this.editor=new e.Editor(this.map)},this.remove=function(t){if(confirm(mappl10n.delete_map_prompt)){this.selected=null;var n=_.findIndex(this.items,{mapid:t});n>-1&&(this.items.splice(n,1),e.Map.ajaxDelete(t),this.renderList())}},this.renderList=function(){var n=null,i=t('input[name="mapp-mce-list-type"]:checked',this.sel).val(),a=t(".mapp-mce-search",this.sel).val().toLowerCase();n="all"==i?_.filter(this.items,(function(t){return t.post_title&&-1!=t.post_title.toLowerCase().indexOf(a)||t.map_title&&-1!=t.map_title.toLowerCase().indexOf(a)})):_.filter(this.items,(function(t){return t.postid==mappl10n.options.postid})),t(".mapp-mce-list",this.sel).html(e.lib.template("mce-list",{items:n,selected:this.selected,type:i}))},this.save=function(){var e=this;this.map&&(this.map.title=t(".mapp-mce-title").val().trim(),this.map.width=t(".mapp-mce-width").val(),this.map.height=t(".mapp-mce-height").val(),t(".mapp-mce-viewport").prop("checked")?(this.map.center=this.map.getMap().getCenter().toJSON(),this.map.zoom=this.map.getMap().getZoom()):(this.map.center=null,this.map.zoom=null),this.map.ajaxSave((function(){var n=e.map.mapid?e.map.mapid.toString():null,i=_.findIndex(e.items,(function(t){return t.mapid==n}));-1==i?e.items.unshift({mapid:n,map_title:e.map.title,postid:mappl10n.options.postid,post_title:t("#title").val()||t("#post-title-0").val()}):e.items[i].map_title=e.map.title,e.renderList(),e.closeEditor()})))},this.initialize.apply(this)},e.media=new e.Media},305:()=>{var t;(t=jQuery)(document).ready((function(){t('input[name="mappress_options[engine]"]').on("change",(function(){t('input[name="save"]').click()})),t('input[name="mappress_options[geocoder]"]').on("change",(function(){t('input[name="save"]').click()})),t("[data-mapp-grid]").each((function(t,e){new mapp.widgets.Grid(e)})),t(document).on("focus",".mapp-expand",(function(){t(this).parent().width("100%"),t(this).attr("rows",20)})),t(document).on("blur",".mapp-expand",(function(){t(this).parent().width("auto"),t(this).attr("rows",1)})),t(".mapp-autoicons").on("change","#mapp-autoicons-key",(function(e){mapp.lib.ajax({data:{action:"mapp_autoicons_form",key:t(this).val()},callback:function(e){e&&e.status&&(t(".mapp-autoicons").html(e.data),new mapp.widgets.Grid(t("[data-mapp-grid]",".mapp-autoicons")))}})})),t("#mapp-filters tbody").sortable({handle:".mapp-handle"}),t(".mapp-confirm").on("change",(function(){var e=t(".mapp-confirm").is(":checked");t(".mapp-import").prop("disabled",!e)}))}))},278:()=>{var t,e=window.mapp||{};e.widgets={},t=jQuery,e.widgets.ColorPicker=function(){var n=this;this.popup=null,this.toggle=null,this.popup=new e.widgets.Popup("",{toggle:"[data-mapp-colorpicker]"}),n.popup.setContent(e.lib.template("color-picker")),t(document).on("refresh","[data-mapp-colorpicker]",(function(e){var n=t(this),i=n.attr("data-mapp-color")?n.attr("data-mapp-color"):"#000000";n.css({"background-color":i,opacity:n.attr("data-mapp-opacity")/100,"border: ":"1px solid "+i})})),this.popup.el.on("click","[data-mapp-color]",(function(e){n.toggle.attr("data-mapp-color",t(this).attr("data-mapp-color")),n.toggle.trigger("refresh"),n.toggle.trigger("change")})),this.popup.el.on("change",".mapp-opacity, .mapp-weight",(function(e){t(this).hasClass("mapp-opacity")?n.toggle.attr("data-mapp-opacity",t(this).val()):n.toggle.attr("data-mapp-weight",t(this).val()),n.toggle.trigger("change"),n.toggle.trigger("refresh")})),this.popup.el.on("open.mapp.popup",(function(){n.toggle=n.popup.activeToggle,t('[data-mapp-color="'+n.toggle.attr("data-mapp-color")+'"]',n.popup.el).addClass("mapp-selected"),t(".mapp-opacity",n.popup.el).val(n.toggle.attr("data-mapp-opacity")),t(".mapp-weight",n.popup.el).val(n.toggle.attr("data-mapp-weight"))}))},t((function(){new e.widgets.ColorPicker})),function(t){e.widgets.Grid=function(e,n){this.el=t(e),this.options=jQuery.extend({action:null,sortable:!1},n);var i=this;this.table=t("table",this.el),this.template=t("script",this.el).html().replace(new RegExp("'","g"),'"'),this.el.on("click",(function(e){var n=t(e.target).attr("data-mapp-action");n&&(i[n](e),e.preventDefault())}))},e.widgets.Grid.prototype={add:function(){this.table.show();var e=t(this.template).appendTo(this.table);t(":input:eq(0)",e).focus()},remove:function(e){t(e.target).closest("tr").remove();t("tbody > tr",this.table).length||this.table.hide()}}}(jQuery),function(t){e.widgets.IconEditor=function(n,i){this.popup=null;var a=this;this.popup=new e.widgets.Popup("",{modal:!0,closeButton:!0}),this.render(i),t(".mapp-icon-editor-open").on("click",(function(t){return a.popup.open(),!1})),this.popup.el.on("click","[data-mapp-action]",(function(e){var n=t(this).attr("data-mapp-action"),i=t(this).closest("[data-mapp-iconid]"),o=i?i.attr("data-mapp-iconid"):null;switch(e.preventDefault(),e.stopPropagation(),n){case"add":a.add();break;case"delete":a.destroy(o)}}))},e.widgets.IconEditor.prototype={add:function(){for(var n=t(".mapp-icon-files").prop("files"),i=new FormData,a=this,o=0;o<n.length;o++){var r=n[o];if(!r.type.match("image.*"))return void alert("File "+r.name+" is not an image.");i.append("icons[]",r)}i.append("action","mapp_icon_save"),i.append("nonce",mappl10n.options.nonce),e.lib.ajax({type:"POST",contentType:!1,processData:!1,data:i,success:function(t){t&&"OK"==t.status?(mappl10n.options.userIcons=t.data,a.render()):alert("Upload error: "+t.status)}})},destroy:function(t){var n=this;t&&confirm(mappl10n.delete_prompt)&&e.lib.ajax({type:"POST",data:{action:"mapp_icon_delete",iconid:t,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(mappl10n.options.userIcons=t.data,n.render()):alert("Upload error: "+t.status)}})},render:function(){this.popup.setContent(e.lib.template("icon-editor"))}}}(jQuery),function(t){e.widgets.IconPicker=function(){var n=this;this.popup=new e.widgets.Popup("",{toggle:"[data-mapp-iconpicker]"}),this.toggle=null,t(document).on("refresh","[data-mapp-iconpicker]",(function(n){t(this).attr("src",e.Icons.getUrl(t(this).attr("data-mapp-iconid")))})),this.popup.el.on("open.mapp.popup",(function(){n.toggle=n.popup.activeToggle,n.popup.setContent(e.lib.template("icon-picker")),t("[data-mapp-iconid]",n.popup.el).removeClass("mapp-selected"),t('[data-mapp-iconid="'+n.toggle.attr("data-mapp-iconid")+'"]',n.popup.el).addClass("mapp-selected")})),this.popup.el.on("click","[data-mapp-iconid]",(function(e){var i=t(this).attr("data-mapp-iconid");n.toggle.attr("data-mapp-iconid",i),n.toggle.next('input[type="hidden"]').val(i),n.popup.close(),n.toggle.next('input[name="mappress_options[defaultIcon]"]').length?(mappl10n.options.defaultIcon=t(this).attr("data-mapp-iconid"),t("[data-mapp-iconpicker]").trigger("refresh")):n.toggle.trigger("refresh"),n.toggle.trigger("change")}))},t((function(){new e.widgets.IconPicker,t("[data-mapp-iconpicker]").trigger("refresh")}))}(jQuery),function(t){e.widgets.Popup=function(e,n){this.activeToggle=null,this.backdrop=null,this.content=t(e),this.el=null;var i=this;return this.options=t.extend({closeButton:!1,closeOnEsc:!0,max:!1,modal:!1,onRequestClose:null,position:null,toggle:null},n),this.el=t('<div class="mapp-popup">'),this.setContent(e),this.el.attr("tabindex",0),this.options.max&&this.el.addClass("mapp-popup-max"),this.el.hide(),this.options.toggle&&t(document).on("click",this.options.toggle,(function(e){i.activeToggle=t(this),i.open(),e.stopPropagation()})),this.options.modal?(this.el.addClass("mapp-popup-modal"),this.backdrop=t('<div class="mapp-popup-backdrop"></div>'),t("body").append(this.backdrop),this.options.closeOnEsc&&t(this.backdrop).on("click",(function(){i.requestClose()}))):t(document).on("click",(function(t){i.el.has(t.target).length||i.el.get(0)==t.target||i.requestClose()})),this.el.on("click",".mapp-close",(function(){i.requestClose()})),this.el.on("keydown",(function(t){27==t.which&&i.options.closeOnEsc&&i.requestClose()})),this},e.widgets.Popup.prototype={close:function(){this.el&&this.el.is(":visible")&&(this.el.hide(),this.options.modal&&(this.backdrop.hide(),t("body").removeClass("mapp-popup-noscroll")),this.activeToggle&&this.activeToggle.focus(),this.el.trigger("closed.mapp.popup"))},open:function(){this.el.parent().length||this.el.appendTo("body"),this.el.show(),this.el.trigger("open.mapp.popup"),this.options.modal?(this.backdrop.show(),t("body").addClass("mapp-popup-noscroll")):this.el.position(t.extend({my:"center top",at:"center bottom + 5",of:this.activeToggle,collision:"flipfit"},this.options.position)),this.el.focus()},requestClose:function(){this.options.onRequestClose?this.options.onRequestClose():this.close()},setContent:function(t){this.el.empty(),this.options.closeButton&&this.el.append('<span class="mapp-close">'),this.el.append(t)},toggle:function(){this.el.is(":visible")?this.close():this.open()}}}(jQuery),function(t){e.widgets.TemplateEditor=function(n,i){this.sel=t(n),this.codeStandard=null,this.codeEditor=null,this.model=null,this.popup=null,this.tokens=i;var a=this;this.sel.html(e.lib.template("tp-master")),this.popup=new e.widgets.Popup("",{modal:!0}),this.sel.on("click","[data-mapp-action]",(function(){var e=t(this),n=e.attr("data-mapp-action"),i=e.attr("data-mapp-"+n);return a[n](i),!1})),this.popup.el.on("click","[data-mapp-action]",(function(){var e=t(this),n=e.attr("data-mapp-action"),i=e.attr("data-mapp-"+n);return a[n](i),!1})),this.popup.el.on("click",".mapp-tab-label",(function(){return t(".mapp-tab-label",this.sel).removeClass("mapp-active"),t(this).addClass("mapp-active"),t(".mapp-tab",a.popup.el).removeClass("mapp-active"),t(".mapp-tab:eq("+t(this).index()+")",a.popup.sel).addClass("mapp-active"),a.codeStandard.codemirror.refresh(),a.codeEditor.codemirror.refresh(),!1}))},e.widgets.TemplateEditor.prototype={cancel:function(){this.popup.close()},destroy:function(){confirm(mappl10n.delete_prompt)&&(e.lib.ajax({type:"POST",data:{action:"mapp_tpl_delete",name:this.model.name,nonce:mappl10n.options.nonce}}),this.popup.close())},edit:function(n){var i=this;n=t(".mapp-tp-select").val();e.lib.ajax({type:"GET",data:{action:"mapp_tpl_get",name:n,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status&&(i.model=t.data,i.renderDetail())}})},insert:function(t){var e=this.codeEditor.codemirror.getDoc(),n=e.getCursor();e.replaceRange("{{{poi."+t+"}}}",n)},renderDetail:function(){this.popup.open(),this.popup.el.html(e.lib.template("tp-detail",{model:this.model,tokens:this.tokens})),this.codeEditor=wp.codeEditor.initialize(t(".mapp-tp-content",this.popup.el)),this.codeStandard=wp.codeEditor.initialize(t(".mapp-tp-standard",this.popup.el)),this.codeStandard.codemirror.setOption("readOnly",!0),this.codeEditor.codemirror.setSize("auto","auto"),this.codeStandard.codemirror.setSize("auto","auto")},save:function(){var t=this;e.lib.ajax({type:"POST",data:{action:"mapp_tpl_save",content:this.codeEditor.codemirror.getValue(),name:this.model.name,nonce:mappl10n.options.nonce},callback:function(e){e&&"OK"==e.status&&t.popup.close()}})}}}(jQuery)},308:(t,e,n)=>{"use strict";t.exports=function(t,e){var i,a,o,r,p,s,l,c,u,m,d,h,f,g=String(t).replace(/^&/,"").replace(/&$/,"").split("&"),b=g.length,y=function(t){return decodeURIComponent(t.replace(/\+/g,"%20"))},v="undefined"!=typeof window?window:n.g;v.$locutus=v.$locutus||{};var w=v.$locutus;for(w.php=w.php||{},e||(e=v),i=0;i<b&&(u=y((c=g[i].split("="))[0]),m=c.length<2?"":y(c[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=[],d=0,a=0;a<u.length;a++)if("["!==u.charAt(a)||d){if("]"===u.charAt(a)&&d&&(h.length||h.push(u.slice(0,d-1)),h.push(u.substr(d,a-d)),d=0,"["!==u.charAt(a+1)))break}else d=a+1;for(h.length||(h=[u]),a=0;a<h[0].length&&(" "!==(l=h[0].charAt(a))&&"."!==l&&"["!==l||(h[0]=h[0].substr(0,a)+"_"+h[0].substr(a+1)),"["!==l);a++);for(s=e,a=0,f=h.length;a<f;a++){if(p=s,(""===(u=h[a].replace(/^['"]/,"").replace(/['"]$/,""))||" "===u)&&0!==a){for(r in o=-1,s)s.hasOwnProperty(r)&&+r>o&&r.match(/^\d+$/g)&&(o=+r);u=o+1}Object(s[u])!==s[u]&&(s[u]={}),s=s[u]}p[u]=m}}}}},e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={exports:{}};return t[i](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(999),n(938),n(816),n(186),n(218),n(926),n(429),n(787),n(215),n(50),n(305)})();
1
+ !function(){var t={215:function(t,e,n){"use strict";n.r(e);n(278);var i,o=window.mapp||{};i=jQuery,o.Editor=function(t){this.drawingManager=null,this.map=t,this.poiEditor=null;var e=this;this.initialize=function(){this.map.display(),this.poiEditor=new o.PoiEditor(this.map),this.initDrawingManager(),i(this.map.places).off("search.mapp"),i(this.map.places).on("search.mapp",(function(t,n){e.insert(n)}))},this.insert=function(t){if(t)if(this.drawingManager&&this.drawingManager.setDrawingMode(null),this.map.poiClose(),t.geometry){var e=t.formatted_address?t.formatted_address.replace(/, United States of America/i,"").replace(/, United States/i,"").replace(/, USA/i,""):null,n=t.name==e?"":e,i=new o.Poi({address:e,body:n,iconid:this.poiEditor.lastIcon,point:t.geometry.location,title:t.name,viewport:t.geometry.viewport?t.geometry.viewport:null});this.map.poiInsert(i),i.center()}else t.overlay?(this.map.poiHover(null),"marker"==t.type?(i=new o.Poi({body:"",iconid:null,overlay:null,point:t.overlay.getPosition().toJSON(),title:t.overlay.getPosition().toUrlValue(6),type:null}),t.overlay.setMap(null)):i=new o.Poi({body:"",iconid:null,overlay:t.overlay,title:mappl10n.shape,type:t.type}),this.map.poiInsert(i)):"string"==typeof t&&t.substring(0,4)},this.initDrawingManager=function(){},this.initialize.apply(this)},o.PoiEditor=function(t){this.map=t,this.poi=null,this.sel=null,this.lastIcon=null;var e=this;this.initialize=function(){this.sel=i(this.map.iw.getContent()),i(this.map).on("mapp.open",(function(t,n){e.render(n)})),i(this.map).on("mapp.close",(function(){e.mce(!1)})),this.sel.on("click","[data-mapp-poi]",(function(t){t.preventDefault();var n=i(this).attr("data-mapp-poi");e[n]()})),this.sel.on("click",".mapp-poi-visual, .mapp-poi-html",(function(t){var n=i(this).hasClass("mapp-poi-visual");e.mce(n)})),this.sel.on("keydown",(function(t){13==t.which&&"mapp-poi-body"!=t.target.id&&(t.preventDefault(),e.save())})),this.sel.on("change","[data-mapp-iconpicker]",(function(){e.poi.set({dirty:!0,iconid:i("[data-mapp-iconpicker]").attr("data-mapp-iconid")}),e.lastIcon=e.poi.iconid,e.map.renderList()})),this.sel.on("change","[data-mapp-colorpicker]",(function(){e.poi.setTemplateColors(i("[data-mapp-colorpicker]").attr("data-mapp-color"),i("[data-mapp-colorpicker]").attr("data-mapp-opacity"),i("[data-mapp-colorpicker]").attr("data-mapp-weight")),e.map.renderList()}))},this.cancel=function(){this.map.poiClose()},this.initMCE=function(){if("undefined"!=typeof tinyMCE&&void 0!==tinyMCE.init){var t="en";if(void 0!==window.tinyMCEPreInit&&void 0!==window.tinyMCEPreInit.mceInit&&void 0!==window.tinyMCEPreInit.mceInit.content){var e=window.tinyMCEPreInit.mceInit.content;t=void 0!==e.language?e.language:"en"}var n={mode:"none",height:"100%",convert_urls:!1,language:t,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(n),this.mce(!0)}},this.mce=function(t){var n=t?"mceAddEditor":"mceRemoveEditor";"undefined"!=typeof tinyMCE&&tinyMCE.execCommand(n,!1,"mapp-poi-body"),i(".mapp-poi-visual, .mapp-poi-html",e.sel).removeClass("mapp-active"),t?i(".mapp-poi-visual",e.sel).addClass("mapp-active"):i(".mapp-poi-html",e.sel).addClass("mapp-active")},this.remove=function(){confirm(mappl10n.delete_prompt)&&(this.map.poiClose(),this.map.poiRemove(this.poi))},this.render=function(t){this.poi=t,i("[data-mapp-iconpicker]").trigger("refresh"),i("[data-mapp-colorpicker]").trigger("refresh"),this.initMCE()},this.save=function(){"undefined"!=typeof tinyMCE&&tinyMCE.get("mapp-poi-body")&&tinyMCE.get("mapp-poi-body").save(),this.poi.set({dirty:!0,title:i(".mapp-poi-title").val(),body:i(".mapp-poi-body").val()}),this.map.renderList(),this.map.poiClose()},this.initialize.apply(this)}},999:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return v}});var i=n(429);function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var c=window.mapp||{},l=wp.element.createElement,u=wp.element,m=(u.Fragment,u.useEffect),d=(u.useLayoutEffect,u.useRef),f=u.useState,h=wp.components,g=h.Button,y=(h.Dropdown,h.Modal,h.Panel,h.PanelBody),b=(h.Popover,h.Spinner,h.TextControl),__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function v(t){var e,n,o=p(f({dragging:null,dragover:null,isFetchingMap:!!t.mapid,isPoiListOpen:!0,isSavingMap:!1,map:null}),2),a=o[0],s=o[1],u=d(null);function h(t){s((function(e){return r(r({},e),t)}))}function v(t){h({map:a.map})}function w(e,n){switch(e){case"change-settings":a.map.set(n),h({map:a.map});break;case"change-title":a.map.set({dirty:!0,title:n}),h({map:a.map});break;case"close":t.onAction("edit-close");break;case"destroy":confirm(mappl10n.delete_map_prompt)&&(c.store.destroyMap({mapid:t.mapid}),t.onAction("edit-destroy"));break;case"save":c.store.saveMap({mapdata:a.map.toJSON(),success:function(e){a.map.set({dirty:!1}),t.onAction("edit-save",e.mapid)}})}}return m((function(){!a.map||"mce"!=t.context&&"library"!=t.context||(jQuery(a.map.div.list).off("render",v),jQuery(a.map.div.list).on("render",(function(t){return v()})))}),[a.map]),m((function(){var e=function(e){h({mapdata:e.maps[t.mapid],isFetchingMap:e.isFetchingMap,isSavingMap:e.isSavingMap})};return c.store.subscribe(e),function(){return c.store.unsubscribe(e)}})),m((function(){t.mapid&&c.store.fetchMap({mapid:t.mapid})}),[t.mapid]),m((function(){if(!a.isFetchingMap){var e={editable:!0,embed:!0,layout:"left",mapOpts:{mapTypeControl:!0,streetViewControl:!1},menu:!1,name:"media-map",poiList:!1,sel:jQuery(u.current)};"map"!=t.context&&"mashup"!=t.context||(e.center=null,e.zoom=null);var n=new c.Map(a.mapdata,e);new c.Editor(n);h({map:n})}}),[a.mapdata]),m((function(){a.map&&setTimeout((function(){return a.map.resize()}),100)}),[a.isPoiListOpen]),l("div",{className:"mapp-edit"},(e=a.map&&!a.isFetchingMap&&a.map.title?a.map.title:"",n=a.map&&!a.isFetchingMap?__("Untitled"):"",l("div",{className:"mapp-gt-modal-header"},l(b,{className:"mapp-edit-title",placeholder:n,value:e,onChange:function(t){return w("change-title",t)}}))),l("div",{className:"mapp-edit-main"},l("div",{className:"mapp-list mapp-edit-list"+(a.isPoiListOpen?" mapp-list-open":"")},function(){if("mce"!=t.context&&"library"!=t.context)return null;if(!a.map)return null;var e=a.map,n=e.center,o=e.height,r=e.poiList,p=e.width,s=e.zoom;return l("div",{className:"mapp-gt-inspector"},l(y,{initialOpen:!1,title:__("Map settings")},l(i.MappSettings,{map:a.map,context:t.context,onAction:w,center:n,height:o,poiList:r,width:p,zoom:s})))}(),function(){if(a.map){var t=function(t,e){var n=a.dragging,i=n<i?e-1:e;a.map.pois_.splice(i,0,a.map.pois_.splice(n,1)[0]),h({map:a.map,dragover:null})};return l("div",{className:"mapp-items"},_.map(a.map.pois_,(function(e,n){return l("div",{className:a.dragover==n?"mapp-item mapp-edit-dragover":"mapp-item",draggable:!0,key:n,onClick:function(){return a.map.poiOpen(a.map.pois_[n])},onDragOver:function(t){return t.preventDefault()},onDragStart:function(t){return h({dragging:n})},onDragEnter:function(t){return h({dragover:n})},onDragEnd:function(t){return h({dragging:null,dragover:null})},onDrop:function(e){return t(e,n)}},l("img",{className:"mapp-icon",src:c.Icons.getUrl(e.iconid)}),l("div",{className:"mapp-title"},e.title))})))}}(),l("div",{className:"mapp-list-toggle",onClick:function(){return h({isPoiListOpen:!a.isPoiListOpen})}})),l("div",{className:"mapp-edit-map",key:t.mapid,ref:u,onKeyDown:function(t){return t.stopPropagation()},tabIndex:-1})),l("div",{className:"mapp-edit-toolbar",tabIndex:-1,onKeyDown:function(t){return t.stopPropagation()}},l(g,{isPrimary:!0,isBusy:a.isSavingMap,onClick:function(){return w("save")}},__("Save")),l(g,{disabled:a.isSavingMap,onClick:function(){return w("close")}},__("Cancel")),l(g,{disabled:!t.mapid||a.isSavingMap,isDestructive:!0,className:"mapp-edit-delete",onClick:function(){return w("destroy")}},__("Delete"))))}},800:function(t,e,n){"use strict";n.r(e);var i=n(557);function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}window.mapp;var c=wp.element.createElement,l=wp.element,u=(l.Fragment,l.useEffect,l.useLayoutEffect,l.useRef,l.useState),m=wp.components;m.Button,m.Dashicon,m.Modal;function d(t){var e=p(u({mapid:null}),2),n=e[0],o=e[1];return c(i.default,{context:"mce",mapid:n.mapid,onAction:function(e,n){switch(e){case"pick-close":i={mapid:null},o((function(t){return r(r({},t),i)})),t.onAction("pick-close",n);break;case"pick-insert":t.onAction("pick-insert",n)}var i}})}window.parent&&(window.mappIframeRender=function(t){wp.element.render(c(d,t),document.getElementById("mapp-iframe-react"))}),function(t){function e(){var e=this;this.contentWindow=null,this.iframe=null;t(".mapp-iframe-button").on("click",(function(t){t.preventDefault(),e.open()}))}e.prototype={load:function(e){var n=this;if(this.iframe)return this.iframe.show(),void e();this.iframe=t('<iframe class="mapp-iframe" allowtransparency="true"></iframe>').appendTo("body"),t("iframe").on("load",(function(){e()})),t.get(mappl10n.options.ajaxurl,{action:"mapp_iframe",nonce:mappl10n.options.nonce},(function(t){n.contentWindow=n.iframe.get(0).contentWindow,n.contentWindow.document.open("text/html","replace"),n.contentWindow.document.write(t),n.contentWindow.document.close()}))},open:function(){var t=this;this.load((function(){t.contentWindow&&t.contentWindow.mappIframeRender&&t.contentWindow.mappIframeRender({onAction:function(e,n){return t.onAction(e,n)}})}))},onAction:function(t,e){switch(t){case"pick-close":this.iframe.hide();break;case"pick-insert":var n='[mappress mapid="'+e+'"]';"undefined"==typeof wpActiveEditor?alert(mappl10n.need_classic):send_to_editor(n),this.iframe.hide()}}},t(".mapp-iframe-button").length&&new e(this)}(jQuery)},938:function(t,e,n){"use strict";n.r(e);var i=n(557);function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}window.mapp;var a=wp.element.createElement,p=wp.element,s=(p.Fragment,p.render,p.useEffect),c=(p.useLayoutEffect,p.useRef,p.useState),l=wp.components;l.Button,l.Modal;document.getElementById("mapp-library")&&(mappl10n.options.postid=0,wp.element.render(a((function(t){var e=o(c({mapid:null}),2),n=e[0];return e[1],s((function(){}),[]),a(i.default,{context:"library",mapid:n.mapid,onAction:function(t,e){switch(t){case"pick-shortcode":var n=jQuery("<input>");jQuery("body").append(n),n.val('[mappress mapid="'+e+'"]').select(),document.execCommand("copy"),n.remove(),alert((i="Shortcode copied",wp.i18n.__(i,"mappress-google-maps-for-wordpress")))}var i}})})),document.getElementById("mapp-library")))},816:function(t,e,n){"use strict";n.r(e);var i=n(429),o=n(557);function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){p(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function p(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var l=window.mapp||{},u=wp.element.createElement,m=wp.element,d=m.Fragment,f=m.useEffect,h=(m.useLayoutEffect,m.useRef),g=m.useState,__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function y(t){var e=wp.components,n=(e.BaseControl,e.Button),r=(e.ButtonGroup,e.CheckboxControl,e.Dropdown,e.Modal,e.Panel,e.PanelBody),p=(e.PanelRow,e.Placeholder),c=(e.RadioControl,e.SelectControl,e.TextControl,e.ToggleControl,e.Toolbar),m=e.ToolbarButton,y=(e.ToolbarGroup,wp.blockEditor),b=y.BlockControls,v=y.InspectorControls,w=s(g({isOpen:!1,map:null,mapdata:null,pickerMode:"list",pickerMapid:null}),2),O=w[0],k=w[1],j=h(null);function S(t){k((function(e){return a(a({},e),t)}))}function C(e,n){switch(e){case"add":S({isOpen:!0,pickerMapid:null,pickerMode:"edit"}),t.setAttributes({center:void 0,zoom:void 0});break;case"change-settings":t.setAttributes(n);break;case"edit":S({isOpen:!0,pickerMapid:t.attributes.mapid,pickerMode:"edit"});break;case"edit-close":S({isOpen:!1});break;case"pick-destroy":t.setAttributes({mapid:void 0,center:void 0,zoom:void 0,width:void 0,height:void 0}),S({isOpen:!1});break;case"pick-close":S({isOpen:!1});break;case"pick-insert":case"pick-duplicate":n!=t.attributes.mapid&&t.setAttributes({center:void 0,mapid:n,zoom:void 0}),S({isOpen:!1});break;case"open":S({isOpen:!0,pickerMapid:t.attributes.mapid,pickerMode:"list"})}}function P(){var e=void 0!==e?e:c;return u(b,null,u(e,null,t.attributes.mapid&&u(m,{icon:"edit",label:__("Edit map"),onClick:function(){return C("edit")}}),u(m,{icon:"portfolio",label:__("Map Library"),onClick:function(){return C("open")}})))}function A(){if(O.isOpen)return u(o.default,{mapid:O.pickerMapid,mode:O.pickerMode,onAction:C,type:"post"})}return f((function(){var e=function(e){var n=e.maps[t.attributes.mapid];n&&S({mapdata:n})};return l.store.subscribe(e),function(){return l.store.unsubscribe(e)}})),f((function(){t.attributes.mapid&&l.store.fetchMap({mapid:t.attributes.mapid,failure:function(){return S({mapdata:void 0})}})}),[t.attributes.mapid]),f((function(){var e;t.attributes.mapid&&j.current&&O.mapdata&&((e=new l.Map(O.mapdata,{center:t.attributes.center,height:t.attributes.height,mapOpts:{mapTypeControl:!1,streetViewControl:!1},poiList:t.attributes.poiList,sel:jQuery(j.current),width:t.attributes.width,zoom:t.attributes.zoom})).display(),S({map:e}))}),[O.mapdata]),t.attributes.preview?u("img",{className:"mapp-gt-preview",src:mappl10n.options.baseurl+"/images/preview.png",width:"100%"}):t.attributes.mapid&&void 0!==O.mapdata?u(d,null,P(),function(){if(!O.map)return null;var e=t.attributes,n=e.center,o=e.height,a=e.poiList,p=e.width,s=e.zoom;return u(v,null,u("div",{className:"mapp-gt-inspector"},u(r,{title:__("Map settings")},u(i.MappSettings,{map:O.map,context:"map",onAction:C,center:n,height:o,poiList:a,width:p,zoom:s}))))}(),u("div",{className:"mapp-gt",ref:j}),A()):u(d,null,u(d,null,P(),u(p,{className:"mapp-gt-placeholder",icon:"location",label:__("MapPress Map"),instructions:__("Use the map library to create a new map or insert an existing map.")},u(n,{icon:"portfolio",isSecondary:!0,onClick:function(){return C("open")}},__("Map Library")))),A())}wp.blocks.registerBlockType("mappress/map",{title:__("MapPress Map"),icon:"location",description:__("Insert a map"),category:"mappress",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},width:{type:"string",default:""},zoom:{type:"number"}},supports:{align:["left","center","right"]},transforms:{from:[{type:"shortcode",tag:"mappress",attributes:{center:{type:"string",shortcode:function(t){return t.named.center}},height:{type:"string",shortcode:function(t){return t.named.height}},initialOpenDirections:{type:"boolean",shortcode:function(t){return"true"==t.named.initialOpenDirections||"true"==t.named.initialopendirections}},mapid:{type:"string",shortcode:function(t){return t.named.mapid}},poiList:{type:"boolean",shortcode:function(t){return"true"==t.named.poiList||"true"==t.named.poilist}},width:{type:"string",shortcode:function(t){return t.named.width}},zoom:{type:"number",shortcode:function(t){return parseInt(t.named.zoom)?parseInt(t.named.zoom):null}}}},{type:"block",blocks:["core/shortcode"],isMatch:function(t){var e=t.text,n=wp.shortcode.regexp("mappress");return n.lastIndex=0,n.test(e)},transform:function(t){var e=t.text;return wp.blocks.rawHandler({HTML:"<p>"+e+"</p>",mode:"BLOCKS"})}}]},edit:function(t){return u(y,t)},save:function(t){return t},example:{attributes:{preview:!0}}})},186:function(t,e,n){"use strict";n.r(e);n(429);wp.element.createElement;var i=wp.element,o=(i.Fragment,i.useEffect,i.useLayoutEffect,i.useRef,i.useState,wp.components);o.BaseControl,o.Button,o.CheckboxControl,o.Panel,o.PanelBody,o.PanelRow,o.Spinner,o.TextControl;n(308);window.mapp,wp.element.createElement;var r=wp.element,a=(r.Fragment,r.useEffect,r.useLayoutEffect,r.useRef,r.useState,wp.components);a.BaseControl,a.Button,a.ButtonGroup,a.Card,a.CardBody,a.CardFooter,a.CardHeader,a.CheckboxControl,a.ExternalLink,a.HorizontalRule,a.Panel,a.PanelBody,a.PanelRow,a.Placeholder,a.RadioControl,a.SelectControl,a.TabPanel,a.TextControl,a.TextareaControl,a.ToggleControl,a.Toolbar,wp.data.useSelect},498:function(t,e,n){"use strict";n.r(e);var i=n(557);function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}window.mapp;var c=wp.element.createElement,l=wp.element,u=l.Fragment,m=(l.useEffect,l.useLayoutEffect,l.useRef,l.useState),d=wp.components,f=(d.Button,d.Dashicon),__=(d.Modal,function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")});function h(){var t=p(m({isOpen:!1,mapid:null}),2),e=t[0],n=t[1];function o(t){n((function(e){return r(r({},e),t)}))}function a(t,e){switch(t){case"pick-close":o({isOpen:!1,mapid:null});break;case"pick-insert":o({isOpen:!1});var n='[mappress mapid="'+e+'"]';"undefined"==typeof wpActiveEditor?__("Please select the post content to insert the map into."):send_to_editor(n);break;case"open":o({isOpen:!0,mapid:s()})}}function s(){var t=tinyMCE?tinyMCE.get("content"):null,e=t&&t.selection?t.selection.getSel():null;if(!e||void 0===e.anchorOffset||!e.anchorNode||!e.anchorNode.data)return null;for(var n=null,i=e.anchorNode.data,o=-1,r=e.anchorOffset-1;r>=0;r--){var a=i[r];if("["==a){o=r;break}if("]"==a||"<"==a||">"==a)break}return o>=0&&(n=wp.shortcode.next("mappress",i,o))?n.shortcode.attrs.named.mapid:null}return c(u,null,c("button",{className:"button",onClick:function(t){t.preventDefault(),a("open")}},c(f,{className:"wp-media-buttons-icon",icon:"location"}),__("MapPress")),e.isOpen&&c(i.default,{context:"mce",mapid:e.mapid,onAction:a}))}Array.from(document.getElementsByClassName("mapp-mce")).forEach((function(t,e){return wp.element.render(c(h),t)}))},218:function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return p(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}n.r(e),n.d(e,{MappOptions:function(){return b}});var s=window.mapp||{},c=wp.element.createElement,l=wp.element,u=(l.Fragment,l.useEffect,l.useLayoutEffect,l.useRef,l.useState),m=wp.components,d=m.BaseControl,f=m.Button,h=m.ButtonGroup,g=(m.Dashicon,m.Dropdown,m.ExternalLink,m.Panel,m.PanelBody,m.PanelRow),y=(m.RadioControl,m.SelectControl,m.TextControl),__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function b(t){var e=a(u({apiKey:mappl10n.options.apiKey,engine:mappl10n.options.engine}),2),n=e[0],i=e[1];function r(t){i((function(e){return o(o({},e),t)}))}function p(t,e){switch(t){case"apikey":r({apiKey:e});break;case"engine":r({engine:e});break;case"save":s.lib.ajax({type:"POST",data:{action:"mapp_options_save",apiKey:n.apiKey,engine:n.engine,nonce:mappl10n.options.nonce},callback:function(t){wp.data.dispatch("core/notices").createNotice("success",__("Options saved."),{type:"snackbar",isDismissible:!0,actions:[{url:window.location,label:"Refresh page"}]})}})}}return c("div",{className:"mapp-options"},null,c(g,null,c(d,{label:__("Mapping Engine")}),c(d,null,c(h,null,c(f,{onClick:function(){return p("engine","leaflet")},isPressed:"google"!=n.engine,isSmall:!0},__("Leaflet")),c(f,{onClick:function(){return p("engine","google")},isPressed:"google"==n.engine,isSmall:!0},__("Google"))))),"google"!=n.engine?null:c(y,{className:"mapp-settings-apikey",label:c("a",{href:"https://mappresspro.com/mappress-faq/#toc-google-maps-api-keys"},__("Google API key")),onChange:function(t){return p("apikey",t)},value:n.apiKey}),c(f,{onClick:function(){return p("save")},isPrimary:!0},__("Save options")))}},557:function(t,e,n){"use strict";function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return p(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}n.r(e),n.d(e,{default:function(){return U}});var s=wp.element.createElement,c=wp.url.addQueryArgs,l=wp.element,u=l.useCallback,m=l.useEffect,d=l.useState,f=wp.components,h=(f.Button,f.Dropdown),g=f.Spinner,y=f.TextControl,__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function b(t){var e=a(d({results:[],search:"",searchTerm:""}),2),n=e[0],i=e[1];function r(t){i((function(e){return o(o({},e),t)}))}m((function(){wp.apiFetch({path:c("/wp/v2/search",{search:n.search,per_page:20})}).then((function(t){r({results:t})}))}),[n.search]);var p=u(_.debounce((function(t){r({search:t})}),1e3),[]);function l(e,i){return s("div",{className:"mapp-attach-control"},s("div",{className:"mapp-attach-control-toolbar"},s(y,{autoComplete:"false",value:n.searchTerm,onChange:function(t){r({searchTerm:t}),p(t)},placeholder:__("Search")})),n.results?n.results.length?s("div",{className:"mapp-attach-items"},n.results.map((function(e){return s("div",{key:e.id,className:"mapp-attach-item",onClick:function(){t.onChange(e.id,e.title)}},s("div",{className:"mapp-attach-item-title"},e.title?e.title:__("Untitled")),s("div",{className:"mapp-attach-item-type"},e.type))}))):s("div",{},__("No posts found")):s(g,null))}return s("div",{onClick:function(t){return t.stopPropagation()}},s(h,{renderToggle:function(t){t.isOpen;var e=t.onToggle;return s("a",{href:"#",onClick:e},__("Attach"))},renderContent:function(t){t.isOpen,t.onToggle;return l()}}))}var v=n(999);function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function O(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?w(Object(n),!0).forEach((function(e){k(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function k(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function j(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return S(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return S(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var C=window.mapp||{},P=wp.element.createElement,A=wp.data.select,E=wp.element,M=(E.Fragment,E.useEffect),x=(E.useLayoutEffect,E.useRef),I=E.useState,D=wp.components,T=(D.BaseControl,D.Button),N=D.Dashicon,B=D.Modal,L=(D.PanelBody,D.RadioControl),z=D.Spinner,F=D.TextControl,R=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function U(t){var e=j(I({isFetchingItems:!0,items:null,mode:t.mode?t.mode:"list",mapid:t.mapid?t.mapid:null,search:"",type:"all"}),2),n=e[0],i=e[1],o=x(null),r=x(null);function a(t){i((function(e){return O(O({},e),t)}))}function p(t){if("post"==n.type&&t.postid!=mappl10n.options.postid)return!1;var e=n.search.toLowerCase();return!e||(t.mapid.indexOf(e)>=0||(!!(t.post_title&&t.post_title.toLowerCase().indexOf(e)>=0)||!!(t.map_title&&t.map_title.toLowerCase().indexOf(e)>=0)))}function s(e,i){switch(e){case"attach":C.store.mutateMap({mapdata:i});break;case"add-new":a({mode:"edit",mapid:null});break;case"change-type":a({type:i});break;case"close":t.onAction("pick-close");break;case"duplicate":C.store.duplicateMap({mapid:i,success:function(t){alert(R("Map copied")),a({mapid:t.mapid}),jQuery(".mapp-pick-items").scrollTop(0)}});break;case"destroy":confirm(mappl10n.delete_map_prompt)&&(C.store.destroyMap({mapid:i}),i==n.mapid&&t.onAction("pick-destroy",i)),o.current.focus();break;case"edit":a({mode:"edit",mapid:i});break;case"edit-close":"edit"==t.mode?t.onAction("pick-close"):a({mode:"list"});break;case"edit-destroy":a({mode:"list",mapid:null}),t.onAction("pick-destroy",i);break;case"edit-save":"edit"==t.mode?t.onAction("pick-close",i):a({mode:"list",mapid:i});break;case"insert":t.onAction("pick-insert",i);break;case"shortcode":t.onAction("pick-shortcode",i);break;case"sort":C.store.setSort({sortBy:i,sortAsc:C.store.state.sortBy!=i||!C.store.state.sortAsc})}}function c(e){var i,o,a,p=e.mapid==n.mapid;o=e.postid==mappl10n.options.postid?A("core/editor").getEditedPostAttribute("title"):e.post_title,i=e.map_title?e.map_title:R("Untitled"),o=o||R("Untitled"),e.postid>0&&e.postid==mappl10n.options.postid&&(o=R("Current post")),a=e.postid>0?e.postid==mappl10n.options.postid?o:P("a",{href:mappl10n.options.editurl+"?post="+e.postid+"&action=edit",target:"_blank",title:R("Edit post")},o):R("Unattached");var c=[{action:"edit",label:R("Edit")},{action:"insert",label:R("Insert into post")},{action:"duplicate",label:R("Copy")},{action:"shortcode",label:R("Shortcode")},{action:"destroy",label:R("Delete")}];"library"==t.context?c.splice(1,1):c.splice(3,1),c=P("div",{className:"mapp-pick-actions"},c.map((function(t){return P("a",{href:"#",key:t.action,onClick:function(n){n.stopPropagation(),n.preventDefault(),s(t.action,e.mapid)}},t.label)})));var l=null;return l=e.postid>0?P("a",{href:"#",onClick:function(){return s("attach",{mapid:e.mapid,postid:0})}},R("Detach")):"library"==t.context?P(b,{onChange:function(t,n){return s("attach",{mapid:e.mapid,postid:t,post_title:n})}},R("Attach")):P("a",{href:"#",onClick:function(){return s("attach",{mapid:e.mapid,postid:mappl10n.options.postid,post_title:null})}},R("Attach")),P("div",{className:"mapp-pick-item"+(p?" mapp-selected":""),key:e.mapid+"|"+e.postid,ref:p?r:null},P("div",{className:"mapp-pick-col-map_title",onClick:function(t){return s("edit",e.mapid)}},P("div",null,i),P("div",null,c)),P("div",{className:"mapp-pick-col-mapid"},e.mapid),P("div",{className:"mapp-pick-col-post_title"},a,P("div",null,l)))}M((function(){var t=function(t){a({isFetchingItems:t.isFetchingItems,items:t.items})};return C.store.subscribe(t),function(){return C.store.unsubscribe(t)}})),M((function(){o.current&&o.current.focus(),C.store.fetchItems()}),[]),M((function(){r.current&&C.lib.scrollTo(jQuery(".mapp-pick-items"),jQuery(r.current))}),[n.type,n.items]);var l,u,m=P("div",{className:"mapp-list-panel"},P("div",{className:"mapp-gt-modal-header"},P("div",{className:"mapp-gt-modal-header-title"},P("h1",null,R("Select a map")),P(T,{isPrimary:!0,onClick:function(){return s("add-new")}},R("Add New"))),P(T,{onClick:function(){return s("close")},icon:"no-alt"})),(l="library"==t.context?null:P(L,{className:"mapp-pick-type",options:[{label:R("Attached to this post"),value:"post"},{label:R("All maps"),value:"all"}],onChange:function(t){return s("change-type",t)},selected:n.type}),u=n.isFetchingItems||n.isAttaching&&"library"!=t.context,P("div",{className:"mapp-pick-filter"},u&&P(z,null),P(F,{ref:o,className:"mapp-pick-search",tabIndex:1,label:R("Search"),placeholder:R("post title, map title, or map id"),onChange:function(t){return a({search:t})}}),l)),function(){var t,e=_.filter(n.items,p),i="";return i=n.isFetchingItems?null:e.length?_.map(e,c):P("div",{className:"mapp-pick-message"},R("No maps found")),P("div",{className:"mapp-pick-items"},(t={map_title:R("Map title"),mapid:R("Map ID"),post_title:R("Attached to")},P("div",{className:"mapp-pick-items-header"},_.map(t,(function(t,e){return P("div",{className:"mapp-pick-col-"+e,onClick:function(){return s("sort",e)},key:e},t,C.store.state.sortBy==e&&P(N,{icon:C.store.state.sortAsc?"arrow-up":"arrow-down"}))})))),i)}(),function(){if("library"!=t.context)return P("div",{className:"mapp-pick-toolbar"},P(T,{isSecondary:!0,onClick:function(){return s("close")}},R("Close")))}()),d=null;if("edit"==n.mode){var f=P("div",{className:"mapp-edit-panel"},P(v.default,{context:t.context,mapid:n.mapid,onAction:s}));d="library"==t.context?P(B,{className:"mapp-gt-modal",isDismissible:!1},f):f}var h="mapp-pick mapp-mode-"+n.mode+" mapp-context-"+t.context;return"library"==t.context?P("div",{className:h},m,d):P(B,{className:"mapp-gt-modal "+h,isDismissible:"list"==n.mode,onRequestClose:function(){return s("close")},shouldCloseOnEsc:"list"==n.mode,shouldCloseOnClickOutside:"list"==n.mode},m,d)}},429:function(t,e,n){"use strict";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],_n=!0,i=!1,_e=void 0;try{for(var o,r=t[Symbol.iterator]();!(_n=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);_n=!0);}catch(t){i=!0,_e=t}finally{try{_n||null==r.return||r.return()}finally{if(i)throw _e}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}n.r(e),n.d(e,{MappSettings:function(){return g}});window.mapp;var r=wp.element.createElement,a=wp.element,p=a.Fragment,s=(a.useEffect,a.useLayoutEffect,a.useRef,a.useState),c=wp.components,l=c.BaseControl,u=c.Button,m=c.ButtonGroup,d=(c.Dashicon,c.Dropdown,c.ExternalLink,c.Panel,c.PanelBody,c.PanelRow),f=(c.RadioControl,c.SelectControl),h=c.TextControl,__=function(t){return wp.i18n.__(t,"mappress-google-maps-for-wordpress")};function g(t){var e,n=i(s({}),2);n[0],n[1];function o(t){if(!t||"string"!=typeof t)return t;var e={px:2048,vw:100,vh:100,"%":100},n=parseInt(t),i=2048,o="";for(var r in e)t.includes(r)&&(o=r,i=e[r]);return n>i?i+o:t}function a(e,n){var i=null;switch(e){case"mapTypeId":t.map.set({mapTypeId:n}),i={mapTypeId:n};break;case"poiList":t.map.set({poiList:n}),i={poiList:n};break;case"size":n.hasOwnProperty("height")&&(n.height=o(n.height)),n.hasOwnProperty("width")&&(n.width=o(n.width)),t.map.setSize(n),i=n;break;case"viewport-reset":t.map.center=t.map.zoom=null,t.map.recenter(),i={center:void 0,zoom:void 0};break;case"viewport-set":var r=t.map.getCenter().toJSON();t.map.center=r,t.map.zoom=t.map.getZoom(),i={center:r.lat+","+r.lng,zoom:t.map.getZoom()},"mce"==t.context||"library"==t.context?alert(__("Viewport set")):wp.data.dispatch("core/notices").createNotice("success",__("Viewport set"),{type:"snackbar",isDismissible:!0})}i&&t.onAction("change-settings",i)}return r("div",{className:"mapp-settings"},null,(e=t.map.title?t.map.title:__("Untitled"),r(d,null,"map"==t.context&&r(l,{className:"mapp-settings-title"},e),r(l,{className:"mapp-settings-id",label:__("Map ID")},t.map.mapid))),"mashup"==t.context&&function(){var e=[];if("leaflet"==mappl10n.options.engine)e=mappl10n.options.baseLayers.map((function(t){return{label:t.label,value:t.name}}));else{var n=mappl10n.options.styles?_.keys(mappl10n.options.styles):[];e=["roadmap","satellite","terrain","hybrid"].concat(n).map((function(t){return{label:t.charAt(0).toUpperCase()+t.slice(1),value:t}}))}return e.unshift({label:__("Default"),value:null}),r(f,{className:"mapp-settings-type",help:"",label:__("Map type"),value:t.map.mapTypeId,options:e,onChange:function(t){return a("mapTypeId",t)}})}(),function(){var e=mappl10n.options.sizes[mappl10n.options.size]?mappl10n.options.sizes[mappl10n.options.size]:mappl10n.options.sizes[0],n=mappl10n.options.sizes.map((function(t,e){return{label:t.width+"x"+t.height,height:t.height,width:t.width,value:e+1}}));n.unshift({height:"",label:__("Default"),value:0,width:""}),n.push({label:__("Custom"),value:"custom",disabled:!0});for(var i="custom",o=0;o<n.length-1;o++)n[o].width==t.width&&n[o].height==t.height&&(i=o);return r(p,null,r(f,{className:"mapp-settings-dims-select",help:"",label:__("Size"),value:i,options:n,onChange:function(t){return a("size",{width:n[t].width,height:n[t].height})}}),r(d,null,r(h,{className:"mapp-settings-dims-custom",help:__("px, %, vw"),label:__("Width"),onChange:function(t){return a("size",{width:t})},placeholder:e.width,value:t.width?t.width:""}),r(h,{className:"mapp-settings-dims-custom",help:__("px, %, vh"),label:__("Height"),onChange:function(t){return a("size",{height:t})},placeholder:e.height,value:t.height?t.height:""})))}(),(t.center&&(t.center.lat,t.center.lng,__("Zoom"),t.zoom),r(p,null,r(l,{className:"mapp-settings-viewport",label:__("Center/Zoom")},r(m,{label:__("Center/Zoom")},r(u,{onClick:function(){return a("viewport-reset")},isPressed:!t.center,isSmall:!0},__("Automatic")),r(u,{onClick:function(){return a("viewport-set")},isPressed:t.center,isSmall:!0},__("Set")))))))}},787:function(){function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function e(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function n(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||i(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var r=window.mapp||{};r.Store=function(){this.subs=new Set,this.state={isFetchingMap:!1,isFetchingItems:!1,isSavingMap:!1,itemsFetched:!1,sortBy:"map_title",sortAsc:!0,maps:{},items:[]}},r.Store.prototype={createMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.success,n=void 0===e?function(){}:e;this.state.isFetchingMap=!1,this.publish(),n()},destroyMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.mapid,n=t.success,i=void 0===n?function(){}:n,o=t.failure,a=void 0===o?function(){}:o,p=this;r.lib.ajax({type:"POST",data:{action:"mapp_delete",mapid:e,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(delete p.state.maps[e],p.destroyItem(e),i(e)):a(),p.publish()}})},duplicateMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.mapid,n=t.success,i=void 0===n?function(){}:n,o=t.failure,a=void 0===o?function(){}:o,p=this;this.state.isSavingMap=!0,this.publish(),r.lib.ajax({type:"POST",data:{action:"mapp_duplicate",mapid:e,postid:mappl10n.options.postid,nonce:mappl10n.options.nonce},callback:function(t){if(t&&"OK"==t.status){var e=t.data,n=e.mapid;p.state.maps[n]=e,p.saveItem(e),i(e)}else a();p.state.isSavingMap=!1,p.publish()}})},fetchMap:function(t){var e=t.mapid,n=t.success,i=void 0===n?function(){}:n,o=t.failure,a=void 0===o?function(){}:o,p=this;if(void 0!==this.state.maps[e])return p.publish(),void i(this.state.maps[e]);this.state.isFetchingMap=!0,p.publish(),r.lib.ajax({type:"GET",data:{action:"mapp_get",mapid:e,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(p.state.maps[e]=t.data,i(t.data)):a(),p.state.isFetchingMap=!1,p.publish()}})},mutateMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.mapdata,n=t.success,i=void 0===n?function(){}:n,o=t.failure,a=void 0===o?function(){}:o,p=this;this.state.isSavingMap=!0,this.saveItem(e),this.publish(),r.lib.ajax({type:"POST",data:{action:"mapp_mutate",mapdata:e,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(p.state.maps[t.data.mapid]=t.data,i(e)):a(),p.state.isSavingMap=!1,p.publish()}})},saveMap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.mapdata,n=t.success,i=void 0===n?function(){}:n,o=t.failure,a=void 0===o?function(){}:o,p=this;this.state.isSavingMap=!0,this.publish(),r.lib.ajax({type:"POST",data:{action:"mapp_save",mapdata:JSON.stringify(e),nonce:mappl10n.options.nonce},callback:function(t){if(t&&"OK"==t.status){var e=t.data,n=e.mapid;p.state.maps[n]=e,p.saveItem(e),i(e)}else a();p.state.isSavingMap=!1,p.publish()}})},destroyItem:function(t){var e=this.state.items?this.state.items:[],i=_.findIndex(e,{mapid:t});i>-1&&e.splice(i,1),this.state.items=n(e),this.publish()},fetchItems:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.success,n=void 0===e?function(){}:e,i=t.failure,o=void 0===i?function(){}:i,a=this;if(this.state.itemsFetched)return n(this.state.items),void a.publish();this.state.isFetchingItems=!0,a.publish(),r.lib.ajax({type:"GET",data:{action:"mapp_find",nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(a.state.items=t.data,a.sort(),n(a.state.items),a.state.itemsFetched=!0):o(),a.state.isFetchingItems=!1,a.sort(),a.publish()}})},saveItem:function(n){var i=this.state.items?this.state.items:[],o=_.findWhere(i,{mapid:n.mapid});o?(o.mapid=void 0!==n.mapid?n.mapid:o.mapid,o.map_title=void 0!==n.title?n.title:o.map_title,o.postid=void 0!==n.postid?n.postid:o.postid,o.post_title=void 0!==n.post_title?n.post_title:o.post_title,o=function(n){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{};i%2?t(Object(o),!0).forEach((function(t){e(n,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(o,t))}))}return n}({},o)):(o={mapid:n.mapid,map_title:n.title,postid:mappl10n.options.postid,post_title:null},i.unshift(o))},setSort:function(t){t.sortBy&&(this.state.sortBy=t.sortBy),void 0!==t.sortAsc&&(this.state.sortAsc=t.sortAsc),this.sort(),this.publish()},sort:function(t,e){var n,i=this,o=(n="untitled",wp.i18n.__(n,"mappress-google-maps-for-wordpress"));this.state.items.sort((function(t,e){return function(t,e,n,i){if(i=i?1:-1,"mapid"==n)return i*(Number(t.mapid)-Number(e.mapid));var r=t[n]?t[n]:o,a=e[n]?e[n]:o,p=i*r.localeCompare(a);return 0==p?Number(t.mapid)-Number(e.mapid):p}(t,e,i.state.sortBy,i.state.sortAsc)}))},subscribe:function(t){this.subs.add(t)},unsubscribe:function(t){this.subs.delete(t)},publish:function(){var t,e=function(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=i(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var o=0,r=function(){};return{s:r,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(_e){throw _e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,p=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return p=t.done,t},e:function(t){s=!0,a=t},f:function(){try{p||null==n.return||n.return()}finally{if(s)throw a}}}}(n(this.subs));try{for(e.s();!(t=e.n()).done;){(0,t.value)(this.state)}}catch(t){e.e(t)}finally{e.f()}}},r.store=new r.Store},305:function(){var t;(t=jQuery)(document).ready((function(){t('input[name="mappress_options[engine]"]').on("change",(function(){t('input[name="save"]').click()})),t('input[name="mappress_options[geocoder]"]').on("change",(function(){t('input[name="save"]').click()})),t("[data-mapp-grid]").each((function(t,e){new mapp.widgets.Grid(e)})),t(document).on("focus",".mapp-expand",(function(){t(this).parent().width("100%"),t(this).attr("rows",20)})),t(document).on("blur",".mapp-expand",(function(){t(this).parent().width("auto"),t(this).attr("rows",1)})),t(".mapp-autoicons").on("change","#mapp-autoicons-key",(function(e){mapp.lib.ajax({data:{action:"mapp_autoicons_form",key:t(this).val()},callback:function(e){e&&e.status&&(t(".mapp-autoicons").html(e.data),new mapp.widgets.Grid(t("[data-mapp-grid]",".mapp-autoicons")))}})})),t("#mapp-filters tbody").sortable({handle:".mapp-handle"}),t(".mapp-confirm").on("change",(function(){var e=t(".mapp-confirm").is(":checked");t(".mapp-import").prop("disabled",!e)}))}))},278:function(){var t,e=window.mapp||{};e.widgets={},t=jQuery,e.widgets.ColorPicker=function(){var n=this;this.popup=null,this.toggle=null,this.popup=new e.widgets.Popup("",{toggle:"[data-mapp-colorpicker]"}),n.popup.setContent(e.lib.template("color-picker")),t(document).on("refresh","[data-mapp-colorpicker]",(function(e){var n=t(this),i=n.attr("data-mapp-color")?n.attr("data-mapp-color"):"#000000";n.css({"background-color":i,opacity:n.attr("data-mapp-opacity")/100,"border: ":"1px solid "+i})})),this.popup.el.on("click","[data-mapp-color]",(function(e){n.toggle.attr("data-mapp-color",t(this).attr("data-mapp-color")),n.toggle.trigger("refresh"),n.toggle.trigger("change")})),this.popup.el.on("change",".mapp-opacity, .mapp-weight",(function(e){t(this).hasClass("mapp-opacity")?n.toggle.attr("data-mapp-opacity",t(this).val()):n.toggle.attr("data-mapp-weight",t(this).val()),n.toggle.trigger("change"),n.toggle.trigger("refresh")})),this.popup.el.on("open.mapp.popup",(function(){n.toggle=n.popup.activeToggle,t('[data-mapp-color="'+n.toggle.attr("data-mapp-color")+'"]',n.popup.el).addClass("mapp-selected"),t(".mapp-opacity",n.popup.el).val(n.toggle.attr("data-mapp-opacity")),t(".mapp-weight",n.popup.el).val(n.toggle.attr("data-mapp-weight"))}))},t((function(){new e.widgets.ColorPicker})),function(t){e.widgets.Grid=function(e,n){this.el=t(e),this.options=jQuery.extend({action:null,sortable:!1},n);var i=this;this.table=t("table",this.el),this.template=t("script",this.el).html().replace(new RegExp("'","g"),'"'),this.el.on("click",(function(e){var n=t(e.target).attr("data-mapp-action");n&&(i[n](e),e.preventDefault())}))},e.widgets.Grid.prototype={add:function(){this.table.show();var e=t(this.template).appendTo(this.table);t(":input:eq(0)",e).focus()},remove:function(e){t(e.target).closest("tr").remove();t("tbody > tr",this.table).length||this.table.hide()}}}(jQuery),function(t){e.widgets.IconEditor=function(n,i){this.popup=null;var o=this;this.popup=new e.widgets.Popup("",{modal:!0,closeButton:!0}),this.render(i),t(".mapp-icon-editor-open").on("click",(function(t){return o.popup.open(),!1})),this.popup.el.on("click","[data-mapp-action]",(function(e){var n=t(this).attr("data-mapp-action"),i=t(this).closest("[data-mapp-iconid]"),r=i?i.attr("data-mapp-iconid"):null;switch(e.preventDefault(),e.stopPropagation(),n){case"add":o.add();break;case"delete":o.destroy(r)}}))},e.widgets.IconEditor.prototype={add:function(){for(var n=t(".mapp-icon-files").prop("files"),i=new FormData,o=this,r=0;r<n.length;r++){var a=n[r];if(!a.type.match("image.*"))return void alert("File "+a.name+" is not an image.");i.append("icons[]",a)}i.append("action","mapp_icon_save"),i.append("nonce",mappl10n.options.nonce),e.lib.ajax({type:"POST",contentType:!1,processData:!1,data:i,success:function(t){t&&"OK"==t.status?(mappl10n.options.userIcons=t.data,o.render()):alert("Upload error: "+t.status)}})},destroy:function(t){var n=this;t&&confirm(mappl10n.delete_prompt)&&e.lib.ajax({type:"POST",data:{action:"mapp_icon_delete",iconid:t,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status?(mappl10n.options.userIcons=t.data,n.render()):alert("Upload error: "+t.status)}})},render:function(){this.popup.setContent(e.lib.template("icon-editor"))}}}(jQuery),function(t){e.widgets.IconPicker=function(){var n=this;this.popup=new e.widgets.Popup("",{toggle:"[data-mapp-iconpicker]"}),this.toggle=null,t(document).on("refresh","[data-mapp-iconpicker]",(function(n){t(this).attr("src",e.Icons.getUrl(t(this).attr("data-mapp-iconid")))})),this.popup.el.on("open.mapp.popup",(function(){n.toggle=n.popup.activeToggle,n.popup.setContent(e.lib.template("icon-picker")),t("[data-mapp-iconid]",n.popup.el).removeClass("mapp-selected"),t('[data-mapp-iconid="'+n.toggle.attr("data-mapp-iconid")+'"]',n.popup.el).addClass("mapp-selected")})),this.popup.el.on("click","[data-mapp-iconid]",(function(e){var i=t(this).attr("data-mapp-iconid");n.toggle.attr("data-mapp-iconid",i),n.toggle.next('input[type="hidden"]').val(i),n.popup.close(),n.toggle.next('input[name="mappress_options[defaultIcon]"]').length?(mappl10n.options.defaultIcon=t(this).attr("data-mapp-iconid"),t("[data-mapp-iconpicker]").trigger("refresh")):n.toggle.trigger("refresh"),n.toggle.trigger("change")}))},t((function(){new e.widgets.IconPicker,t("[data-mapp-iconpicker]").trigger("refresh")}))}(jQuery),function(t){e.widgets.Popup=function(e,n){this.activeToggle=null,this.backdrop=null,this.content=t(e),this.el=null;var i=this;return this.options=t.extend({closeButton:!1,closeOnEsc:!0,max:!1,modal:!1,persistent:!1,position:null,toggle:null},n),this.el=t('<div class="mapp-popup">'),this.setContent(e),this.el.attr("tabindex",0),this.options.max&&this.el.addClass("mapp-popup-max"),this.el.hide(),this.options.persistent&&this.el.appendTo("body"),this.options.toggle&&t(document).on("click",this.options.toggle,(function(e){i.activeToggle=t(this),i.open(),e.stopPropagation()})),this.options.modal?(this.el.addClass("mapp-popup-modal"),this.backdrop=t('<div class="mapp-popup-backdrop"></div>'),t("body").append(this.backdrop),this.options.closeOnEsc&&t(this.backdrop).on("click",(function(){i.close()}))):t(document).on("click",(function(t){i.el.has(t.target).length||i.el.get(0)==t.target||i.close()})),this.el.on("click",".mapp-close",(function(){i.close()})),this.el.on("keydown",(function(t){27==t.which&&i.options.closeOnEsc&&i.close()})),this},e.widgets.Popup.prototype={close:function(){this.el&&this.el.is(":visible")&&(this.el.hide(),this.options.modal&&(this.backdrop.hide(),t("body").removeClass("mapp-popup-noscroll")),this.activeToggle&&this.activeToggle.focus(),this.el.trigger("closed.mapp.popup"))},open:function(){this.el.parent().length||this.el.appendTo("body"),this.el.show(),this.el.trigger("open.mapp.popup"),this.options.modal?(this.backdrop.show(),t("body").addClass("mapp-popup-noscroll")):this.el.position(t.extend({my:"center top",at:"center bottom + 5",of:this.activeToggle,collision:"flipfit"},this.options.position)),this.el.focus()},setContent:function(t){this.el.empty(),this.options.closeButton&&this.el.append('<span class="mapp-close">'),this.el.append(t)},toggle:function(){this.el.is(":visible")?this.close():this.open()}}}(jQuery),function(t){e.widgets.TemplateEditor=function(n,i){this.sel=t(n),this.codeStandard=null,this.codeEditor=null,this.model=null,this.popup=null,this.tokens=i;var o=this;this.sel.html(e.lib.template("tp-master")),this.popup=new e.widgets.Popup("",{modal:!0}),this.sel.on("click","[data-mapp-action]",(function(){var e=t(this),n=e.attr("data-mapp-action"),i=e.attr("data-mapp-"+n);return o[n](i),!1})),this.popup.el.on("click","[data-mapp-action]",(function(){var e=t(this),n=e.attr("data-mapp-action"),i=e.attr("data-mapp-"+n);return o[n](i),!1})),this.popup.el.on("click",".mapp-tab-label",(function(){return t(".mapp-tab-label",this.sel).removeClass("mapp-active"),t(this).addClass("mapp-active"),t(".mapp-tab",o.popup.el).removeClass("mapp-active"),t(".mapp-tab:eq("+t(this).index()+")",o.popup.sel).addClass("mapp-active"),o.codeStandard.codemirror.refresh(),o.codeEditor.codemirror.refresh(),!1}))},e.widgets.TemplateEditor.prototype={cancel:function(){this.popup.close()},destroy:function(){confirm(mappl10n.delete_prompt)&&(e.lib.ajax({type:"POST",data:{action:"mapp_tpl_delete",name:this.model.name,nonce:mappl10n.options.nonce}}),this.popup.close())},edit:function(n){var i=this;n=t(".mapp-tp-select").val();e.lib.ajax({type:"GET",data:{action:"mapp_tpl_get",name:n,nonce:mappl10n.options.nonce},callback:function(t){t&&"OK"==t.status&&(i.model=t.data,i.renderDetail())}})},insert:function(t){var e=this.codeEditor.codemirror.getDoc(),n=e.getCursor();e.replaceRange("{{{poi."+t+"}}}",n)},renderDetail:function(){this.popup.open(),this.popup.el.html(e.lib.template("tp-detail",{model:this.model,tokens:this.tokens})),this.codeEditor=wp.codeEditor.initialize(t(".mapp-tp-content",this.popup.el)),this.codeStandard=wp.codeEditor.initialize(t(".mapp-tp-standard",this.popup.el)),this.codeStandard.codemirror.setOption("readOnly",!0),this.codeEditor.codemirror.setSize("auto","auto"),this.codeStandard.codemirror.setSize("auto","auto")},save:function(){var t=this;e.lib.ajax({type:"POST",data:{action:"mapp_tpl_save",content:this.codeEditor.codemirror.getValue(),name:this.model.name,nonce:mappl10n.options.nonce},callback:function(e){e&&"OK"==e.status&&t.popup.close()}})}}}(jQuery)},308:function(t,e,n){"use strict";t.exports=function(t,e){var i,o,r,a,p,s,c,l,u,m,d,f,h,g=String(t).replace(/^&/,"").replace(/&$/,"").split("&"),y=g.length,b=function(t){return decodeURIComponent(t.replace(/\+/g,"%20"))},v="undefined"!=typeof window?window:n.g;v.$locutus=v.$locutus||{};var w=v.$locutus;for(w.php=w.php||{},e||(e=v),i=0;i<y&&(u=b((l=g[i].split("="))[0]),m=l.length<2?"":b(l[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(f=[],d=0,o=0;o<u.length;o++)if("["!==u.charAt(o)||d){if("]"===u.charAt(o)&&d&&(f.length||f.push(u.slice(0,d-1)),f.push(u.substr(d,o-d)),d=0,"["!==u.charAt(o+1)))break}else d=o+1;for(f.length||(f=[u]),o=0;o<f[0].length&&(" "!==(c=f[0].charAt(o))&&"."!==c&&"["!==c||(f[0]=f[0].substr(0,o)+"_"+f[0].substr(o+1)),"["!==c);o++);for(s=e,o=0,h=f.length;o<h;o++){if(p=s,(""===(u=f[o].replace(/^['"]/,"").replace(/['"]$/,""))||" "===u)&&0!==o){for(a in r=-1,s)s.hasOwnProperty(a)&&+a>r&&a.match(/^\d+$/g)&&(r=+a);u=r+1}Object(s[u])!==s[u]&&(s[u]={}),s=s[u]}p[u]=m}}}}},e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={exports:{}};return t[i](o,o.exports,n),o.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(215),n(305),n(787),n(999),n(800),n(938),n(816),n(186),n(498),n(218),n(557),n(429)}();
css/mappress.css CHANGED
@@ -26,6 +26,10 @@
26
  font-size: 13px;
27
  }
28
 
 
 
 
 
29
  /* 2019 */
30
  .mapp-layout input, .mapp-layout button, .mapp-layout select, .mapp-layout textarea, .mapp-layout p, .mapp-layout a {
31
  font-family: sans-serif;
@@ -98,7 +102,6 @@ a.leaflet-control-zoom-in, .leaflet-control-zoom-out {
98
  text-decoration: none !important;
99
  }
100
 
101
-
102
  @media only screen and (min--moz-device-pixel-ratio: 2),
103
  only screen and (-o-min-device-pixel-ratio: 2/1),
104
  only screen and (-webkit-min-device-pixel-ratio: 2),
@@ -158,6 +161,7 @@ only screen and (min-device-pixel-ratio: 2) {
158
  align-items: center;
159
  background-color: white;
160
  border: 1px solid lightgray;
 
161
  display: flex;
162
  height: 40px;
163
  justify-content: center;
@@ -195,10 +199,14 @@ only screen and (min-device-pixel-ratio: 2) {
195
  }
196
 
197
  .mapp-list .mapp-item {
198
- border-bottom: 1px solid lightgray;
199
  cursor: pointer;
200
  overflow: hidden;
201
- padding: 5px;
 
 
 
 
202
  }
203
 
204
  .mapp-list .mapp-item.mapp-selected {
@@ -227,6 +235,29 @@ only screen and (min-device-pixel-ratio: 2) {
227
  padding: 0; /* 2011 */
228
  }
229
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  /*
231
  -----------------------------------------------------------------------------------
232
  Header
@@ -416,35 +447,44 @@ only screen and (min-device-pixel-ratio: 2) {
416
 
417
  - This applies only to Infoboxes! Google standard infoWindow / Leaflet popup use class .mapp-iw instead
418
 
419
- mapp-ib-wrapper - wrapper around box + tip, used for sizing
420
- mapp-ib - box only, with border
421
- .mapp-iw | .mapp-iw-edit - infowindow (popup) or tooltip content
422
- mapp-ib-tip - triangle tip
 
423
 
424
  Classses applied to mapp-ib-wrapper:
425
- type .mapp-ib-popup | .mapp-ib-tooltip | .mapp-ib-edit | .mapp-open
426
 
427
  Classes applied to mapp-iw:
428
- template name .mapp-map-popup | .mapp-map-tooltip | .mapp-mashup-popup | .mapp-mashup-tooltip
429
  -----------------------------------------------------------------------------------------------------------
430
  */
431
 
432
- /* IB wrapper. Line-height is critical for tip position. Z-index places IB above menu icon, but below menu */
433
  .mapp-ib-wrapper {
434
  display: none;
435
- flex-direction: column;
436
- line-height: 0;
437
- max-height: calc(100% - 50px);
438
- max-width: calc(100% - 50px);
439
  position: absolute;
440
- z-index: 1005;
441
  }
442
 
443
  .mapp-ib-wrapper.mapp-open {
444
  display: flex;
445
  }
446
 
447
- .mapp-ib-wrapper.mapp-ib-flip {
 
 
 
 
 
 
 
 
 
 
 
448
  flex-direction: column-reverse;
449
  }
450
 
@@ -454,21 +494,21 @@ only screen and (min-device-pixel-ratio: 2) {
454
  :-moz-full-screen ~ .mapp-ib-wrapper { z-index: 10000000000; }
455
  :-ms-fullscreen ~ .mapp-ib-wrapper { z-index: 10000000000; }
456
 
457
-
458
  .mapp-ib {
459
  background-color: white;
460
- border: 1px solid lightgray;
461
  box-sizing: border-box;
462
  display: flex;
463
  flex-direction: column;
464
  line-height: normal;
465
  outline: none;
466
  overflow: hidden;
 
467
  }
468
 
469
  .mapp-ib-tip {
470
  display: flex;
471
  flex: 0 0 auto;
 
472
  position: relative;
473
  width: 0;
474
  }
@@ -560,14 +600,14 @@ only screen and (min-device-pixel-ratio: 2) {
560
 
561
  /*
562
  -----------------------------------------------------------------------------------
563
- Popup
564
  -----------------------------------------------------------------------------------
565
  */
566
 
567
  .mapp-iw {
568
  display: flex;
569
  flex-direction: column;
570
- min-width: 150px;
571
  overflow: hidden;
572
  }
573
 
@@ -584,7 +624,10 @@ only screen and (min-device-pixel-ratio: 2) {
584
  .mapp-layout .mapp-iw * {
585
  color: black;
586
  line-height: normal;
587
- margin: 0;
 
 
 
588
  padding: 0;
589
  }
590
 
@@ -594,68 +637,91 @@ only screen and (min-device-pixel-ratio: 2) {
594
  max-width: 100%;
595
  }
596
 
597
- .mapp-iw p {
598
- margin: 5px 0 5px 0 !important;
 
 
 
 
 
 
599
  }
600
 
601
- .mapp-iw .mapp-body {
 
602
  flex: 1;
603
- overflow: auto;
604
- overflow-wrap: break-word;
 
605
  }
606
 
607
  .mapp-iw .mapp-title {
608
  font-weight: bold;
609
- padding-bottom: 10px;
610
  }
611
 
612
- /* Thumbnails */
613
- .mapp-iw .mapp-body .wp-post-image {
614
- vertical-align: top;
615
- float: left;
616
- margin: 3px 3px 3px 0px;
617
- padding: 0;
618
- width: 32px;
619
- height: 32px;
620
  }
621
 
622
  .mapp-iw .mapp-links {
623
- clear: both; /* Clear any floats from images in body */
624
- white-space: nowrap; /* Don't let links split in small infowindows */
625
- margin: 0 !important; /* Margin causes scrollbars */
626
- padding-top: 4px !important;
627
  }
628
 
629
- /* Override theme link styles */
630
- .mapp-iw a, .mapp-iw a:link, .mapp-iw a:active, .mapp-iw a:visited, .mapp-iw a:hover {
631
- border: none !important;
632
- box-shadow: none !important; /* 2016, 2017 */
633
- color: #4272db !important;
634
- text-decoration: none !important;
635
  }
636
 
637
- /* Add padding for IB, IW/Leaflet do it by default */
638
- .mapp-ib .mapp-iw {
639
- padding: 10px;
 
 
 
 
 
 
640
  }
641
 
642
  /*
643
  -----------------------------------------------------------------------------------
644
- Tooltips
645
  -----------------------------------------------------------------------------------
646
  */
647
 
648
- /* Always make tooltip <= 50% height, since they need room to flip */
649
- .mapp-ib-tooltip {
650
- max-height: 50%;
651
  }
652
 
653
- /* No point having scrollbar on a tooltip */
654
- .mapp-ib-tooltip .mapp-iw {
655
- overflow: hidden;
656
- padding: 10px;
 
 
 
 
 
 
 
 
657
  }
658
 
 
 
 
 
 
 
 
 
 
 
 
 
 
659
 
660
  /*
661
  -----------------------------------------------------------------------------------
@@ -712,7 +778,7 @@ only screen and (min-device-pixel-ratio: 2) {
712
  .mapp-view-filters .mapp-filters {
713
  display: flex;
714
  flex-direction: column;
715
- z-index: 1001;
716
  }
717
 
718
  .mapp-view-menu .mapp-menu {
@@ -780,6 +846,64 @@ only screen and (min-device-pixel-ratio: 2) {
780
  .mapp-view-mini.mapp-list-open .mapp-footer [data-mapp-action="view-list"] { display: none; }
781
  .mapp-view-mini.mapp-list-open .mapp-footer [data-mapp-action="view-map"] { display: block; }
782
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
783
  /*
784
  -----------------------------------------------------------------------------------
785
  Directions
@@ -806,15 +930,11 @@ only screen and (min-device-pixel-ratio: 2) {
806
  }
807
 
808
 
809
- .mapp-dir-toolbar {
810
  margin-top: 10px;
811
  }
812
 
813
- .mapp-dir-google {
814
- float: right;
815
- }
816
-
817
- .mapp-dir-swap {
818
  display:inline-block;
819
  border: none !important; /* 2015 */
820
  text-align: center ;
@@ -829,20 +949,20 @@ only screen and (min-device-pixel-ratio: 2) {
829
  vertical-align: bottom;
830
  }
831
 
832
- .mapp-route {
833
  margin: 10px 0 0px 0 ;
834
  }
835
 
836
- .mapp-dir-saddr, .mapp-dir-daddr {
837
  width: 80% ;
838
  line-height: normal ;
839
  }
840
 
841
- .mapp-dir-saddr {
842
  margin-bottom: 5px;
843
  }
844
 
845
- .mapp-dir-arrows {
846
  background: transparent url('../images/directions.png') no-repeat center center;
847
  background-position: -10px -489px;
848
  cursor: pointer;
@@ -912,21 +1032,130 @@ only screen and (min-device-pixel-ratio: 2) {
912
  border-bottom: 1px solid lightgray;
913
  }
914
 
 
915
  /*
916
  -----------------------------------------------------------------------------------
917
- CSS tables
 
 
 
 
 
 
 
 
 
 
 
 
918
  -----------------------------------------------------------------------------------
919
  */
920
- .mapp-table {
921
- display: table;
922
- width: 100%;
 
 
 
 
 
 
 
 
 
 
 
923
  }
924
 
925
- .mapp-table > div { display: table-row; }
926
- .mapp-table > div > div, .mapp-table > div > label {
927
- display: table-cell;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
928
  }
929
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
930
  /*
931
  -----------------------------------------------------------------------------------
932
  Misc
26
  font-size: 13px;
27
  }
28
 
29
+ .mapp-canvas img {
30
+ max-width: none !important; /* 2021 interferes with pegman */
31
+ }
32
+
33
  /* 2019 */
34
  .mapp-layout input, .mapp-layout button, .mapp-layout select, .mapp-layout textarea, .mapp-layout p, .mapp-layout a {
35
  font-family: sans-serif;
102
  text-decoration: none !important;
103
  }
104
 
 
105
  @media only screen and (min--moz-device-pixel-ratio: 2),
106
  only screen and (-o-min-device-pixel-ratio: 2/1),
107
  only screen and (-webkit-min-device-pixel-ratio: 2),
161
  align-items: center;
162
  background-color: white;
163
  border: 1px solid lightgray;
164
+ cursor: pointer;
165
  display: flex;
166
  height: 40px;
167
  justify-content: center;
199
  }
200
 
201
  .mapp-list .mapp-item {
202
+ border-top: 1px solid lightgray;
203
  cursor: pointer;
204
  overflow: hidden;
205
+ padding: 10px;
206
+ }
207
+
208
+ .mapp-list .mapp-item:last-child {
209
+ border-bottom: 1px solid lightgray;
210
  }
211
 
212
  .mapp-list .mapp-item.mapp-selected {
235
  padding: 0; /* 2011 */
236
  }
237
 
238
+ /* Thumbnails in lists. Default is on top. */
239
+ .mapp-list .mapp-item .mapp-thumbnail img {
240
+ max-width: 100%;
241
+ padding-bottom: 10px;
242
+ }
243
+
244
+ .mapp-list.mapp-thumb-left .mapp-item {
245
+ flex-direction: row;
246
+ }
247
+
248
+ .mapp-list.mapp-thumb-right .mapp-item {
249
+ flex-direction: row-reverse;
250
+ }
251
+
252
+ .mapp-list.mapp-thumb-top .mapp-item {
253
+ flex-direction: column;
254
+ }
255
+
256
+ .mapp-list.mapp-thumb-top .mapp-info {
257
+ padding-top: 10px;
258
+ }
259
+
260
+
261
  /*
262
  -----------------------------------------------------------------------------------
263
  Header
447
 
448
  - This applies only to Infoboxes! Google standard infoWindow / Leaflet popup use class .mapp-iw instead
449
 
450
+ .mapp-ib-wrapper - positioning element
451
+ .mapp-ib-content - box + tip
452
+ .mapp-ib - box only, with border
453
+ .mapp-iw | .mapp-iw-edit - infowindow (popup) or tooltip content
454
+ .mapp-ib-tip - triangle tip
455
 
456
  Classses applied to mapp-ib-wrapper:
457
+ type .mapp-ib-popup | .mapp-ib-edit | .mapp-open
458
 
459
  Classes applied to mapp-iw:
460
+ template name .mapp-map-popup | .mapp-mashup-popup
461
  -----------------------------------------------------------------------------------------------------------
462
  */
463
 
464
+ /* Positioning element: width prevents clipping, height must be zero or it'll obscure canvas */
465
  .mapp-ib-wrapper {
466
  display: none;
467
+ height: 0px;
 
 
 
468
  position: absolute;
469
+ width: 9999px;
470
  }
471
 
472
  .mapp-ib-wrapper.mapp-open {
473
  display: flex;
474
  }
475
 
476
+ .mapp-ib-content {
477
+ bottom: 0; left: 0;
478
+ display: flex;
479
+ flex-direction: column;
480
+ line-height: 0; /* Prevent font from distorting tip */
481
+ max-height: 300px;
482
+ max-width: 400px;
483
+ position: absolute;
484
+ z-index: 1005; /* Needed for Leaflet, above menu icon, below menu */
485
+ }
486
+
487
+ .mapp-ib-content .mapp-ib-flip {
488
  flex-direction: column-reverse;
489
  }
490
 
494
  :-moz-full-screen ~ .mapp-ib-wrapper { z-index: 10000000000; }
495
  :-ms-fullscreen ~ .mapp-ib-wrapper { z-index: 10000000000; }
496
 
 
497
  .mapp-ib {
498
  background-color: white;
 
499
  box-sizing: border-box;
500
  display: flex;
501
  flex-direction: column;
502
  line-height: normal;
503
  outline: none;
504
  overflow: hidden;
505
+ box-shadow: 0 0px 7px 0px rgba(0,0,0,0.20);
506
  }
507
 
508
  .mapp-ib-tip {
509
  display: flex;
510
  flex: 0 0 auto;
511
+ left: 50%;
512
  position: relative;
513
  width: 0;
514
  }
600
 
601
  /*
602
  -----------------------------------------------------------------------------------
603
+ Popup contents
604
  -----------------------------------------------------------------------------------
605
  */
606
 
607
  .mapp-iw {
608
  display: flex;
609
  flex-direction: column;
610
+ min-width: 200px;
611
  overflow: hidden;
612
  }
613
 
624
  .mapp-layout .mapp-iw * {
625
  color: black;
626
  line-height: normal;
627
+ }
628
+
629
+ .mapp-iw p {
630
+ margin: 0 !important;
631
  padding: 0;
632
  }
633
 
637
  max-width: 100%;
638
  }
639
 
640
+ /* Override theme link styles */
641
+ .mapp-iw a, .mapp-iw a:link, .mapp-iw a:active, .mapp-iw a:visited, .mapp-iw a:hover {
642
+ border: none !important;
643
+ box-shadow: none !important; /* 2016, 2017 */
644
+ color: #4272db !important;
645
+ margin: 0;
646
+ padding: 0;
647
+ text-decoration: none !important;
648
  }
649
 
650
+ .mapp-iw .mapp-info {
651
+ display: flex;
652
  flex: 1;
653
+ flex-direction: column;
654
+ overflow: hidden;
655
+ padding: 10px;
656
  }
657
 
658
  .mapp-iw .mapp-title {
659
  font-weight: bold;
 
660
  }
661
 
662
+ .mapp-iw .mapp-body {
663
+ flex: 1;
664
+ overflow: auto;
665
+ overflow-wrap: break-word;
 
 
 
 
666
  }
667
 
668
  .mapp-iw .mapp-links {
669
+ margin-top: 10px;
 
 
 
670
  }
671
 
672
+ /* Make directions look like a link */
673
+ .mapp-iw .mapp-dir {
674
+ color: #4272db;
 
 
 
675
  }
676
 
677
+ /* Workarounds for IE, which doesn't like flex */
678
+ .mapp-ie .mapp-iw {
679
+ display: block;
680
+ overflow: auto;
681
+ }
682
+
683
+ .mapp-ie .mapp-iw .mapp-body {
684
+ flex: none;
685
+ overflow: none;
686
  }
687
 
688
  /*
689
  -----------------------------------------------------------------------------------
690
+ Thumbnail styles
691
  -----------------------------------------------------------------------------------
692
  */
693
 
694
+ .mapp-iw .mapp-thumbnail {
695
+ overflow: hidden;
 
696
  }
697
 
698
+ .mapp-iw .mapp-thumbnail a {
699
+ display: flex;
700
+ }
701
+
702
+ /* Try to get consistent sizing for featured image */
703
+ .mapp-iw .mapp-thumbnail img {
704
+ max-width: 100% !important;
705
+ object-fit: cover;
706
+ }
707
+
708
+ .mapp-iw.mapp-thumb-left {
709
+ flex-direction: row;
710
  }
711
 
712
+ .mapp-iw.mapp-thumb-right {
713
+ flex-direction: row-reverse;
714
+ }
715
+
716
+ .mapp-iw.mapp-thumb-top {
717
+ flex-direction: column;
718
+ }
719
+
720
+ /* Trick to size the .mapp-info section to the featured image. Popups w/o an image will be min-size. */
721
+ .mapp-iw.mapp-thumb-top .mapp-info {
722
+ min-width: 100%;
723
+ width: 0;
724
+ }
725
 
726
  /*
727
  -----------------------------------------------------------------------------------
778
  .mapp-view-filters .mapp-filters {
779
  display: flex;
780
  flex-direction: column;
781
+ z-index: 10000;
782
  }
783
 
784
  .mapp-view-menu .mapp-menu {
846
  .mapp-view-mini.mapp-list-open .mapp-footer [data-mapp-action="view-list"] { display: none; }
847
  .mapp-view-mini.mapp-list-open .mapp-footer [data-mapp-action="view-map"] { display: block; }
848
 
849
+ /*
850
+ -----------------------------------------------------------------------------------
851
+ Markers
852
+ -----------------------------------------------------------------------------------
853
+ */
854
+
855
+ .mapp-marker {
856
+ cursor: pointer;
857
+ position: absolute;
858
+ touch-action: none; /* For dragdrop */
859
+ }
860
+
861
+ /* Label */
862
+ .mapp-marker img:nth-child(2) {
863
+ height: 50%;
864
+ position: absolute;
865
+ top: 50%; left: 50%;
866
+ transform: translate(-50%, -50%);
867
+ width: 50%;
868
+ }
869
+
870
+ /* Image transforms base */
871
+ .mapp-marker img {
872
+ transform-origin: 50% 100%;
873
+ transition: transform .2s;
874
+ width: 100%;
875
+ }
876
+
877
+ /* Scale image */
878
+ .mapp-marker-scale img {
879
+ transform-origin: 50% 100%;
880
+ transform: scale(1.5);
881
+ perspective: 1001px;
882
+ }
883
+
884
+ /* Scale label - combine transforms */
885
+ .mapp-marker-scale img:nth-child(2) {
886
+ transform: translate(-50%, -50%) scale(1.5);
887
+ }
888
+
889
+ .mapp-marker-circle {
890
+ overflow: visible !important;
891
+ }
892
+
893
+ .mapp-marker-circle::before {
894
+ background-color: rgba(255,255,255,0.7);
895
+ border: 3px solid white;
896
+ border-radius: 50%;
897
+ box-sizing: border-box;
898
+ content: "";
899
+ left: -25%;
900
+ top: -25%;
901
+ width: 150%;
902
+ height: 150%;
903
+ position: absolute;
904
+ z-index: -1;
905
+ }
906
+
907
  /*
908
  -----------------------------------------------------------------------------------
909
  Directions
930
  }
931
 
932
 
933
+ .mapp-directions .mapp-dir-toolbar {
934
  margin-top: 10px;
935
  }
936
 
937
+ .mapp-directions .mapp-dir-swap {
 
 
 
 
938
  display:inline-block;
939
  border: none !important; /* 2015 */
940
  text-align: center ;
949
  vertical-align: bottom;
950
  }
951
 
952
+ .mapp-directions .mapp-route {
953
  margin: 10px 0 0px 0 ;
954
  }
955
 
956
+ .mapp-directions .mapp-dir-saddr, .mapp-directions .mapp-dir-daddr {
957
  width: 80% ;
958
  line-height: normal ;
959
  }
960
 
961
+ .mapp-directions .mapp-dir-saddr {
962
  margin-bottom: 5px;
963
  }
964
 
965
+ .mapp-directions .mapp-dir-arrows {
966
  background: transparent url('../images/directions.png') no-repeat center center;
967
  background-position: -10px -489px;
968
  cursor: pointer;
1032
  border-bottom: 1px solid lightgray;
1033
  }
1034
 
1035
+
1036
  /*
1037
  -----------------------------------------------------------------------------------
1038
+ Mashup modal:
1039
+
1040
+ Use these styles with the 'mashup-modal.php' template.
1041
+
1042
+ .mapp-modal
1043
+ .mapp-modal-backdrop
1044
+ .mapp-modal-content
1045
+ .mapp-modal-close
1046
+ .mapp-modal-featured
1047
+ .mapp-modal-article
1048
+ .mapp-modal-body
1049
+ .mapp-modal-meta
1050
+
1051
  -----------------------------------------------------------------------------------
1052
  */
1053
+
1054
+ /* Prevent scrollbars when popup is open */
1055
+ body.mapp-modal-noscroll {
1056
+ overflow-y: hidden;
1057
+ }
1058
+
1059
+ .mapp-modal {
1060
+ position: fixed;
1061
+ top: 0; left: 0; bottom: 0; right: 0;
1062
+ z-index: 100000; /* WP adminbar is 99999 */
1063
+ }
1064
+
1065
+ .mapp-modal-title {
1066
+ margin-bottom: 15px;
1067
  }
1068
 
1069
+ .mapp-modal-content {
1070
+ background-color: white;
1071
+ box-shadow: 5px 5px 10px #888;
1072
+ box-sizing: content-box;
1073
+ display: flex;
1074
+ flex-direction: row;
1075
+ height: 95vh;
1076
+ max-height: 900px;
1077
+ max-width: 1200px;
1078
+ position: fixed;
1079
+ top: 50%; left: 50%;
1080
+ transform: translate(-50%, -50%);
1081
+ width: calc(100vw - 120px);
1082
+ z-index: 1;
1083
+ }
1084
+
1085
+ /* Featured image displays on the left by default */
1086
+ .mapp-modal-featured {
1087
+ max-width: 40%;
1088
+ }
1089
+
1090
+ .mapp-modal-featured img {
1091
+ height: 100% !important;
1092
+ object-fit: cover;
1093
+ width: 100% !important;
1094
+ max-width: none !important;
1095
+ }
1096
+
1097
+ .mapp-modal-article {
1098
+ display: flex;
1099
+ flex: 1;
1100
+ flex-direction: column;
1101
+ overflow: auto;
1102
+ padding: 30px;
1103
+ }
1104
+
1105
+ .mapp-modal-meta {
1106
+ display: flex;
1107
+ justify-content: space-between;
1108
+ font-size: 12px;
1109
+ }
1110
+
1111
+ /* Element to receive focus when modal opens (e.g. scrollable post content) */
1112
+ .mapp-modal-focus {
1113
+ outline: none;
1114
+ }
1115
+
1116
+ .mapp-modal-backdrop {
1117
+ background-color: black;
1118
+ opacity: 0.6;
1119
+ height: 100vh;
1120
+ width: 100vw;
1121
+ user-select: none;
1122
  }
1123
 
1124
+ .mapp-modal-close {
1125
+ color: white;
1126
+ cursor: pointer;
1127
+ display: inline-block;
1128
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
1129
+ font-size: 36px;
1130
+ line-height: 36px;
1131
+ position: absolute;
1132
+ text-align: center;
1133
+ top: 5px; right: -40px;
1134
+ z-index: 1;
1135
+ }
1136
+
1137
+ .mapp-modal-close:hover {
1138
+ color: black;
1139
+ }
1140
+
1141
+ .mapp-modal-spinner-wrapper {
1142
+ transform: translate(-200%, -200%);
1143
+ width: 5px;
1144
+ height: 5px;
1145
+ }
1146
+
1147
+ /* https://www.w3schools.com/howto/howto_css_loader.asp */
1148
+ .mapp-modal-spinner {
1149
+ background: transparent url(../images/spinner-2x.gif) no-repeat center center;
1150
+ height: 40px;
1151
+ width: 40px;
1152
+ margin-left: 10px;
1153
+ margin-right: 10px;
1154
+ position: absolute;
1155
+ top: 50%; left: 50%;
1156
+ }
1157
+
1158
+
1159
  /*
1160
  -----------------------------------------------------------------------------------
1161
  Misc
css/mappress_admin.css CHANGED
@@ -1,7 +1,7 @@
1
 
2
  /*
3
  -----------------------------------------------------------------------------------
4
- Gutenberg block
5
  -----------------------------------------------------------------------------------
6
  */
7
  .mapp-gt .mapp-layout {
@@ -34,24 +34,13 @@
34
  Map library
35
  -----------------------------------------------------------------------------------
36
  */
37
- .mapp-library-wrapper {
38
- background-color: white;
39
- border: 1px solid lightgray;
40
- display: flex;
41
- flex-direction: column;
42
- height: 80vh;
43
- margin-top: 10px;
44
- width: 100%;
45
- }
46
 
47
- .mapp-library .mapp-edit-title input {
48
- margin: 5px;
49
- width: 240px;
50
- }
51
-
52
- .mapp-library h1 {
53
- display: inline;
54
- margin-right: 10px;
55
  }
56
 
57
  /* Hide the wp_editor instance used to load the editor scripts */
@@ -59,45 +48,52 @@
59
  display: none;
60
  }
61
 
 
 
 
 
 
 
 
 
 
 
62
  /*
63
  -----------------------------------------------------------------------------------
64
  Picker / Editor Modal
65
  -----------------------------------------------------------------------------------
66
  */
67
 
 
 
 
 
 
 
68
 
69
- .mapp-pick-modal .components-modal__header, .mapp-edit-modal .components-modal__header {
 
 
 
 
 
70
  margin: 0;
71
  padding: 10px 20px;
72
  }
73
 
74
- .mapp-pick-modal .components-modal__content, .mapp-edit-modal .components-modal__content {
75
  background-color: white;
76
  font-size: 13px;
77
  padding: 0;
78
  }
79
 
80
  /* Override WP settings */
81
- .mapp-pick-modal a, .mapp-edit-modal a {
82
  text-decoration: none;
83
  }
84
 
85
- .mapp-pick-modal {
86
- height: 90vh;
87
- max-height: 625px;
88
- max-width: 450px;
89
- width: 90vw;
90
- }
91
-
92
- .mapp-edit-modal {
93
- max-height: none;
94
- max-width: none;
95
- height: 90vh;
96
- width: 90vw;
97
- }
98
-
99
  @media screen and (max-width: 600px) {
100
- .mapp-pick-modal {
101
  height: 100vh;
102
  max-height: none;
103
  max-width: none;
@@ -109,17 +105,70 @@
109
  },
110
  }
111
 
112
- .mapp-pick-modal .components-modal__content, .mapp-edit-modal .components-modal__content {
113
  display: flex;
114
  flex-direction: column;
115
  }
116
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  /*
118
  -----------------------------------------------------------------------------------
119
- Map Picker
120
  -----------------------------------------------------------------------------------
121
  */
122
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  .mapp-pick-filter {
124
  border-bottom: 1px solid lightgray;
125
  padding: 10px 20px;
@@ -172,8 +221,16 @@
172
  top: 45%;
173
  }
174
 
 
 
 
 
 
 
 
175
  /* If header is placed outside scroll area, headings are offset by scrollbar width */
176
- .mapp-pick-header {
 
177
  background-color: white;
178
  border-bottom: 1px solid lightgray;
179
  display: flex;
@@ -183,47 +240,50 @@
183
  z-index: 1;
184
  }
185
 
186
- .mapp-pick-items {
187
- flex: 1;
188
- overflow: auto;
189
  }
190
 
191
  .mapp-pick-item {
192
- align-items: center;
193
  border-bottom: 1px solid lightgray;
194
- cursor: pointer;
195
  display: flex;
196
- overflow: hidden;
197
- padding: 5px 20px;
198
  text-overflow: ellipsis;
199
  }
200
 
 
 
 
 
 
 
201
  .mapp-pick-item.mapp-selected {
202
  background-color: #f6f6f6;
203
- font-weight: 500;
204
  }
205
 
206
  .mapp-pick-item:hover {
207
  background-color: #f6f6f6;
208
  }
209
 
210
- .mapp-pick-col-map-title, .mapp-pick-col-post-title, .mapp-pick-col-mapid {
 
211
  overflow: hidden;
212
  text-overflow: ellipsis;
213
  white-space: nowrap;
214
  }
215
 
216
- .mapp-pick-col-map-title {
217
- width: 35%;
 
218
  }
219
 
220
- .mapp-pick-col-post-title {
221
- width: 35%;
222
  }
223
 
224
- .mapp-pick-col-post-title a {
225
- font-weight: normal;
226
- text-decoration: none;
227
  }
228
 
229
  .mapp-pick-col-mapid {
@@ -231,26 +291,25 @@
231
  width: 15%;
232
  }
233
 
234
- .mapp-pick-col-actions {
235
- display: flex;
236
- font-weight: normal;
237
- white-space: nowrap;
238
- width: 100px;
239
  }
240
 
241
- .mapp-pick-col-actions button {
242
- background: none;
243
- border: none;
244
- padding: 4px !important;
245
- min-width: auto !important;
246
  }
247
 
248
- .mapp-pick-col-actions .dashicon {
249
- color: inherit;
 
 
250
  }
251
 
252
- .mapp-pick-col-actions .dashicon:hover {
253
- color: #007cba;
254
  }
255
 
256
 
@@ -262,13 +321,54 @@
262
 
263
  .mapp-edit {
264
  display: flex;
 
265
  flex-direction: column;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
266
  flex: 1;
267
  overflow: hidden;
268
  }
269
 
270
- .mapp-edit .mapp-gt {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  flex: 1;
 
272
  }
273
 
274
  .mapp-edit .mapp-layout {
@@ -284,16 +384,6 @@
284
  padding-bottom: 0px;
285
  }
286
 
287
- .mapp-edit-title input {
288
- cursor: pointer;
289
- font-size: 16px !important;
290
- margin-left: -10px;
291
- }
292
-
293
- .mapp-edit-title input:not(:hover) {
294
- border: 1px solid white !important;
295
- }
296
-
297
  .mapp-edit-toolbar {
298
  border-top: 1px solid lightgray;
299
  padding: 5px 20px;
@@ -341,6 +431,11 @@
341
  align-items: baseline;
342
  }
343
 
 
 
 
 
 
344
  /* WP sets different (8px) margin-bottom only on last child in panel row */
345
  .block-editor-block-inspector .mapp-gt-inspector .components-base-control:last-child {
346
  margin-bottom: 24px;
@@ -376,9 +471,10 @@
376
  white-space: nowrap;
377
  }
378
 
379
- .mapp-settings-dims-select {
380
- display: block !important; /* GT tries to set flex */
381
- min-width: 7em; /* WP's custom arrow obscures values */
 
382
  }
383
 
384
  .mapp-settings-dims-custom input {
@@ -389,15 +485,13 @@
389
  margin-bottom: 0;
390
  }
391
 
392
- .mapp-settings-poilist {
393
- white-space: nowrap;
394
  }
395
 
396
- .mapp-settings-poilist .components-radio-control__option {
397
- display: inline-block;
398
- }
399
- .mapp-settings-poilist .components-base-control__label {
400
- display: inline;
401
  }
402
 
403
  .mapp-settings-viewport-status {
@@ -405,6 +499,12 @@
405
  margin-left: 10px;
406
  }
407
 
 
 
 
 
 
 
408
  /*
409
  -----------------------------------------------------------------------------------
410
  Mashup query builder
@@ -465,253 +565,6 @@ button.mapp-query-refresh {
465
  flex: 1;
466
  }
467
 
468
- /*
469
- -----------------------------------------------------------------------------------
470
- Classic (tinyMCE) editor
471
- -----------------------------------------------------------------------------------
472
- */
473
- /*
474
- -----------------------------------------------------------------------------------
475
- Metaboxes
476
- -----------------------------------------------------------------------------------
477
- */
478
- #mappress.postbox h1 {
479
- display: inline-block;
480
- margin-right: 10px;
481
- }
482
-
483
- /*
484
- -----------------------------------------------------------------------------------
485
- Classic map picker
486
- -----------------------------------------------------------------------------------
487
- */
488
-
489
- .mapp-mce {
490
- background-color: white;
491
- display: flex;
492
- flex-direction: column;
493
- height: 100%;
494
- overflow: hidden;
495
- }
496
-
497
- /* Override WP */
498
- .mapp-mce .button {
499
- margin: 0;
500
- }
501
-
502
- .mapp-mce h1 {
503
- font-size: 16px;
504
- margin: 0;
505
- padding: 10px 0;
506
- }
507
-
508
- .mapp-mce .spinner {
509
- visibility: visible;
510
- }
511
-
512
-
513
- .mapp-mce-header {
514
- align-items: center;
515
- border-bottom: 1px solid lightgray;
516
- display: flex;
517
- justify-content: space-between;
518
- padding: 10px 20px;
519
- }
520
-
521
- .mapp-mce-header input.mapp-mce-title {
522
- border: none;
523
- color: #32373c;
524
- cursor: pointer;
525
- font-size: 16px !important;
526
- font-weight: 600;
527
- min-width: 150px !important;
528
- }
529
-
530
- .mapp-mce-header-left {
531
- display: flex;
532
- align-items: center;
533
- }
534
-
535
- .mapp-mce-header-left .button {
536
- margin-left: 10px;
537
- }
538
-
539
- /* Override WP settings */
540
- .mapp-mce-list-panel {
541
- display: none;
542
- }
543
-
544
- .mapp-mce-list-panel.mapp-open {
545
- display: flex;
546
- flex-direction: column;
547
- flex: 1;
548
- overflow: hidden;
549
- }
550
-
551
- .mapp-mce-list {
552
- background-color: white;
553
- flex: 1;
554
- overflow: auto;
555
- }
556
-
557
- .mapp-mce-filter-block {
558
- border-bottom: 1px solid lightgray;
559
- display: flex;
560
- flex-direction: column;
561
- padding: 10px 20px;
562
- }
563
-
564
- .mapp-mce-search-block {
565
- display: flex;
566
- align-items: center;
567
- }
568
-
569
- .mapp-mce-search {
570
- margin-left: 10px;
571
- }
572
-
573
- .mapp-mce-types-block {
574
- align-items: center;
575
- display: flex;
576
- margin-top: 10px;
577
- }
578
-
579
- .mapp-mce-types-block label {
580
- margin-right: 10px;
581
- }
582
-
583
- .mapp-mce .spinner {
584
- display: none;
585
- }
586
-
587
- .mapp-mce-list-header {
588
- background-color: white;
589
- border-bottom: 1px solid lightgray;
590
- display: flex;
591
- padding: 10px 20px;
592
- position: sticky;
593
- top: 0;
594
- z-index: 1;
595
- }
596
-
597
- .mapp-mce-item {
598
- border-bottom: 1px solid lightgray;
599
- cursor: pointer;
600
- display: flex;
601
- overflow: hidden;
602
- padding: 10px 20px;
603
- }
604
-
605
- .mapp-mce-item.mapp-selected {
606
- background-color: #f6f6f6;
607
- font-weight: 600;
608
- }
609
-
610
- .mapp-mce-item:hover {
611
- background-color: #f6f6f6;
612
- }
613
-
614
- .mapp-mce-col-map-title {
615
- overflow: hidden;
616
- text-overflow: ellipsis;
617
- white-space: nowrap;
618
- width: 35%;
619
- }
620
-
621
- .mapp-mce-col-post-title {
622
- overflow: hidden;
623
- text-overflow: ellipsis;
624
- white-space: nowrap;
625
- width: 35%;
626
- }
627
-
628
- .mapp-mce-col-post-title a {
629
- font-weight: normal;
630
- text-decoration: none;
631
- }
632
-
633
- .mapp-mce-col-mapid {
634
- white-space: nowrap;
635
- width: 15%;
636
- }
637
-
638
- .mapp-mce-col-actions {
639
- font-weight: normal;
640
- min-width: 120px;
641
- white-space: nowrap;
642
- width: 15%;
643
- }
644
-
645
- .mapp-mce-col-actions a {
646
- text-decoration: none;
647
- }
648
-
649
- .mapp-mce-list-footer {
650
- text-align: center;
651
- padding: 40px;
652
- }
653
-
654
- /*
655
- -----------------------------------------------------------------------------------
656
- Classic map editor
657
- -----------------------------------------------------------------------------------
658
- */
659
-
660
- .mapp-mce-edit-panel {
661
- display: none;
662
- }
663
-
664
- .mapp-mce-edit-panel.mapp-open {
665
- display: flex;
666
- flex: 1;
667
- flex-direction: column;
668
- }
669
-
670
- .mapp-mce-settings {
671
- align-items: center;
672
- border-bottom: 1px solid lightgray;
673
- display: flex;
674
- flex-wrap: wrap;
675
- justify-content: space-between;
676
- padding: 10px 20px;
677
- }
678
-
679
- .mapp-mce-setting {
680
- align-items: center;
681
- display: flex;
682
- }
683
-
684
- .mapp-mce-label {
685
- width: 65px;
686
- }
687
-
688
- .mapp-mce-custom {
689
- white-space: nowrap;
690
- }
691
-
692
- .mapp-mce-size {
693
- text-decoration: none;
694
- }
695
-
696
- .mapp-mce-width {
697
- margin-left: 5px;
698
- }
699
-
700
- .mapp-mce-toolbar {
701
- align-items: center;
702
- display: flex;
703
- border-top: 1px solid lightgray;
704
- padding: 10px 20px;
705
- }
706
-
707
- .mapp-mce-viewport-block {
708
- flex: 1;
709
- text-align: right;
710
- }
711
-
712
- .mapp-mce-toolbar .button {
713
- margin-right: 10px;
714
- }
715
 
716
  /*
717
  -----------------------------------------------------------------------------------
@@ -719,14 +572,13 @@ button.mapp-query-refresh {
719
  -----------------------------------------------------------------------------------
720
  */
721
 
722
- .mapp-ib-wrapper.mapp-ib-edit {
723
- height: 100%;
724
- max-width: 550px;
725
- width: 100%;
726
  }
727
-
728
  .mapp-ib-wrapper.mapp-ib-edit .mapp-ib {
729
- flex: 1;
730
  }
731
 
732
  .mapp-iw-edit {
@@ -830,7 +682,7 @@ button.mapp-query-refresh {
830
  white-space: nowrap;
831
  }
832
 
833
- .mapp-settings-toolbar-top {
834
  align-items: baseline;
835
  background-color: #f0f0f0;
836
  border-bottom: 1px solid gray;
@@ -838,20 +690,18 @@ button.mapp-query-refresh {
838
  justify-content: space-between;
839
  top: 30px;
840
  padding: 0px 10px 10px 10px;
841
- position: sticky;
842
- z-index: 10000;
843
  }
844
 
845
- .mapp-settings-toolbar-top-header {
846
  display: flex;
847
  align-items: baseline;
848
  }
849
 
850
- .mapp-settings-toolbar-top-header h1 {
851
  margin-right: 10px;
852
  }
853
 
854
- .mapp-settings-toolbar-top-links a {
855
  margin: 0 5px;
856
  }
857
 
@@ -861,6 +711,7 @@ button.mapp-query-refresh {
861
  bottom: 0;
862
  padding: 10px;
863
  position: sticky;
 
864
  }
865
 
866
  /* Hidden submit buttons to use as form default */
@@ -950,6 +801,8 @@ a.mapp-check-account {
950
  text-decoration: none;
951
  }
952
 
 
 
953
  /*
954
  -----------------------------------------------------------------------------------
955
  Multiselect
@@ -1197,7 +1050,7 @@ ul.mapp-icon-editor-list {
1197
  background-color: #fafafa;
1198
  }
1199
 
1200
- .mapp-icon-editor-list span {
1201
  border-bottom: 1px solid lightgray;
1202
  display: table-cell;
1203
  overflow: hidden;
@@ -1217,11 +1070,6 @@ ul.mapp-icon-editor-list {
1217
  color: black;
1218
  }
1219
 
1220
- .mapp-icon-editor .spinner {
1221
- float: none;
1222
- visibility: visible;
1223
- }
1224
-
1225
  .mapp-icon-editor-msg {
1226
  margin-top: 50px;
1227
  text-align: center;
@@ -1264,67 +1112,6 @@ ul.mapp-icon-editor-list {
1264
  display: block;
1265
  }
1266
 
1267
- /*
1268
- -----------------------------------------------------------------------------------
1269
- Popup
1270
- -----------------------------------------------------------------------------------
1271
- */
1272
-
1273
- /* Keep autocomplete above */
1274
- .pac-container {
1275
- z-index: 100002;
1276
- }
1277
-
1278
- .mapp-popup {
1279
- background-color: white;
1280
- border: 1px solid lightgray;
1281
- box-shadow: 5px 5px 10px #888;
1282
- box-sizing: content-box;
1283
- display: inline-block;
1284
- z-index: 100005; /* Keep above popup-max */
1285
- }
1286
-
1287
- /* Center modals */
1288
- .mapp-popup-modal {
1289
- position: fixed;
1290
- left: 50%;
1291
- top: 50%;
1292
- transform: translate(-50%, -50%);
1293
- z-index: 100002;
1294
- }
1295
-
1296
- .mapp-popup-max {
1297
- left: 5%;
1298
- right: 5%;
1299
- top: 5%;
1300
- bottom: 5%;
1301
- transform: none;
1302
- }
1303
-
1304
- @media only screen and (max-width: 600px) {
1305
- .mapp-popup-max {
1306
- left: 0;
1307
- right: 0;
1308
- top: 0;
1309
- bottom: 0;
1310
- }
1311
- }
1312
-
1313
- /* Prevent scrollbars on body when popup is open */
1314
- body.mapp-popup-noscroll {
1315
- overflow: hidden;
1316
- }
1317
-
1318
- .mapp-popup-backdrop {
1319
- background-color: black;
1320
- display: none;
1321
- opacity: 0.8;
1322
- position: fixed;
1323
- top: 0; right: 0; bottom: 0; left : 0;
1324
- user-select: none;
1325
- z-index: 100000; /* WP adminbar is 99999 */
1326
- }
1327
-
1328
  /*
1329
  -----------------------------------------------------------------------------------
1330
  Icon Picker
@@ -1439,4 +1226,74 @@ span.mapp-colorpicker-toggle {
1439
  .mapp-review-options a:last-of-type {
1440
  color: #dc3232;
1441
  margin-left: 10px !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1442
  }
1
 
2
  /*
3
  -----------------------------------------------------------------------------------
4
+ Map block
5
  -----------------------------------------------------------------------------------
6
  */
7
  .mapp-gt .mapp-layout {
34
  Map library
35
  -----------------------------------------------------------------------------------
36
  */
 
 
 
 
 
 
 
 
 
37
 
38
+ .mapp-library {
39
+ border: 1px solid gray;
40
+ display: flex;
41
+ height: calc(100vh - 125px);
42
+ margin-right: 20px;
43
+ margin-top: 20px;
 
 
44
  }
45
 
46
  /* Hide the wp_editor instance used to load the editor scripts */
48
  display: none;
49
  }
50
 
51
+ /*
52
+ -----------------------------------------------------------------------------------
53
+ Map MCE
54
+ -----------------------------------------------------------------------------------
55
+ */
56
+
57
+ .mapp-mce {
58
+ display: inline;
59
+ }
60
+
61
  /*
62
  -----------------------------------------------------------------------------------
63
  Picker / Editor Modal
64
  -----------------------------------------------------------------------------------
65
  */
66
 
67
+ .mapp-gt-modal {
68
+ max-height: none;
69
+ max-width: none;
70
+ height: 90vh;
71
+ width: 90vw;
72
+ }
73
 
74
+ /* Box sizing is set in GT but not in MCE, so force it here */
75
+ .mapp-gt-modal *, .mapp-gt-modal :before, .mapp-gt-modal :after {
76
+ box-sizing: border-box;
77
+ }
78
+
79
+ .mapp-gt-modal .components-modal__header {
80
  margin: 0;
81
  padding: 10px 20px;
82
  }
83
 
84
+ .mapp-gt-modal .components-modal__content {
85
  background-color: white;
86
  font-size: 13px;
87
  padding: 0;
88
  }
89
 
90
  /* Override WP settings */
91
+ .mapp-gt-modal a {
92
  text-decoration: none;
93
  }
94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  @media screen and (max-width: 600px) {
96
+ .mapp-gt-modal {
97
  height: 100vh;
98
  max-height: none;
99
  max-width: none;
105
  },
106
  }
107
 
108
+ .mapp-gt-modal .components-modal__content {
109
  display: flex;
110
  flex-direction: column;
111
  }
112
 
113
+ /* Custom titles */
114
+ .mapp-gt-modal .components-modal__header { display: none; }
115
+
116
+ .mapp-gt-modal-header {
117
+ border-bottom: 1px solid lightgray;
118
+ display: flex;
119
+ height: 60px;
120
+ justify-content: space-between;
121
+ padding: 10px 20px;
122
+ }
123
+
124
+ .mapp-gt-modal-header h1 {
125
+ font-size: 16px;
126
+ }
127
+
128
+ .mapp-gt-modal-header button {
129
+ margin-left: 20px;
130
+ }
131
+
132
+ .mapp-gt-modal-header-title {
133
+ display: flex;
134
+ align-items: center;
135
+ }
136
+
137
+
138
  /*
139
  -----------------------------------------------------------------------------------
140
+ Map picker
141
  -----------------------------------------------------------------------------------
142
  */
143
 
144
+ /* Fill container when displayed in library */
145
+ .mapp-library .mapp-pick {
146
+ display: flex;
147
+ flex: 1;
148
+ position: relative;
149
+ }
150
+
151
+ /* Toggling */
152
+ .mapp-list-panel, .mapp-edit-panel {
153
+ background-color: white;
154
+ display: flex;
155
+ flex-direction: column;
156
+ flex: 1;
157
+ overflow: hidden;
158
+ }
159
+
160
+ .mapp-edit-panel .components-spinner {
161
+ position: relative;
162
+ top: 50%; left: 50%;
163
+ transform: translateX(-50%) translateY(-50%);
164
+ }
165
+
166
+ /* In modal (not in library) hide list when editing */
167
+ .mapp-gt-modal.mapp-mode-edit .mapp-list-panel {
168
+ flex: 0;
169
+ height: 0px;
170
+ }
171
+
172
  .mapp-pick-filter {
173
  border-bottom: 1px solid lightgray;
174
  padding: 10px 20px;
221
  top: 45%;
222
  }
223
 
224
+ .mapp-pick-items {
225
+ display: flex;
226
+ flex: 1;
227
+ flex-direction: column;
228
+ overflow: auto;
229
+ }
230
+
231
  /* If header is placed outside scroll area, headings are offset by scrollbar width */
232
+ .mapp-pick-items-header {
233
+ align-items: center;
234
  background-color: white;
235
  border-bottom: 1px solid lightgray;
236
  display: flex;
240
  z-index: 1;
241
  }
242
 
243
+ .mapp-pick-items-header a {
244
+ box-shadow: none;
245
+ text-decoration: none;
246
  }
247
 
248
  .mapp-pick-item {
249
+ align-items: stretch; /* Make map title fill its whole column so it's easier to click */
250
  border-bottom: 1px solid lightgray;
 
251
  display: flex;
252
+ padding: 10px 20px;
 
253
  text-overflow: ellipsis;
254
  }
255
 
256
+ .mapp-pick-item a {
257
+ box-shadow: none;
258
+ text-decoration: none;
259
+ }
260
+
261
+
262
  .mapp-pick-item.mapp-selected {
263
  background-color: #f6f6f6;
 
264
  }
265
 
266
  .mapp-pick-item:hover {
267
  background-color: #f6f6f6;
268
  }
269
 
270
+ .mapp-pick-col-map_title, .mapp-pick-col-post_title, .mapp-pick-col-mapid {
271
+ cursor: pointer;
272
  overflow: hidden;
273
  text-overflow: ellipsis;
274
  white-space: nowrap;
275
  }
276
 
277
+ .mapp-pick-col-map_title {
278
+ cursor: pointer;
279
+ flex: 1;
280
  }
281
 
282
+ .mapp-pick-col-map_title {
 
283
  }
284
 
285
+ .mapp-pick-col-post_title {
286
+ width: 25%;
 
287
  }
288
 
289
  .mapp-pick-col-mapid {
291
  width: 15%;
292
  }
293
 
294
+ .mapp-pick-actions {
295
+ margin-top: 5px;
 
 
 
296
  }
297
 
298
+ .mapp-pick-actions a:not(:last-child):after {
299
+ color: gray;
300
+ content: "|";
301
+ margin-left: 5px;
302
+ margin-right: 5px;
303
  }
304
 
305
+ .mapp-pick-toolbar {
306
+ border-top: 1px solid lightgray;
307
+ padding: 5px 20px;
308
+ white-space: nowrap;
309
  }
310
 
311
+ .mapp-pick-toolbar button {
312
+ margin-right: 10px;
313
  }
314
 
315
 
321
 
322
  .mapp-edit {
323
  display: flex;
324
+ flex: 1;
325
  flex-direction: column;
326
+ overflow: hidden;
327
+ }
328
+
329
+ .mapp-edit-title input {
330
+ cursor: pointer;
331
+ font-size: 16px !important;
332
+ font-weight: 600;
333
+ margin-left: -10px;
334
+ }
335
+
336
+ .mapp-edit-title input:not(:hover) {
337
+ border: 1px solid white !important;
338
+ }
339
+
340
+ .mapp-edit-main {
341
+ display: flex;
342
  flex: 1;
343
  overflow: hidden;
344
  }
345
 
346
+
347
+ /* It's not possible to re-use all of the frontend CSS because it depends on classes at .mapp-layout level */
348
+ .mapp-edit-list {
349
+ background-color: white;
350
+ border-right: 1px solid lightgray;
351
+ display: flex;
352
+ flex-direction: column;
353
+ position: relative; /* Needed to scroll list for selection */
354
+ transition-property : all;
355
+ transition-duration: .1s;
356
+ width: 0;
357
+ }
358
+
359
+ .mapp-edit-list.mapp-list-open {
360
+ width: 250px;
361
+ }
362
+
363
+ .mapp-edit-list .mapp-item.mapp-edit-dragover {
364
+ border-top: 1px solid black;
365
+ }
366
+
367
+ .mapp-edit-map {
368
+ display: flex;
369
+ flex-direction: column;
370
  flex: 1;
371
+ overflow: hidden;
372
  }
373
 
374
  .mapp-edit .mapp-layout {
384
  padding-bottom: 0px;
385
  }
386
 
 
 
 
 
 
 
 
 
 
 
387
  .mapp-edit-toolbar {
388
  border-top: 1px solid lightgray;
389
  padding: 5px 20px;
431
  align-items: baseline;
432
  }
433
 
434
+ /* WP adds 8px left margin on select controls */
435
+ .mapp-gt-inspector .components-input-control__container {
436
+ margin-left: 0px !important;
437
+ }
438
+
439
  /* WP sets different (8px) margin-bottom only on last child in panel row */
440
  .block-editor-block-inspector .mapp-gt-inspector .components-base-control:last-child {
441
  margin-bottom: 24px;
471
  white-space: nowrap;
472
  }
473
 
474
+ /* GT tries to set flex on selects, and custom arrow obscures values */
475
+ .mapp-settings-dims-select, .mapp-settings-type {
476
+ display: block !important;
477
+ min-width: 7em;
478
  }
479
 
480
  .mapp-settings-dims-custom input {
485
  margin-bottom: 0;
486
  }
487
 
488
+ .mapp-settings-viewport {
489
+ margin-top: 5px;
490
  }
491
 
492
+ .mapp-settings-viewport .components-button-group {
493
+ display: block;
494
+ margin-top: 8px;
 
 
495
  }
496
 
497
  .mapp-settings-viewport-status {
499
  margin-left: 10px;
500
  }
501
 
502
+ /* Settings shown in poi list */
503
+ .mapp-list-settings {
504
+ border-bottom: 1px solid lightgray;
505
+ }
506
+
507
+
508
  /*
509
  -----------------------------------------------------------------------------------
510
  Mashup query builder
565
  flex: 1;
566
  }
567
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
568
 
569
  /*
570
  -----------------------------------------------------------------------------------
572
  -----------------------------------------------------------------------------------
573
  */
574
 
575
+ /* Go for a large dialog, IB will restrict as needed */
576
+ .mapp-ib-wrapper.mapp-ib-edit .mapp-ib-content {
577
+ width: 600px;
578
+ height: 400px;
579
  }
 
580
  .mapp-ib-wrapper.mapp-ib-edit .mapp-ib {
581
+ height: 100%;
582
  }
583
 
584
  .mapp-iw-edit {
682
  white-space: nowrap;
683
  }
684
 
685
+ .mapp-settings-header {
686
  align-items: baseline;
687
  background-color: #f0f0f0;
688
  border-bottom: 1px solid gray;
690
  justify-content: space-between;
691
  top: 30px;
692
  padding: 0px 10px 10px 10px;
 
 
693
  }
694
 
695
+ .mapp-settings-header-version {
696
  display: flex;
697
  align-items: baseline;
698
  }
699
 
700
+ .mapp-settings-header-version h1 {
701
  margin-right: 10px;
702
  }
703
 
704
+ .mapp-settings-header-links a {
705
  margin: 0 5px;
706
  }
707
 
711
  bottom: 0;
712
  padding: 10px;
713
  position: sticky;
714
+ z-index: 1000;
715
  }
716
 
717
  /* Hidden submit buttons to use as form default */
801
  text-decoration: none;
802
  }
803
 
804
+
805
+
806
  /*
807
  -----------------------------------------------------------------------------------
808
  Multiselect
1050
  background-color: #fafafa;
1051
  }
1052
 
1053
+ .mapp-icon-editor-list li > span {
1054
  border-bottom: 1px solid lightgray;
1055
  display: table-cell;
1056
  overflow: hidden;
1070
  color: black;
1071
  }
1072
 
 
 
 
 
 
1073
  .mapp-icon-editor-msg {
1074
  margin-top: 50px;
1075
  text-align: center;
1112
  display: block;
1113
  }
1114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1115
  /*
1116
  -----------------------------------------------------------------------------------
1117
  Icon Picker
1226
  .mapp-review-options a:last-of-type {
1227
  color: #dc3232;
1228
  margin-left: 10px !important;
1229
+ }
1230
+
1231
+ /*
1232
+ -----------------------------------------------------------------------------------
1233
+ Popup
1234
+ -----------------------------------------------------------------------------------
1235
+ */
1236
+
1237
+ .mapp-popup {
1238
+ background-color: white;
1239
+ border: 1px solid lightgray;
1240
+ box-shadow: 5px 5px 10px #888;
1241
+ box-sizing: content-box;
1242
+ display: inline-block;
1243
+ max-height: 100vh;
1244
+ max-width: 100vw;
1245
+ overflow: hidden;
1246
+ position: fixed;
1247
+ top: 50%; left: 50%;
1248
+ transform: translate(-50%, -50%);
1249
+ z-index: 100002;
1250
+ }
1251
+
1252
+ .mapp-popup-max {
1253
+ height: 90vh;
1254
+ width: 90vw;
1255
+ }
1256
+
1257
+ @media only screen and (max-width: 600px) {
1258
+ .mapp-popup-max {
1259
+ left: 0;
1260
+ right: 0;
1261
+ top: 0;
1262
+ bottom: 0;
1263
+ }
1264
+ }
1265
+
1266
+ /* Prevent scrollbars on body when popup is open */
1267
+ body.mapp-popup-noscroll {
1268
+ overflow: hidden;
1269
+ }
1270
+
1271
+ .mapp-popup-backdrop {
1272
+ background-color: black;
1273
+ display: none;
1274
+ opacity: 0.8;
1275
+ position: fixed;
1276
+ top: 0; right: 0; bottom: 0; left : 0;
1277
+ user-select: none;
1278
+ z-index: 100000; /* WP adminbar is 99999 */
1279
+ }
1280
+
1281
+ /*
1282
+ -----------------------------------------------------------------------------------
1283
+ Iframe
1284
+ -----------------------------------------------------------------------------------
1285
+ */
1286
+
1287
+
1288
+ .mapp-iframe {
1289
+ background: none transparent;
1290
+ height: 100%;
1291
+ position: fixed;
1292
+ top: 0; right: 0; bottom: 0; left: 0;
1293
+ width: 100%;
1294
+ z-index: 100000;
1295
+ }
1296
+
1297
+ .mapp-iframe-html body {
1298
+ background: none transparent;
1299
  }
images/get-directions.png ADDED
Binary file
images/spinner-2x.gif ADDED
Binary file
images/spinner.gif ADDED
Binary file
languages/mappress-google-maps-for-wordpress.pot CHANGED
@@ -1,15 +1,15 @@
1
- # Copyright (C) 2020 Chris Richardson
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.58\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: 2020-12-19T03:53:19+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
 
@@ -33,154 +33,159 @@ msgstr ""
33
  msgid "https://www.mappresspro.com/chris-contact"
34
  msgstr ""
35
 
36
- #: mappress.php:171
37
- #: mappress.php:690
38
  msgid "Settings"
39
  msgstr ""
40
 
41
- #: mappress.php:172
42
  msgid "Map Library"
43
  msgstr ""
44
 
45
- #: mappress.php:183
46
  msgid "MapPress database tables are missing. Please deactivate the plugin and activate it again to fix this."
47
  msgstr ""
48
 
49
- #: mappress.php:188
50
  msgid "A Google Maps API key is required"
51
  msgstr ""
52
 
53
- #: mappress.php:188
54
  msgid "Please update your"
55
  msgstr ""
56
 
57
- #: mappress.php:188
58
  msgid "MapPress Settings"
59
  msgstr ""
60
 
61
- #: mappress.php:280
62
  msgid "OK, you deserve it!"
63
  msgstr ""
64
 
65
- #: mappress.php:281
66
  msgid "Nope, maybe later"
67
  msgstr ""
68
 
69
- #: mappress.php:282
70
- msgid "I neeed some help"
71
  msgstr ""
72
 
73
- #: mappress.php:284
74
  msgid "Please Help Spread the Word"
75
  msgstr ""
76
 
77
- #: mappress.php:285
78
  msgid "If you're enjoying MapPress, would you mind taking a moment to write a brief review? It would mean the world to me!"
79
  msgstr ""
80
 
81
- #: mappress.php:286
82
  msgid "If you have any issues or suggestions, please let me know. I'll be happy to help!"
83
  msgstr ""
84
 
85
- #: mappress.php:462
86
- msgid "Please enter your MapPress license key to enable plugin updates"
87
  msgstr ""
88
 
89
- #: mappress.php:466
90
- msgid "MapPress Gutenberg blocks require WordPress 5.3 or the latest Gutenberg Plugin. Please update if using the block editor."
 
 
 
 
91
  msgstr ""
92
 
93
- #: mappress.php:470
94
- msgid "MapPress has many new features! Please take a moment to learn %s."
95
  msgstr ""
96
 
97
- #: mappress.php:470
98
- msgid "what's new"
99
  msgstr ""
100
 
101
- #: mappress.php:476
102
- msgid "The MapPress map editor has moved!"
 
103
  msgstr ""
104
 
105
- #: mappress.php:477
106
- msgid "Use this button to open the new popup editor where you can easily create, edit and insert maps."
107
  msgstr ""
108
 
109
- #: mappress.php:523
110
  msgid "Are you sure you want to delete?"
111
  msgstr ""
112
 
113
- #: mappress.php:524
114
  msgid "Permanently delete this map from the map library?"
115
  msgstr ""
116
 
117
- #: mappress.php:525
118
  msgid "Error reading KML file"
119
  msgstr ""
120
 
121
- #: mappress.php:526
122
  msgid "URL for KML file"
123
  msgstr ""
124
 
125
- #: mappress.php:527
126
  msgid "Loading"
127
  msgstr ""
128
 
129
- #: mappress.php:528
130
- msgid "Please select a classic editor block to insert into."
131
  msgstr ""
132
 
133
- #: mappress.php:529
134
  msgid "Unable to get your location"
135
  msgstr ""
136
 
137
- #: mappress.php:530
138
  msgid "No results"
139
  msgstr ""
140
 
141
- #: mappress.php:531
142
  msgid "Save changes?"
143
  msgstr ""
144
 
145
- #: mappress.php:532
146
  msgid "Shape"
147
  msgstr ""
148
 
149
- #: mappress.php:561
150
  msgid "Improve this map"
151
  msgstr ""
152
 
153
- #: mappress.php:577
154
- #: mappress.php:596
155
  msgid "Streets"
156
  msgstr ""
157
 
158
- #: mappress.php:578
159
  msgid "Outdoors"
160
  msgstr ""
161
 
162
- #: mappress.php:579
163
  msgid "Light"
164
  msgstr ""
165
 
166
- #: mappress.php:580
167
  msgid "Dark"
168
  msgstr ""
169
 
170
- #: mappress.php:581
171
  msgid "Satellite"
172
  msgstr ""
173
 
174
- #: mappress.php:582
175
  msgid "Satellite Streets"
176
  msgstr ""
177
 
178
- #: mappress.php:691
179
- #: mappress_settings.php:335
180
  msgid "What's new"
181
  msgstr ""
182
 
183
- #: mappress.php:922
184
  msgid "Version"
185
  msgstr ""
186
 
@@ -190,327 +195,333 @@ msgid "Add"
190
  msgstr ""
191
 
192
  #: mappress_controls.php:102
193
- #: templates_admin/editor.php:47
194
- #: templates_admin/mce.php:98
195
  #: templates_admin/widgets.php:94
196
  msgid "Delete"
197
  msgstr ""
198
 
199
  #: mappress_map.php:86
200
- #: mappress_settings.php:330
201
  msgid "MapPress"
202
  msgstr ""
203
 
204
- #: mappress_map.php:95
205
- #: templates_admin/mce.php:29
206
- #: templates_admin/mce.php:78
207
- #: templates_admin/mce.php:84
208
  msgid "Untitled"
209
  msgstr ""
210
 
211
- #: mappress_map.php:96
212
  msgid "Copy of %s"
213
  msgstr ""
214
 
215
- #: mappress_map.php:200
216
  msgid "Map not found"
217
  msgstr ""
218
 
219
- #: mappress_settings.php:87
 
 
 
 
220
  msgid "Sample Map"
221
  msgstr ""
222
 
223
- #: mappress_settings.php:89
224
  msgid "Basic Settings"
225
  msgstr ""
226
 
227
- #: mappress_settings.php:90
228
  msgid "Mapping API"
229
  msgstr ""
230
 
231
- #: mappress_settings.php:93
232
  msgid "Google API key"
233
  msgstr ""
234
 
235
- #: mappress_settings.php:96
236
  msgid "Mapbox access token"
237
  msgstr ""
238
 
239
- #: mappress_settings.php:100
240
  msgid "License"
241
  msgstr ""
242
 
243
- #: mappress_settings.php:102
244
  msgid "Map Settings"
245
  msgstr ""
246
 
247
- #: mappress_settings.php:103
248
  msgid "Post types"
249
  msgstr ""
250
 
251
- #: mappress_settings.php:104
252
  msgid "Automatic display"
253
  msgstr ""
254
 
255
- #: mappress_settings.php:105
256
  msgid "Map alignment"
257
  msgstr ""
258
 
259
- #: mappress_settings.php:106
260
- #: templates/map-popup.php:3
261
- #: templates/mashup-popup.php:6
262
  msgid "Directions"
263
  msgstr ""
264
 
265
- #: mappress_settings.php:109
266
  msgid "POI Settings"
267
  msgstr ""
268
 
269
- #: mappress_settings.php:110
270
  msgid "Default zoom"
271
  msgstr ""
272
 
273
- #: mappress_settings.php:111
274
- #: mappress_settings.php:240
275
- msgid "Open first POI"
276
  msgstr ""
277
 
278
  #: mappress_settings.php:115
 
 
 
 
 
279
  msgid "Mashups"
280
  msgstr ""
281
 
282
- #: mappress_settings.php:116
283
  msgid "Icons"
284
  msgstr ""
285
 
286
- #: mappress_settings.php:117
287
  msgid "Styled Maps"
288
  msgstr ""
289
 
290
- #: mappress_settings.php:118
291
  msgid "Geocoding"
292
  msgstr ""
293
 
294
- #: mappress_settings.php:119
295
  msgid "Templates"
296
  msgstr ""
297
 
298
- #: mappress_settings.php:122
299
  msgid "Localization"
300
  msgstr ""
301
 
302
- #: mappress_settings.php:123
303
  msgid "Search language"
304
  msgstr ""
305
 
306
- #: mappress_settings.php:124
307
  msgid "Search country"
308
  msgstr ""
309
 
310
- #: mappress_settings.php:125
311
  msgid "Directions server"
312
  msgstr ""
313
 
314
- #: mappress_settings.php:127
315
  msgid "Miscellaneous"
316
  msgstr ""
317
 
318
- #: mappress_settings.php:128
319
  msgid "Map sizes"
320
  msgstr ""
321
 
322
- #: mappress_settings.php:129
323
  msgid "Scripts"
324
  msgstr ""
325
 
326
- #: mappress_settings.php:133
327
  msgid "Compatiblity"
328
  msgstr ""
329
 
330
- #: mappress_settings.php:177
331
- #: mappress_settings.php:246
332
- #: pro/mappress_pro_settings.php:233
333
  #: templates_admin/widgets.php:78
334
  msgid "Default"
335
  msgstr ""
336
 
337
- #: mappress_settings.php:178
338
  msgid "Center"
339
  msgstr ""
340
 
341
- #: mappress_settings.php:179
 
342
  msgid "Left"
343
  msgstr ""
344
 
345
- #: mappress_settings.php:180
 
346
  msgid "Right"
347
  msgstr ""
348
 
349
- #: mappress_settings.php:192
 
350
  msgid "None"
351
  msgstr ""
352
 
353
- #: mappress_settings.php:193
354
  msgid "Top of post"
355
  msgstr ""
356
 
357
- #: mappress_settings.php:194
358
  msgid "Bottom of post"
359
  msgstr ""
360
 
361
- #: mappress_settings.php:201
362
- #: mappress_settings.php:245
363
  msgid "(list)"
364
  msgstr ""
365
 
366
- #: mappress_settings.php:206
367
  msgid "Country code for searches"
368
  msgstr ""
369
 
370
- #: mappress_settings.php:210
371
  msgid "Prevent other plugins/themes from loading the Google Maps API"
372
  msgstr ""
373
 
374
- #: mappress_settings.php:214
375
- #: mappress_settings.php:223
376
- #: pro/mappress_pro_settings.php:231
377
  msgid "Google"
378
  msgstr ""
379
 
380
- #: mappress_settings.php:214
381
  msgid "Inline"
382
  msgstr ""
383
 
384
- #: mappress_settings.php:223
385
  msgid "Leaflet"
386
  msgstr ""
387
 
388
- #: mappress_settings.php:225
389
  msgid "Leaflet is free and requires no API key. Google requires an API key and has strict usage limits."
390
  msgstr ""
391
 
392
- #: mappress_settings.php:231
393
  #: mappress_settings.php:234
 
394
  msgid "Output scripts in footer"
395
  msgstr ""
396
 
397
- #: mappress_settings.php:232
398
  msgid "Disabled because Jetpack Infinite Scroll is active"
399
  msgstr ""
400
 
401
- #: mappress_settings.php:235
402
  msgid "disable if maps are output using AJAX"
403
  msgstr ""
404
 
405
- #: mappress_settings.php:248
406
  msgid "Language for searches and Google map controls"
407
  msgstr ""
408
 
409
- #: mappress_settings.php:252
410
- msgid "Enter token to use Mapbox map tiles"
411
  msgstr ""
412
 
413
- #: mappress_settings.php:259
414
- #: mappress_settings.php:264
415
  msgid "Map type control"
416
  msgstr ""
417
 
418
- #: mappress_settings.php:260
419
  msgid "Street view control"
420
  msgstr ""
421
 
422
- #: mappress_settings.php:261
423
- #: mappress_settings.php:265
424
  msgid "Zoom control"
425
  msgstr ""
426
 
427
- #: mappress_settings.php:280
428
  msgid "Default zoom when displaying a single POI"
429
  msgstr ""
430
 
431
- #: mappress_settings.php:293
432
  msgid "Easy Google Maps"
433
  msgstr ""
434
 
435
- #: mappress_settings.php:301
436
  msgid "Width (px, %, vh, vw)"
437
  msgstr ""
438
 
439
- #: mappress_settings.php:301
440
  msgid "Height (px, %, vh, vw)"
441
  msgstr ""
442
 
443
- #: mappress_settings.php:301
444
  msgid "Default size"
445
  msgstr ""
446
 
447
- #: mappress_settings.php:316
448
- msgid "Show a tooltip when mouse is over a POI"
449
  msgstr ""
450
 
451
- #: mappress_settings.php:321
452
  msgid "Copy maps when overwriting a translation"
453
  msgstr ""
454
 
455
- #: mappress_settings.php:334
456
  msgid "Get help"
457
  msgstr ""
458
 
459
- #: mappress_settings.php:337
460
  msgid "Your account"
461
  msgstr ""
462
 
463
- #: mappress_settings.php:339
464
  msgid "Upgrade to MapPress Pro"
465
  msgstr ""
466
 
467
- #: mappress_settings.php:346
468
- #: mappress_settings.php:354
469
  msgid "Save Changes"
470
  msgstr ""
471
 
472
- #: mappress_settings.php:347
473
- #: mappress_settings.php:355
474
  msgid "Reset Defaults"
475
  msgstr ""
476
 
477
- #: mappress_template.php:34
478
  msgid "Address"
479
  msgstr ""
480
 
481
- #: mappress_template.php:35
482
- #: pro/mappress_pro_settings.php:337
483
  msgid "Body"
484
  msgstr ""
485
 
486
- #: mappress_template.php:36
487
- #: pro/mappress_pro_settings.php:173
488
- #: pro/mappress_pro_settings.php:337
 
489
  msgid "Icon"
490
  msgstr ""
491
 
492
- #: mappress_template.php:37
493
  msgid "Thumbnail"
494
  msgstr ""
495
 
496
- #: mappress_template.php:38
497
- #: pro/mappress_pro_settings.php:337
498
  msgid "Title"
499
  msgstr ""
500
 
501
- #: mappress_template.php:39
502
  msgid "Url"
503
  msgstr ""
504
 
505
- #: mappress_template.php:40
506
  #: pro/mappress_filter.php:120
507
- #: pro/mappress_pro_settings.php:342
508
  msgid "Custom Field"
509
  msgstr ""
510
 
511
  #: pro/mappress_filter.php:84
512
  #: pro/mappress_filter.php:133
513
- #: pro/mappress_pro_settings.php:166
514
  msgid "Post type"
515
  msgstr ""
516
 
@@ -610,42 +621,37 @@ msgid "Custom icons"
610
  msgstr ""
611
 
612
  #: pro/mappress_pro_settings.php:34
613
- msgid "Icon scaling"
614
  msgstr ""
615
 
616
- #: pro/mappress_pro_settings.php:35
617
- msgid "Automatic icons"
618
  msgstr ""
619
 
620
  #: pro/mappress_pro_settings.php:37
621
- #: templates/map.php:49
622
- #: templates_admin/mce.php:12
623
- msgid "Search"
624
  msgstr ""
625
 
626
  #: pro/mappress_pro_settings.php:39
627
- #: templates/map.php:56
628
- msgid "Filter"
629
- msgstr ""
630
-
631
- #: pro/mappress_pro_settings.php:40
632
- msgid "POI content"
633
  msgstr ""
634
 
635
  #: pro/mappress_pro_settings.php:41
636
- msgid "POI click"
 
637
  msgstr ""
638
 
639
  #: pro/mappress_pro_settings.php:42
640
- msgid "KMLs"
641
  msgstr ""
642
 
643
  #: pro/mappress_pro_settings.php:43
644
- msgid "Thumbnails"
645
  msgstr ""
646
 
647
  #: pro/mappress_pro_settings.php:44
648
- msgid "Thumbnail size"
649
  msgstr ""
650
 
651
  #: pro/mappress_pro_settings.php:47
@@ -678,219 +684,243 @@ msgid "Custom templates"
678
  msgstr ""
679
 
680
  #: pro/mappress_pro_settings.php:61
681
- #: pro/mappress_pro_settings.php:226
 
 
 
 
 
 
 
 
 
 
 
 
682
  msgid "Force resize"
683
  msgstr ""
684
 
685
- #: pro/mappress_pro_settings.php:153
686
  msgid "more info"
687
  msgstr ""
688
 
689
- #: pro/mappress_pro_settings.php:154
690
  msgid "API key secured by IP address for geocoding (optional)"
691
  msgstr ""
692
 
693
- #: pro/mappress_pro_settings.php:173
694
  msgid "Value"
695
  msgstr ""
696
 
697
- #: pro/mappress_pro_settings.php:188
698
  msgid "Enable updates for beta versions"
699
  msgstr ""
700
 
701
- #: pro/mappress_pro_settings.php:192
702
  msgid "Enable marker clustering"
703
  msgstr ""
704
 
705
- #: pro/mappress_pro_settings.php:201
706
  msgid "Checkboxes"
707
  msgstr ""
708
 
709
- #: pro/mappress_pro_settings.php:201
710
  msgid "Select"
711
  msgstr ""
712
 
713
- #: pro/mappress_pro_settings.php:208
714
  msgid "Key"
715
  msgstr ""
716
 
717
- #: pro/mappress_pro_settings.php:208
718
  msgid "Format"
719
  msgstr ""
720
 
721
- #: pro/mappress_pro_settings.php:223
722
  msgid "Permanently resize existing maps (classic editor only)"
723
  msgstr ""
724
 
725
- #: pro/mappress_pro_settings.php:225
726
  msgid "from %s to %s"
727
  msgstr ""
728
 
729
- #: pro/mappress_pro_settings.php:233
730
  msgid "Algolia"
731
  msgstr ""
732
 
733
- #: pro/mappress_pro_settings.php:234
734
  msgid "Nominatim"
735
  msgstr ""
736
 
737
- #: pro/mappress_pro_settings.php:235
738
  msgid "MapBox"
739
  msgstr ""
740
 
741
  #: pro/mappress_pro_settings.php:245
 
 
 
 
742
  #: templates_admin/widgets.php:68
743
  msgid "Edit"
744
  msgstr ""
745
 
746
- #: pro/mappress_pro_settings.php:259
747
  msgid "Standard"
748
  msgstr ""
749
 
750
- #: pro/mappress_pro_settings.php:260
751
  msgid "InfoBox"
752
  msgstr ""
753
 
754
- #: pro/mappress_pro_settings.php:267
755
  msgid "Left of map"
756
  msgstr ""
757
 
758
- #: pro/mappress_pro_settings.php:268
759
  msgid "Below map"
760
  msgstr ""
761
 
762
- #: pro/mappress_pro_settings.php:274
763
  msgid "Get license"
764
  msgstr ""
765
 
766
- #: pro/mappress_pro_settings.php:275
767
  msgid "Enter license to enable automatic updates"
768
  msgstr ""
769
 
770
- #: pro/mappress_pro_settings.php:288
771
  msgid "Active"
772
  msgstr ""
773
 
774
- #: pro/mappress_pro_settings.php:293
775
  msgid "Check now"
776
  msgstr ""
777
 
778
- #: pro/mappress_pro_settings.php:298
779
  #: pro/mappress_updater.php:116
780
  msgid "Communication error, please try again later"
781
  msgstr ""
782
 
783
- #: pro/mappress_pro_settings.php:300
784
  msgid "License is invalid or expired"
785
  msgstr ""
786
 
787
- #: pro/mappress_pro_settings.php:304
788
  msgid "POI title + POI body"
789
  msgstr ""
790
 
791
- #: pro/mappress_pro_settings.php:304
792
  msgid "Post title + post excerpt"
793
  msgstr ""
794
 
795
- #: pro/mappress_pro_settings.php:309
796
- msgid "Open POI"
797
  msgstr ""
798
 
799
- #: pro/mappress_pro_settings.php:309
800
  msgid "Open post"
801
  msgstr ""
802
 
803
- #: pro/mappress_pro_settings.php:309
804
- msgid "Open post in new tab"
805
  msgstr ""
806
 
807
- #: pro/mappress_pro_settings.php:314
808
  msgid "Include KML POIs in mashups"
809
  msgstr ""
810
 
811
- #: pro/mappress_pro_settings.php:326
812
  msgid "%d Errors"
813
  msgstr ""
814
 
815
- #: pro/mappress_pro_settings.php:336
816
  msgid "Address line "
817
  msgstr ""
818
 
819
- #: pro/mappress_pro_settings.php:337
820
  msgid "Latitude"
821
  msgstr ""
822
 
823
- #: pro/mappress_pro_settings.php:337
824
  msgid "Longitude"
825
  msgstr ""
826
 
827
- #: pro/mappress_pro_settings.php:337
828
  msgid "Zoom"
829
  msgstr ""
830
 
831
- #: pro/mappress_pro_settings.php:342
832
  msgid "Map Field"
833
  msgstr ""
834
 
835
- #: pro/mappress_pro_settings.php:355
836
  msgid "Overwrite maps when posts are saved"
837
  msgstr ""
838
 
839
- #: pro/mappress_pro_settings.php:360
840
  msgid "Width (px) at which to collapse the left POI list"
841
  msgstr ""
842
 
843
- #: pro/mappress_pro_settings.php:364
844
  msgid "Show a list of POIs with each map"
845
  msgstr ""
846
 
847
- #: pro/mappress_pro_settings.php:372
848
  msgid "Enable search"
849
  msgstr ""
850
 
851
- #: pro/mappress_pro_settings.php:376
852
  msgid "Sort POI list by title"
853
  msgstr ""
854
 
855
- #: pro/mappress_pro_settings.php:382
856
  msgid "No styles have been defined yet"
857
  msgstr ""
858
 
859
- #: pro/mappress_pro_settings.php:391
860
  msgid "Snazzy Maps"
861
  msgstr ""
862
 
863
- #: pro/mappress_pro_settings.php:392
864
  msgid "Enter JSON from %s"
865
  msgstr ""
866
 
867
- #: pro/mappress_pro_settings.php:396
868
- #: pro/mappress_pro_settings.php:412
869
  msgid "Style name"
870
  msgstr ""
871
 
872
- #: pro/mappress_pro_settings.php:408
873
  msgid "Mapbox Studio"
874
  msgstr ""
875
 
876
- #: pro/mappress_pro_settings.php:409
877
  msgid "Enter styles from %s"
878
  msgstr ""
879
 
880
- #: pro/mappress_pro_settings.php:427
881
  msgid "Only admins or multisite super-admins can edit templates"
882
  msgstr ""
883
 
884
- #: pro/mappress_pro_settings.php:432
885
  msgid "WordPress 4.9 or higher is needed to use the template editor."
886
  msgstr ""
887
 
888
- #: pro/mappress_pro_settings.php:446
 
 
 
 
889
  msgid "or "
890
  msgstr ""
891
 
892
- #: pro/mappress_pro_settings.php:454
893
- msgid "Show featured image thumbnails in mashup POIs"
 
 
 
 
894
  msgstr ""
895
 
896
  #: pro/mappress_updater.php:122
@@ -947,8 +977,6 @@ msgid "Example: initialopeninfo=\"true\""
947
  msgstr ""
948
 
949
  #: pro/mappress_widget_map.php:61
950
- #: templates_admin/mce.php:47
951
- #: templates_admin/mce.php:67
952
  msgid "Map ID"
953
  msgstr ""
954
 
@@ -957,6 +985,8 @@ msgid "My location"
957
  msgstr ""
958
 
959
  #: templates/map-directions.php:14
 
 
960
  msgid "Get Directions"
961
  msgstr ""
962
 
@@ -972,120 +1002,75 @@ msgstr ""
972
  msgid "Results"
973
  msgstr ""
974
 
975
- #: templates/map.php:51
976
  msgid "Your Location"
977
  msgstr ""
978
 
979
- #: templates/map.php:65
980
  msgid "Menu"
981
  msgstr ""
982
 
983
- #: templates/map.php:67
984
  msgid "Center map"
985
  msgstr ""
986
 
987
- #: templates/map.php:70
988
  msgid "Traffic"
989
  msgstr ""
990
 
991
- #: templates/map.php:71
992
  msgid "Bicycling"
993
  msgstr ""
994
 
995
- #: templates/map.php:72
996
  msgid "Transit"
997
  msgstr ""
998
 
999
- #: templates/map.php:82
1000
  msgid "Show List"
1001
  msgstr ""
1002
 
1003
- #: templates/map.php:83
1004
  msgid "Show Map"
1005
  msgstr ""
1006
 
1007
- #: templates_admin/editor.php:34
1008
- msgid "Visual"
1009
- msgstr ""
1010
-
1011
- #: templates_admin/editor.php:34
1012
- msgid "HTML"
1013
- msgstr ""
1014
-
1015
- #: templates_admin/editor.php:36
1016
- msgid "Add Media"
1017
- msgstr ""
1018
-
1019
- #: templates_admin/editor.php:45
1020
- #: templates_admin/mce.php:53
1021
- #: templates_admin/widgets.php:91
1022
- msgid "Save"
1023
- msgstr ""
1024
-
1025
- #: templates_admin/editor.php:46
1026
- #: templates_admin/mce.php:54
1027
- #: templates_admin/widgets.php:92
1028
- msgid "Cancel"
1029
- msgstr ""
1030
-
1031
- #: templates_admin/mce.php:6
1032
- msgid "Select a map"
1033
  msgstr ""
1034
 
1035
- #: templates_admin/mce.php:7
1036
- msgid "Add New"
 
1037
  msgstr ""
1038
 
1039
- #: templates_admin/mce.php:13
1040
- msgid "post title"
1041
  msgstr ""
1042
 
1043
- #: templates_admin/mce.php:17
1044
- msgid "Attached to this post"
1045
  msgstr ""
1046
 
1047
- #: templates_admin/mce.php:18
1048
- msgid "All maps"
1049
- msgstr ""
1050
-
1051
- #: templates_admin/mce.php:23
1052
- msgid "Close"
1053
- msgstr ""
1054
-
1055
- #: templates_admin/mce.php:33
1056
- msgid "Size"
1057
- msgstr ""
1058
-
1059
- #: templates_admin/mce.php:57
1060
- msgid "Save center / zoom"
1061
- msgstr ""
1062
-
1063
- #: templates_admin/mce.php:66
1064
- msgid "Map title"
1065
- msgstr ""
1066
-
1067
- #: templates_admin/mce.php:69
1068
- msgid "Attached to"
1069
- msgstr ""
1070
-
1071
- #: templates_admin/mce.php:71
1072
- msgid "Action"
1073
  msgstr ""
1074
 
1075
- #: templates_admin/mce.php:85
1076
- msgid "Current post"
1077
  msgstr ""
1078
 
1079
- #: templates_admin/mce.php:90
1080
- msgid "Unattached"
1081
  msgstr ""
1082
 
1083
- #: templates_admin/mce.php:97
1084
- msgid "Insert into post"
 
1085
  msgstr ""
1086
 
1087
- #: templates_admin/mce.php:105
1088
- msgid "No maps found"
 
1089
  msgstr ""
1090
 
1091
  #: templates_admin/widgets.php:7
1
+ # Copyright (C) 2021 Chris Richardson
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.60\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: 2021-02-19T22:22:22+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
 
33
  msgid "https://www.mappresspro.com/chris-contact"
34
  msgstr ""
35
 
36
+ #: mappress.php:194
37
+ #: mappress.php:746
38
  msgid "Settings"
39
  msgstr ""
40
 
41
+ #: mappress.php:195
42
  msgid "Map Library"
43
  msgstr ""
44
 
45
+ #: mappress.php:206
46
  msgid "MapPress database tables are missing. Please deactivate the plugin and activate it again to fix this."
47
  msgstr ""
48
 
49
+ #: mappress.php:211
50
  msgid "A Google Maps API key is required"
51
  msgstr ""
52
 
53
+ #: mappress.php:211
54
  msgid "Please update your"
55
  msgstr ""
56
 
57
+ #: mappress.php:211
58
  msgid "MapPress Settings"
59
  msgstr ""
60
 
61
+ #: mappress.php:316
62
  msgid "OK, you deserve it!"
63
  msgstr ""
64
 
65
+ #: mappress.php:317
66
  msgid "Nope, maybe later"
67
  msgstr ""
68
 
69
+ #: mappress.php:318
70
+ msgid "I need some help!"
71
  msgstr ""
72
 
73
+ #: mappress.php:320
74
  msgid "Please Help Spread the Word"
75
  msgstr ""
76
 
77
+ #: mappress.php:321
78
  msgid "If you're enjoying MapPress, would you mind taking a moment to write a brief review? It would mean the world to me!"
79
  msgstr ""
80
 
81
+ #: mappress.php:322
82
  msgid "If you have any issues or suggestions, please let me know. I'll be happy to help!"
83
  msgstr ""
84
 
85
+ #: mappress.php:503
86
+ msgid "renew your license"
87
  msgstr ""
88
 
89
+ #: mappress.php:504
90
+ msgid "Your MapPress license has expired. Please %s to get the latest updates and prevent errors."
91
+ msgstr ""
92
+
93
+ #: mappress.php:513
94
+ msgid "Please enter your MapPress license key to enable plugin updates"
95
  msgstr ""
96
 
97
+ #: mappress.php:517
98
+ msgid "MapPress Gutenberg blocks require WordPress 5.3 or the latest Gutenberg Plugin. Please update if using the block editor."
99
  msgstr ""
100
 
101
+ #: mappress.php:521
102
+ msgid "MapPress has many new features! %s."
103
  msgstr ""
104
 
105
+ #: mappress.php:521
106
+ #: mappress.php:525
107
+ msgid "Learn more"
108
  msgstr ""
109
 
110
+ #: mappress.php:525
111
+ msgid "MapPress popup templates have changed! Please update custom templates to the new format. %s."
112
  msgstr ""
113
 
114
+ #: mappress.php:569
115
  msgid "Are you sure you want to delete?"
116
  msgstr ""
117
 
118
+ #: mappress.php:570
119
  msgid "Permanently delete this map from the map library?"
120
  msgstr ""
121
 
122
+ #: mappress.php:571
123
  msgid "Error reading KML file"
124
  msgstr ""
125
 
126
+ #: mappress.php:572
127
  msgid "URL for KML file"
128
  msgstr ""
129
 
130
+ #: mappress.php:573
131
  msgid "Loading"
132
  msgstr ""
133
 
134
+ #: mappress.php:574
135
+ msgid "Please select an editor to insert into."
136
  msgstr ""
137
 
138
+ #: mappress.php:575
139
  msgid "Unable to get your location"
140
  msgstr ""
141
 
142
+ #: mappress.php:576
143
  msgid "No results"
144
  msgstr ""
145
 
146
+ #: mappress.php:577
147
  msgid "Save changes?"
148
  msgstr ""
149
 
150
+ #: mappress.php:578
151
  msgid "Shape"
152
  msgstr ""
153
 
154
+ #: mappress.php:607
155
  msgid "Improve this map"
156
  msgstr ""
157
 
158
+ #: mappress.php:623
159
+ #: mappress.php:642
160
  msgid "Streets"
161
  msgstr ""
162
 
163
+ #: mappress.php:624
164
  msgid "Outdoors"
165
  msgstr ""
166
 
167
+ #: mappress.php:625
168
  msgid "Light"
169
  msgstr ""
170
 
171
+ #: mappress.php:626
172
  msgid "Dark"
173
  msgstr ""
174
 
175
+ #: mappress.php:627
176
  msgid "Satellite"
177
  msgstr ""
178
 
179
+ #: mappress.php:628
180
  msgid "Satellite Streets"
181
  msgstr ""
182
 
183
+ #: mappress.php:747
184
+ #: mappress_settings.php:339
185
  msgid "What's new"
186
  msgstr ""
187
 
188
+ #: mappress.php:993
189
  msgid "Version"
190
  msgstr ""
191
 
195
  msgstr ""
196
 
197
  #: mappress_controls.php:102
198
+ #: templates_admin/editor.php:33
 
199
  #: templates_admin/widgets.php:94
200
  msgid "Delete"
201
  msgstr ""
202
 
203
  #: mappress_map.php:86
204
+ #: mappress_settings.php:334
205
  msgid "MapPress"
206
  msgstr ""
207
 
208
+ #: mappress_map.php:96
 
 
 
209
  msgid "Untitled"
210
  msgstr ""
211
 
212
+ #: mappress_map.php:97
213
  msgid "Copy of %s"
214
  msgstr ""
215
 
216
+ #: mappress_map.php:201
217
  msgid "Map not found"
218
  msgstr ""
219
 
220
+ #: mappress_map.php:244
221
+ msgid "Post not found"
222
+ msgstr ""
223
+
224
+ #: mappress_settings.php:90
225
  msgid "Sample Map"
226
  msgstr ""
227
 
228
+ #: mappress_settings.php:92
229
  msgid "Basic Settings"
230
  msgstr ""
231
 
232
+ #: mappress_settings.php:93
233
  msgid "Mapping API"
234
  msgstr ""
235
 
236
+ #: mappress_settings.php:96
237
  msgid "Google API key"
238
  msgstr ""
239
 
240
+ #: mappress_settings.php:99
241
  msgid "Mapbox access token"
242
  msgstr ""
243
 
244
+ #: mappress_settings.php:103
245
  msgid "License"
246
  msgstr ""
247
 
248
+ #: mappress_settings.php:105
249
  msgid "Map Settings"
250
  msgstr ""
251
 
252
+ #: mappress_settings.php:106
253
  msgid "Post types"
254
  msgstr ""
255
 
256
+ #: mappress_settings.php:107
257
  msgid "Automatic display"
258
  msgstr ""
259
 
260
+ #: mappress_settings.php:108
261
  msgid "Map alignment"
262
  msgstr ""
263
 
264
+ #: mappress_settings.php:109
 
 
265
  msgid "Directions"
266
  msgstr ""
267
 
268
+ #: mappress_settings.php:112
269
  msgid "POI Settings"
270
  msgstr ""
271
 
272
+ #: mappress_settings.php:113
273
  msgid "Default zoom"
274
  msgstr ""
275
 
276
+ #: mappress_settings.php:114
277
+ msgid "Hover"
 
278
  msgstr ""
279
 
280
  #: mappress_settings.php:115
281
+ #: mappress_settings.php:243
282
+ msgid "Open first POI"
283
+ msgstr ""
284
+
285
+ #: mappress_settings.php:118
286
  msgid "Mashups"
287
  msgstr ""
288
 
289
+ #: mappress_settings.php:119
290
  msgid "Icons"
291
  msgstr ""
292
 
293
+ #: mappress_settings.php:120
294
  msgid "Styled Maps"
295
  msgstr ""
296
 
297
+ #: mappress_settings.php:121
298
  msgid "Geocoding"
299
  msgstr ""
300
 
301
+ #: mappress_settings.php:122
302
  msgid "Templates"
303
  msgstr ""
304
 
305
+ #: mappress_settings.php:125
306
  msgid "Localization"
307
  msgstr ""
308
 
309
+ #: mappress_settings.php:126
310
  msgid "Search language"
311
  msgstr ""
312
 
313
+ #: mappress_settings.php:127
314
  msgid "Search country"
315
  msgstr ""
316
 
317
+ #: mappress_settings.php:128
318
  msgid "Directions server"
319
  msgstr ""
320
 
321
+ #: mappress_settings.php:130
322
  msgid "Miscellaneous"
323
  msgstr ""
324
 
325
+ #: mappress_settings.php:131
326
  msgid "Map sizes"
327
  msgstr ""
328
 
329
+ #: mappress_settings.php:132
330
  msgid "Scripts"
331
  msgstr ""
332
 
333
+ #: mappress_settings.php:136
334
  msgid "Compatiblity"
335
  msgstr ""
336
 
337
+ #: mappress_settings.php:180
338
+ #: mappress_settings.php:249
339
+ #: pro/mappress_pro_settings.php:236
340
  #: templates_admin/widgets.php:78
341
  msgid "Default"
342
  msgstr ""
343
 
344
+ #: mappress_settings.php:181
345
  msgid "Center"
346
  msgstr ""
347
 
348
+ #: mappress_settings.php:182
349
+ #: pro/mappress_pro_settings.php:469
350
  msgid "Left"
351
  msgstr ""
352
 
353
+ #: mappress_settings.php:183
354
+ #: pro/mappress_pro_settings.php:469
355
  msgid "Right"
356
  msgstr ""
357
 
358
+ #: mappress_settings.php:195
359
+ #: pro/mappress_pro_settings.php:245
360
  msgid "None"
361
  msgstr ""
362
 
363
+ #: mappress_settings.php:196
364
  msgid "Top of post"
365
  msgstr ""
366
 
367
+ #: mappress_settings.php:197
368
  msgid "Bottom of post"
369
  msgstr ""
370
 
371
+ #: mappress_settings.php:204
372
+ #: mappress_settings.php:248
373
  msgid "(list)"
374
  msgstr ""
375
 
376
+ #: mappress_settings.php:209
377
  msgid "Country code for searches"
378
  msgstr ""
379
 
380
+ #: mappress_settings.php:213
381
  msgid "Prevent other plugins/themes from loading the Google Maps API"
382
  msgstr ""
383
 
384
+ #: mappress_settings.php:217
385
+ #: mappress_settings.php:226
386
+ #: pro/mappress_pro_settings.php:234
387
  msgid "Google"
388
  msgstr ""
389
 
390
+ #: mappress_settings.php:217
391
  msgid "Inline"
392
  msgstr ""
393
 
394
+ #: mappress_settings.php:226
395
  msgid "Leaflet"
396
  msgstr ""
397
 
398
+ #: mappress_settings.php:228
399
  msgid "Leaflet is free and requires no API key. Google requires an API key and has strict usage limits."
400
  msgstr ""
401
 
 
402
  #: mappress_settings.php:234
403
+ #: mappress_settings.php:237
404
  msgid "Output scripts in footer"
405
  msgstr ""
406
 
407
+ #: mappress_settings.php:235
408
  msgid "Disabled because Jetpack Infinite Scroll is active"
409
  msgstr ""
410
 
411
+ #: mappress_settings.php:238
412
  msgid "disable if maps are output using AJAX"
413
  msgstr ""
414
 
415
+ #: mappress_settings.php:251
416
  msgid "Language for searches and Google map controls"
417
  msgstr ""
418
 
419
+ #: mappress_settings.php:255
420
+ msgid "Enter token to use Mapbox features"
421
  msgstr ""
422
 
423
+ #: mappress_settings.php:262
424
+ #: mappress_settings.php:267
425
  msgid "Map type control"
426
  msgstr ""
427
 
428
+ #: mappress_settings.php:263
429
  msgid "Street view control"
430
  msgstr ""
431
 
432
+ #: mappress_settings.php:264
433
+ #: mappress_settings.php:268
434
  msgid "Zoom control"
435
  msgstr ""
436
 
437
+ #: mappress_settings.php:283
438
  msgid "Default zoom when displaying a single POI"
439
  msgstr ""
440
 
441
+ #: mappress_settings.php:296
442
  msgid "Easy Google Maps"
443
  msgstr ""
444
 
445
+ #: mappress_settings.php:304
446
  msgid "Width (px, %, vh, vw)"
447
  msgstr ""
448
 
449
+ #: mappress_settings.php:304
450
  msgid "Height (px, %, vh, vw)"
451
  msgstr ""
452
 
453
+ #: mappress_settings.php:304
454
  msgid "Default size"
455
  msgstr ""
456
 
457
+ #: mappress_settings.php:319
458
+ msgid "Open POIs on hover"
459
  msgstr ""
460
 
461
+ #: mappress_settings.php:324
462
  msgid "Copy maps when overwriting a translation"
463
  msgstr ""
464
 
465
+ #: mappress_settings.php:338
466
  msgid "Get help"
467
  msgstr ""
468
 
469
+ #: mappress_settings.php:341
470
  msgid "Your account"
471
  msgstr ""
472
 
473
+ #: mappress_settings.php:343
474
  msgid "Upgrade to MapPress Pro"
475
  msgstr ""
476
 
477
+ #: mappress_settings.php:350
478
+ #: mappress_settings.php:358
479
  msgid "Save Changes"
480
  msgstr ""
481
 
482
+ #: mappress_settings.php:351
483
+ #: mappress_settings.php:359
484
  msgid "Reset Defaults"
485
  msgstr ""
486
 
487
+ #: mappress_template.php:33
488
  msgid "Address"
489
  msgstr ""
490
 
491
+ #: mappress_template.php:34
492
+ #: pro/mappress_pro_settings.php:348
493
  msgid "Body"
494
  msgstr ""
495
 
496
+ #: mappress_template.php:35
497
+ #: pro/mappress_pro_settings.php:176
498
+ #: pro/mappress_pro_settings.php:245
499
+ #: pro/mappress_pro_settings.php:348
500
  msgid "Icon"
501
  msgstr ""
502
 
503
+ #: mappress_template.php:36
504
  msgid "Thumbnail"
505
  msgstr ""
506
 
507
+ #: mappress_template.php:37
508
+ #: pro/mappress_pro_settings.php:348
509
  msgid "Title"
510
  msgstr ""
511
 
512
+ #: mappress_template.php:38
513
  msgid "Url"
514
  msgstr ""
515
 
516
+ #: mappress_template.php:39
517
  #: pro/mappress_filter.php:120
518
+ #: pro/mappress_pro_settings.php:353
519
  msgid "Custom Field"
520
  msgstr ""
521
 
522
  #: pro/mappress_filter.php:84
523
  #: pro/mappress_filter.php:133
524
+ #: pro/mappress_pro_settings.php:169
525
  msgid "Post type"
526
  msgstr ""
527
 
621
  msgstr ""
622
 
623
  #: pro/mappress_pro_settings.php:34
624
+ msgid "Highlight selected POI"
625
  msgstr ""
626
 
627
+ #: pro/mappress_pro_settings.php:36
628
+ msgid "Icon scaling"
629
  msgstr ""
630
 
631
  #: pro/mappress_pro_settings.php:37
632
+ msgid "Automatic icons"
 
 
633
  msgstr ""
634
 
635
  #: pro/mappress_pro_settings.php:39
636
+ #: templates/map.php:51
637
+ msgid "Search"
 
 
 
 
638
  msgstr ""
639
 
640
  #: pro/mappress_pro_settings.php:41
641
+ #: templates/map.php:58
642
+ msgid "Filter"
643
  msgstr ""
644
 
645
  #: pro/mappress_pro_settings.php:42
646
+ msgid "Marker click"
647
  msgstr ""
648
 
649
  #: pro/mappress_pro_settings.php:43
650
+ msgid "Popup content"
651
  msgstr ""
652
 
653
  #: pro/mappress_pro_settings.php:44
654
+ msgid "KMLs"
655
  msgstr ""
656
 
657
  #: pro/mappress_pro_settings.php:47
684
  msgstr ""
685
 
686
  #: pro/mappress_pro_settings.php:61
687
+ msgid "Mashup thumbnails"
688
+ msgstr ""
689
+
690
+ #: pro/mappress_pro_settings.php:62
691
+ msgid "Thumbnail style"
692
+ msgstr ""
693
+
694
+ #: pro/mappress_pro_settings.php:63
695
+ msgid "Thumbnail size"
696
+ msgstr ""
697
+
698
+ #: pro/mappress_pro_settings.php:64
699
+ #: pro/mappress_pro_settings.php:229
700
  msgid "Force resize"
701
  msgstr ""
702
 
703
+ #: pro/mappress_pro_settings.php:156
704
  msgid "more info"
705
  msgstr ""
706
 
707
+ #: pro/mappress_pro_settings.php:157
708
  msgid "API key secured by IP address for geocoding (optional)"
709
  msgstr ""
710
 
711
+ #: pro/mappress_pro_settings.php:176
712
  msgid "Value"
713
  msgstr ""
714
 
715
+ #: pro/mappress_pro_settings.php:191
716
  msgid "Enable updates for beta versions"
717
  msgstr ""
718
 
719
+ #: pro/mappress_pro_settings.php:195
720
  msgid "Enable marker clustering"
721
  msgstr ""
722
 
723
+ #: pro/mappress_pro_settings.php:204
724
  msgid "Checkboxes"
725
  msgstr ""
726
 
727
+ #: pro/mappress_pro_settings.php:204
728
  msgid "Select"
729
  msgstr ""
730
 
731
+ #: pro/mappress_pro_settings.php:211
732
  msgid "Key"
733
  msgstr ""
734
 
735
+ #: pro/mappress_pro_settings.php:211
736
  msgid "Format"
737
  msgstr ""
738
 
739
+ #: pro/mappress_pro_settings.php:226
740
  msgid "Permanently resize existing maps (classic editor only)"
741
  msgstr ""
742
 
743
+ #: pro/mappress_pro_settings.php:228
744
  msgid "from %s to %s"
745
  msgstr ""
746
 
747
+ #: pro/mappress_pro_settings.php:236
748
  msgid "Algolia"
749
  msgstr ""
750
 
751
+ #: pro/mappress_pro_settings.php:237
752
  msgid "Nominatim"
753
  msgstr ""
754
 
755
+ #: pro/mappress_pro_settings.php:238
756
  msgid "MapBox"
757
  msgstr ""
758
 
759
  #: pro/mappress_pro_settings.php:245
760
+ msgid "Circle"
761
+ msgstr ""
762
+
763
+ #: pro/mappress_pro_settings.php:255
764
  #: templates_admin/widgets.php:68
765
  msgid "Edit"
766
  msgstr ""
767
 
768
+ #: pro/mappress_pro_settings.php:269
769
  msgid "Standard"
770
  msgstr ""
771
 
772
+ #: pro/mappress_pro_settings.php:270
773
  msgid "InfoBox"
774
  msgstr ""
775
 
776
+ #: pro/mappress_pro_settings.php:277
777
  msgid "Left of map"
778
  msgstr ""
779
 
780
+ #: pro/mappress_pro_settings.php:278
781
  msgid "Below map"
782
  msgstr ""
783
 
784
+ #: pro/mappress_pro_settings.php:284
785
  msgid "Get license"
786
  msgstr ""
787
 
788
+ #: pro/mappress_pro_settings.php:285
789
  msgid "Enter license to enable automatic updates"
790
  msgstr ""
791
 
792
+ #: pro/mappress_pro_settings.php:298
793
  msgid "Active"
794
  msgstr ""
795
 
796
+ #: pro/mappress_pro_settings.php:303
797
  msgid "Check now"
798
  msgstr ""
799
 
800
+ #: pro/mappress_pro_settings.php:308
801
  #: pro/mappress_updater.php:116
802
  msgid "Communication error, please try again later"
803
  msgstr ""
804
 
805
+ #: pro/mappress_pro_settings.php:310
806
  msgid "License is invalid or expired"
807
  msgstr ""
808
 
809
+ #: pro/mappress_pro_settings.php:314
810
  msgid "POI title + POI body"
811
  msgstr ""
812
 
813
+ #: pro/mappress_pro_settings.php:314
814
  msgid "Post title + post excerpt"
815
  msgstr ""
816
 
817
+ #: pro/mappress_pro_settings.php:320
818
+ msgid "Open popup"
819
  msgstr ""
820
 
821
+ #: pro/mappress_pro_settings.php:320
822
  msgid "Open post"
823
  msgstr ""
824
 
825
+ #: pro/mappress_pro_settings.php:320
826
+ msgid "Post in new tab"
827
  msgstr ""
828
 
829
+ #: pro/mappress_pro_settings.php:325
830
  msgid "Include KML POIs in mashups"
831
  msgstr ""
832
 
833
+ #: pro/mappress_pro_settings.php:337
834
  msgid "%d Errors"
835
  msgstr ""
836
 
837
+ #: pro/mappress_pro_settings.php:347
838
  msgid "Address line "
839
  msgstr ""
840
 
841
+ #: pro/mappress_pro_settings.php:348
842
  msgid "Latitude"
843
  msgstr ""
844
 
845
+ #: pro/mappress_pro_settings.php:348
846
  msgid "Longitude"
847
  msgstr ""
848
 
849
+ #: pro/mappress_pro_settings.php:348
850
  msgid "Zoom"
851
  msgstr ""
852
 
853
+ #: pro/mappress_pro_settings.php:353
854
  msgid "Map Field"
855
  msgstr ""
856
 
857
+ #: pro/mappress_pro_settings.php:366
858
  msgid "Overwrite maps when posts are saved"
859
  msgstr ""
860
 
861
+ #: pro/mappress_pro_settings.php:371
862
  msgid "Width (px) at which to collapse the left POI list"
863
  msgstr ""
864
 
865
+ #: pro/mappress_pro_settings.php:375
866
  msgid "Show a list of POIs with each map"
867
  msgstr ""
868
 
869
+ #: pro/mappress_pro_settings.php:383
870
  msgid "Enable search"
871
  msgstr ""
872
 
873
+ #: pro/mappress_pro_settings.php:387
874
  msgid "Sort POI list by title"
875
  msgstr ""
876
 
877
+ #: pro/mappress_pro_settings.php:393
878
  msgid "No styles have been defined yet"
879
  msgstr ""
880
 
881
+ #: pro/mappress_pro_settings.php:402
882
  msgid "Snazzy Maps"
883
  msgstr ""
884
 
885
+ #: pro/mappress_pro_settings.php:403
886
  msgid "Enter JSON from %s"
887
  msgstr ""
888
 
889
+ #: pro/mappress_pro_settings.php:407
890
+ #: pro/mappress_pro_settings.php:423
891
  msgid "Style name"
892
  msgstr ""
893
 
894
+ #: pro/mappress_pro_settings.php:419
895
  msgid "Mapbox Studio"
896
  msgstr ""
897
 
898
+ #: pro/mappress_pro_settings.php:420
899
  msgid "Enter styles from %s"
900
  msgstr ""
901
 
902
+ #: pro/mappress_pro_settings.php:438
903
  msgid "Only admins or multisite super-admins can edit templates"
904
  msgstr ""
905
 
906
+ #: pro/mappress_pro_settings.php:443
907
  msgid "WordPress 4.9 or higher is needed to use the template editor."
908
  msgstr ""
909
 
910
+ #: pro/mappress_pro_settings.php:452
911
+ msgid "Show featured image thumbnails in mashup popups and lists"
912
+ msgstr ""
913
+
914
+ #: pro/mappress_pro_settings.php:461
915
  msgid "or "
916
  msgstr ""
917
 
918
+ #: pro/mappress_pro_settings.php:469
919
+ msgid "Top"
920
+ msgstr ""
921
+
922
+ #: pro/mappress_pro_settings.php:471
923
+ msgid "Thumbnail position"
924
  msgstr ""
925
 
926
  #: pro/mappress_updater.php:122
977
  msgstr ""
978
 
979
  #: pro/mappress_widget_map.php:61
 
 
980
  msgid "Map ID"
981
  msgstr ""
982
 
985
  msgstr ""
986
 
987
  #: templates/map-directions.php:14
988
+ #: templates/map-popup.php:5
989
+ #: templates/mashup-popup.php:6
990
  msgid "Get Directions"
991
  msgstr ""
992
 
1002
  msgid "Results"
1003
  msgstr ""
1004
 
1005
+ #: templates/map.php:53
1006
  msgid "Your Location"
1007
  msgstr ""
1008
 
1009
+ #: templates/map.php:67
1010
  msgid "Menu"
1011
  msgstr ""
1012
 
1013
+ #: templates/map.php:69
1014
  msgid "Center map"
1015
  msgstr ""
1016
 
1017
+ #: templates/map.php:72
1018
  msgid "Traffic"
1019
  msgstr ""
1020
 
1021
+ #: templates/map.php:73
1022
  msgid "Bicycling"
1023
  msgstr ""
1024
 
1025
+ #: templates/map.php:74
1026
  msgid "Transit"
1027
  msgstr ""
1028
 
1029
+ #: templates/map.php:84
1030
  msgid "Show List"
1031
  msgstr ""
1032
 
1033
+ #: templates/map.php:85
1034
  msgid "Show Map"
1035
  msgstr ""
1036
 
1037
+ #: templates/mashup-modal.php:18
1038
+ msgid "Continue reading"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1039
  msgstr ""
1040
 
1041
+ #. translators: %s: Author name.
1042
+ #: templates/mashup-modal.php:24
1043
+ msgid "By %s"
1044
  msgstr ""
1045
 
1046
+ #: templates/mashup-modal.php:28
1047
+ msgid "In"
1048
  msgstr ""
1049
 
1050
+ #: templates/mashup-modal.php:29
1051
+ msgid " Tagged "
1052
  msgstr ""
1053
 
1054
+ #: templates_admin/editor.php:20
1055
+ msgid "Visual"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1056
  msgstr ""
1057
 
1058
+ #: templates_admin/editor.php:20
1059
+ msgid "HTML"
1060
  msgstr ""
1061
 
1062
+ #: templates_admin/editor.php:22
1063
+ msgid "Add Media"
1064
  msgstr ""
1065
 
1066
+ #: templates_admin/editor.php:31
1067
+ #: templates_admin/widgets.php:91
1068
+ msgid "Save"
1069
  msgstr ""
1070
 
1071
+ #: templates_admin/editor.php:32
1072
+ #: templates_admin/widgets.php:92
1073
+ msgid "Cancel"
1074
  msgstr ""
1075
 
1076
  #: templates_admin/widgets.php:7
languages/texts.php CHANGED
@@ -12,22 +12,23 @@ __("Please update your");
12
  __("MapPress Settings");
13
  __("OK, you deserve it!");
14
  __("Nope, maybe later");
15
- __("I neeed some help");
16
  __("Please Help Spread the Word");
17
  __("If you're enjoying MapPress, would you mind taking a moment to write a brief review? It would mean the world to me!");
18
  __("If you have any issues or suggestions, please let me know. I'll be happy to help!");
 
 
19
  __("Please enter your MapPress license key to enable plugin updates");
20
  __("MapPress Gutenberg blocks require WordPress 5.3 or the latest Gutenberg Plugin. Please update if using the block editor.");
21
- __("MapPress has many new features! Please take a moment to learn %s.");
22
- __("what's new");
23
- __("The MapPress map editor has moved!");
24
- __("Use this button to open the new popup editor where you can easily create, edit and insert maps.");
25
  __("Are you sure you want to delete?");
26
  __("Permanently delete this map from the map library?");
27
  __("Error reading KML file");
28
  __("URL for KML file");
29
  __("Loading");
30
- __("Please select a classic editor block to insert into.");
31
  __("Unable to get your location");
32
  __("No results");
33
  __("Save changes?");
@@ -47,6 +48,7 @@ __("MapPress");
47
  __("Untitled");
48
  __("Copy of %s");
49
  __("Map not found");
 
50
  __("Sample Map");
51
  __("Basic Settings");
52
  __("Mapping API");
@@ -60,6 +62,7 @@ __("Map alignment");
60
  __("Directions");
61
  __("POI Settings");
62
  __("Default zoom");
 
63
  __("Open first POI");
64
  __("Mashups");
65
  __("Icons");
@@ -92,7 +95,7 @@ __("Output scripts in footer");
92
  __("Disabled because Jetpack Infinite Scroll is active");
93
  __("disable if maps are output using AJAX");
94
  __("Language for searches and Google map controls");
95
- __("Enter token to use Mapbox map tiles");
96
  __("Map type control");
97
  __("Street view control");
98
  __("Zoom control");
@@ -101,7 +104,7 @@ __("Easy Google Maps");
101
  __("Width (px, %, vh, vw)");
102
  __("Height (px, %, vh, vw)");
103
  __("Default size");
104
- __("Show a tooltip when mouse is over a POI");
105
  __("Copy maps when overwriting a translation");
106
  __("Get help");
107
  __("Your account");
@@ -139,15 +142,14 @@ __("Popup type");
139
  __("Default icon");
140
  __("Icon directory");
141
  __("Custom icons");
 
142
  __("Icon scaling");
143
  __("Automatic icons");
144
  __("Search");
145
  __("Filter");
146
- __("POI content");
147
- __("POI click");
148
  __("KMLs");
149
- __("Thumbnails");
150
- __("Thumbnail size");
151
  __("Styled maps");
152
  __("Default style");
153
  __("Geocoding fields");
@@ -155,6 +157,9 @@ __("Overwrite");
155
  __("Geocoding errors");
156
  __("Google Server API key");
157
  __("Custom templates");
 
 
 
158
  __("Force resize");
159
  __("more info");
160
  __("API key secured by IP address for geocoding (optional)");
@@ -170,6 +175,7 @@ __("from %s to %s");
170
  __("Algolia");
171
  __("Nominatim");
172
  __("MapBox");
 
173
  __("Edit");
174
  __("Standard");
175
  __("InfoBox");
@@ -183,9 +189,9 @@ __("Communication error, please try again later");
183
  __("License is invalid or expired");
184
  __("POI title + POI body");
185
  __("Post title + post excerpt");
186
- __("Open POI");
187
  __("Open post");
188
- __("Open post in new tab");
189
  __("Include KML POIs in mashups");
190
  __("%d Errors");
191
  __("Address line ");
@@ -206,8 +212,10 @@ __("Mapbox Studio");
206
  __("Enter styles from %s");
207
  __("Only admins or multisite super-admins can edit templates");
208
  __("WordPress 4.9 or higher is needed to use the template editor.");
 
209
  __("or ");
210
- __("Show featured image thumbnails in mashup POIs");
 
211
  __("JSON error");
212
  __("Widget title");
213
  __("Map size");
@@ -234,26 +242,15 @@ __("Bicycling");
234
  __("Transit");
235
  __("Show List");
236
  __("Show Map");
 
 
 
 
237
  __("Visual");
238
  __("HTML");
239
  __("Add Media");
240
  __("Save");
241
  __("Cancel");
242
- __("Select a map");
243
- __("Add New");
244
- __("post title");
245
- __("Attached to this post");
246
- __("All maps");
247
- __("Close");
248
- __("Size");
249
- __("Save center / zoom");
250
- __("Map title");
251
- __("Attached to");
252
- __("Action");
253
- __("Current post");
254
- __("Unattached");
255
- __("Insert into post");
256
- __("No maps found");
257
  __("Opacity");
258
  __("Weight");
259
  __("No custom icons have been added yet.");
12
  __("MapPress Settings");
13
  __("OK, you deserve it!");
14
  __("Nope, maybe later");
15
+ __("I need some help!");
16
  __("Please Help Spread the Word");
17
  __("If you're enjoying MapPress, would you mind taking a moment to write a brief review? It would mean the world to me!");
18
  __("If you have any issues or suggestions, please let me know. I'll be happy to help!");
19
+ __("renew your license");
20
+ __("Your MapPress license has expired. Please %s to get the latest updates and prevent errors.");
21
  __("Please enter your MapPress license key to enable plugin updates");
22
  __("MapPress Gutenberg blocks require WordPress 5.3 or the latest Gutenberg Plugin. Please update if using the block editor.");
23
+ __("MapPress has many new features! %s.");
24
+ __("Learn more");
25
+ __("MapPress popup templates have changed! Please update custom templates to the new format. %s.");
 
26
  __("Are you sure you want to delete?");
27
  __("Permanently delete this map from the map library?");
28
  __("Error reading KML file");
29
  __("URL for KML file");
30
  __("Loading");
31
+ __("Please select an editor to insert into.");
32
  __("Unable to get your location");
33
  __("No results");
34
  __("Save changes?");
48
  __("Untitled");
49
  __("Copy of %s");
50
  __("Map not found");
51
+ __("Post not found");
52
  __("Sample Map");
53
  __("Basic Settings");
54
  __("Mapping API");
62
  __("Directions");
63
  __("POI Settings");
64
  __("Default zoom");
65
+ __("Hover");
66
  __("Open first POI");
67
  __("Mashups");
68
  __("Icons");
95
  __("Disabled because Jetpack Infinite Scroll is active");
96
  __("disable if maps are output using AJAX");
97
  __("Language for searches and Google map controls");
98
+ __("Enter token to use Mapbox features");
99
  __("Map type control");
100
  __("Street view control");
101
  __("Zoom control");
104
  __("Width (px, %, vh, vw)");
105
  __("Height (px, %, vh, vw)");
106
  __("Default size");
107
+ __("Open POIs on hover");
108
  __("Copy maps when overwriting a translation");
109
  __("Get help");
110
  __("Your account");
142
  __("Default icon");
143
  __("Icon directory");
144
  __("Custom icons");
145
+ __("Highlight selected POI");
146
  __("Icon scaling");
147
  __("Automatic icons");
148
  __("Search");
149
  __("Filter");
150
+ __("Marker click");
151
+ __("Popup content");
152
  __("KMLs");
 
 
153
  __("Styled maps");
154
  __("Default style");
155
  __("Geocoding fields");
157
  __("Geocoding errors");
158
  __("Google Server API key");
159
  __("Custom templates");
160
+ __("Mashup thumbnails");
161
+ __("Thumbnail style");
162
+ __("Thumbnail size");
163
  __("Force resize");
164
  __("more info");
165
  __("API key secured by IP address for geocoding (optional)");
175
  __("Algolia");
176
  __("Nominatim");
177
  __("MapBox");
178
+ __("Circle");
179
  __("Edit");
180
  __("Standard");
181
  __("InfoBox");
189
  __("License is invalid or expired");
190
  __("POI title + POI body");
191
  __("Post title + post excerpt");
192
+ __("Open popup");
193
  __("Open post");
194
+ __("Post in new tab");
195
  __("Include KML POIs in mashups");
196
  __("%d Errors");
197
  __("Address line ");
212
  __("Enter styles from %s");
213
  __("Only admins or multisite super-admins can edit templates");
214
  __("WordPress 4.9 or higher is needed to use the template editor.");
215
+ __("Show featured image thumbnails in mashup popups and lists");
216
  __("or ");
217
+ __("Top");
218
+ __("Thumbnail position");
219
  __("JSON error");
220
  __("Widget title");
221
  __("Map size");
242
  __("Transit");
243
  __("Show List");
244
  __("Show Map");
245
+ __("Continue reading");
246
+ __("By %s");
247
+ __("In");
248
+ __(" Tagged ");
249
  __("Visual");
250
  __("HTML");
251
  __("Add Media");
252
  __("Save");
253
  __("Cancel");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  __("Opacity");
255
  __("Weight");
256
  __("No custom icons have been added yet.");
mappress.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: MapPress Maps for WordPress
4
  Plugin URI: https://www.mappresspro.com/mappress
5
  Author URI: https://www.mappresspro.com/chris-contact
6
  Description: MapPress makes it easy to add Google and Leaflet Maps to WordPress
7
- Version: 2.58
8
  Author: Chris Richardson
9
  Text Domain: mappress-google-maps-for-wordpress
10
  Thanks to all the translators and to Matthias Stasiak for his wonderful icons (http://code.google.com/p/google-maps-icons/)
@@ -37,18 +37,18 @@ if (is_dir(dirname( __FILE__ ) . '/pro')) {
37
  }
38
 
39
  class Mappress {
40
- const VERSION = '2.58';
41
 
42
  static
43
  $baseurl,
44
  $basename,
45
  $basedir,
46
  $debug,
 
47
  $loaded,
48
  $options,
49
  $notices,
50
  $pages,
51
- $pointers,
52
  $pro,
53
  $updater,
54
  $version
@@ -115,6 +115,51 @@ class Mappress {
115
 
116
  add_filter('autoptimize_filter_js_exclude', array(__CLASS__, 'autoptimize_filter_js_exclude'), 10, 2);
117
  add_filter('autoptimize_filter_css_exclude', array(__CLASS__, 'autoptimize_filter_css_exclude'), 10, 2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  }
119
 
120
  // Scripts & styles for admin
@@ -126,8 +171,7 @@ class Mappress {
126
  if (empty($hook))
127
  return;
128
 
129
- // Network admin has no pages
130
- if (empty(self::$pages))
131
  return;
132
 
133
  $is_editing = in_array($hook, array('post.php', 'post-new.php'));
@@ -136,31 +180,10 @@ class Mappress {
136
 
137
  if ($is_editing || $is_settings || $is_customizer) {
138
  self::scripts_enqueue('backend');
139
-
140
- // Settings - Gutenberg CSS for library + code editor
141
- if ($is_settings) {
142
- wp_enqueue_style( 'wp-edit-blocks' );
143
- if (function_exists('wp_enqueue_code_editor'))
144
- wp_enqueue_code_editor(array( 'type' => 'php' ));
145
- }
146
-
147
- // Leaflet CSS
148
- if (self::$options->engine == 'leaflet')
149
- wp_enqueue_style('mappress-leaflet', 'https://unpkg.com/leaflet@1.7.1/dist/leaflet.css', null, '1.7.1');
150
- if (self::$options->clustering) {
151
- wp_enqueue_style('mappress-leaflet-markercluster-default', self::$baseurl . "/lib/Leaflet.markercluster/MarkerCluster.Default.css", null, '1.4.1');
152
- wp_enqueue_style('mappress-leaflet-markercluster', self::$baseurl . "/lib/Leaflet.markercluster/MarkerCluster.css", null, '1.4.1');
153
- }
154
-
155
- // Mappress CSS
156
- wp_enqueue_style('mappress', self::$baseurl . '/css/mappress.css', null, self::$version);
157
- wp_enqueue_style('mappress-admin', self::$baseurl . '/css/mappress_admin.css', null, self::$version);
158
- }
159
-
160
- // Temporary, for mce pointer
161
- if ($is_editing) {
162
- wp_enqueue_style( 'wp-pointer' );
163
- wp_enqueue_script( 'wp-pointer' );
164
  }
165
  }
166
 
@@ -190,6 +213,7 @@ class Mappress {
190
  // Dismissibles
191
  if (is_super_admin()) {
192
  $content = "<div class='notice notice-%s is-dismissible' data-mapp-dismiss='%s'><p>%s</p></div>";
 
193
  $dismissed = array_filter( explode( ',', (string) get_user_meta( get_current_user_id(), 'mappress_dismissed', true ) ) );
194
  $notices = (self::$notices) ? array_diff_key(self::$notices, array_flip($dismissed)) : array();
195
 
@@ -206,15 +230,26 @@ class Mappress {
206
  }
207
  }
208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  static function ajax_dismiss() {
210
  $key = isset($_POST['key']) ? $_POST['key'] : null;
211
 
212
  if (!$key || sanitize_key( $key) != $key)
213
  wp_die( 0 );
214
-
215
- $dismissed = array_filter( explode( ',', (string) get_user_meta( get_current_user_id(), 'mappress_dismissed', true ) ) );
216
- $dismissed[] = $key;
217
- update_user_meta( get_current_user_id(), 'mappress_dismissed', implode( ',', $dismissed ));
218
  self::ajax_response('OK');
219
  }
220
 
@@ -263,8 +298,9 @@ class Mappress {
263
  }
264
 
265
  static function current_screen($screen) {
266
- if ($screen && self::$pages && $screen->id == self::$pages[0] && !self::$pro) {
267
  $first_time = get_option('mappress_review');
 
268
  if (!$first_time) {
269
  update_option('mappress_review', time());
270
  return;
@@ -274,12 +310,12 @@ class Mappress {
274
  return;
275
 
276
  $ids = Mappress_Map::get_list(null, 'ids');
277
- if (count($ids) < 3)
278
  return;
279
 
280
  $review_link = sprintf("<a class='button button-primary mapp-dismiss' href='https://wordpress.org/support/view/plugin-reviews/mappress-google-maps-for-wordpress?filter=5' target='_blank'>%s</a>", __('OK, you deserve it!', 'mappress-google-maps-for-wordpress'));
281
  $no_link = sprintf("<a class='button mapp-dismiss' href='#'>%s</a>", __('Nope, maybe later', 'mappress-google-maps-for-wordpress'));
282
- $help_link = sprintf("<a class='mapp-dismiss' href='https://mappresspro.com/chris-contact' target='_blank'>%s</a>", __('I neeed some help', 'mappress-google-maps-for-wordpress'));
283
  $body = "<div class='mapp-review'>";
284
  $body .= "<h3>" . __("Please Help Spread the Word", 'mappress-google-maps-for-wordpress') . "</h3>";
285
  $body .= "<p>" . __("If you're enjoying MapPress, would you mind taking a moment to write a brief review? It would mean the world to me!", 'mappress-google-maps-for-wordpress') . "</p>";
@@ -457,6 +493,21 @@ class Mappress {
457
  Mappress::$options->save();
458
  }
459
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
460
  // Missing license
461
  if (self::$pro && !trim(self::$options->license) && (!is_multisite() || (is_super_admin() && is_main_site())))
462
  self::$notices['nolicense'] = array('warning', __('Please enter your MapPress license key to enable plugin updates', 'mappress-google-maps-for-wordpress'));
@@ -466,18 +517,13 @@ class Mappress {
466
  self::$notices['255_min_version'] = array('error', __('MapPress Gutenberg blocks require WordPress 5.3 or the latest Gutenberg Plugin. Please update if using the block editor.', 'mappress-google-maps-for-wordpress'));
467
 
468
  // New features
469
- if ($current_version && $current_version < '2.55' and self::VERSION >= '2.55')
470
- self::$notices['255_whats_new'] = array('info', sprintf(__('MapPress has many new features! Please take a moment to learn %s.', 'mappress-google-maps-for-wordpress'), '<a target="_blank" href="https://mappresspro.com/whats-new">' . __("what's new", 'mappress-google-maps-for-wordpress') . '</a>'));
 
 
 
 
471
 
472
- // New MCE editor
473
- if ($current_version && $current_version < '2.57') {
474
- $dismissed = array_filter( explode( ',', (string) get_user_meta( get_current_user_id(), 'mappress_dismissed', true ) ) );
475
- if (!in_array('257_new_editor', $dismissed)) {
476
- $header = sprintf("<h3>%s</h3>", __("The MapPress map editor has moved!", 'mappress-google-maps-for-wordpress'));
477
- $content = sprintf("<p>%s</p>", __('Use this button to open the new popup editor where you can easily create, edit and insert maps.', 'mappress-google-maps-for-wordpress'));
478
- self::$pointers['257_new_editor'] = $header . $content;
479
- }
480
- }
481
 
482
  update_option('mappress_version', self::VERSION);
483
  }
@@ -517,7 +563,7 @@ class Mappress {
517
  }
518
 
519
  static function l10n() {
520
- global $post;
521
 
522
  $l10n = array(
523
  'delete_prompt' => __('Are you sure you want to delete?', 'mappress-google-maps-for-wordpress'),
@@ -525,7 +571,7 @@ class Mappress {
525
  'kml_error' => __('Error reading KML file', 'mappress-google-maps-for-wordpress'),
526
  'layer' => __('URL for KML file', 'mappress-google-maps-for-wordpress'),
527
  'loading' => "<span class='mapp-spinner'></span>" . __('Loading', 'mappress-google-maps-for-wordpress'),
528
- 'need_classic' => __('Please select a classic editor block to insert into.', 'mappress-google-maps-for-wordpress'),
529
  'no_geolocate' => __('Unable to get your location', 'mappress-google-maps-for-wordpress'),
530
  'no_results' => __('No results', 'mappress-google-maps-for-wordpress'),
531
  'save' => __('Save changes?', 'mappress-google-maps-for-wordpress'),
@@ -540,10 +586,10 @@ class Mappress {
540
  'debug' => self::$debug,
541
  'editurl' => admin_url('post.php'),
542
  'iconsUrl' => (self::$pro) ? Mappress_Icons::$icons_url : null,
 
543
  'language' => self::get_language(),
544
  'mapbox' => self::get_api_keys()->mapbox,
545
  'nonce' => wp_create_nonce('mappress'),
546
- 'pointers' => self::$pointers,
547
  'postid' => ($post) ? $post->ID : null, // Note: GT => numeric, classic => string
548
  'pro' => self::$pro,
549
  'ssl' => self::is_ssl(), // SSL is needed for 'your location' in directions
@@ -605,7 +651,10 @@ class Mappress {
605
  }
606
 
607
  // Global settings
608
- $options = array('alignment', 'clustering', 'country', 'defaultIcon', 'directions', 'directionsServer', 'engine', 'filter', 'geocoder', 'iconScale', 'initialOpenInfo', 'iwType', 'layout', 'mashupClick', 'mini', 'poiList', 'poiZoom', 'radius', 'search', 'size', 'sizes', 'style', 'tooltips');
 
 
 
609
  foreach($options as $option) {
610
  if (isset(self::$options->$option)) {
611
  $l10n['options'][$option] = self::$options->$option;
@@ -621,6 +670,34 @@ class Mappress {
621
  wp_editor('', 'mapp-library-tinymce');
622
  }
623
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
624
  static function scripts_register() {
625
  $dev = self::is_dev();
626
  $footer = self::is_footer();
@@ -665,27 +742,6 @@ class Mappress {
665
  }
666
  }
667
 
668
- static function scripts_enqueue($type = 'frontend') {
669
- if (self::$loaded)
670
- return;
671
- else
672
- self::$loaded = true;
673
-
674
- wp_enqueue_script('mappress');
675
- wp_localize_script('mappress', 'mappl10n', self::l10n());
676
-
677
- if ($type == 'backend')
678
- wp_enqueue_script('mappress_admin');
679
-
680
- // Templates
681
- $templates = array('map', 'map-directions', 'map-filters', 'map-item', 'map-loop', 'map-popup', 'mashup-popup', 'mashup-loop', 'mashup-item');
682
- if ($type == 'backend')
683
- $templates = array_merge($templates, array('mce', 'editor', 'mce', 'widgets'));
684
-
685
- foreach($templates as $template_name)
686
- Mappress_Template::enqueue_template($template_name, self::is_footer());
687
- }
688
-
689
  static function plugin_action_links($links, $file) {
690
  $settings_link = "<a href='" . admin_url("admin.php?page=mappress") . "'>" . __('Settings', 'mappress-google-maps-for-wordpress') . "</a>";
691
  $whatsnew_link = "<a href='https://mappresspro.com/whats-new/' target='_blank'>" . __("What's new", 'mappress-google-maps-for-wordpress') . "</a>";
@@ -830,6 +886,40 @@ class Mappress {
830
  return $data;
831
  }
832
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
833
  /**
834
  * Automatic map display.
835
  * If set, the [mappress] shortcode will be prepended/appended to the post body, once for each map
@@ -892,28 +982,9 @@ class Mappress {
892
  * CSS is loaded from: child theme, theme, or plugin directory
893
  */
894
  static function wp_enqueue_scripts() {
895
- // Leaflet CSS
896
- if (self::$options->engine == 'leaflet') {
897
- wp_enqueue_style('mappress-leaflet', 'https://unpkg.com/leaflet@1.7.1/dist/leaflet.css', null, '1.7.1');
898
- if (self::$options->clustering) {
899
- wp_enqueue_style('mappress-leaflet-markercluster-default', self::$baseurl . "/lib/Leaflet.markercluster/MarkerCluster.Default.css", null, '1.4.1');
900
- wp_enqueue_style('mappress-leaflet-markercluster', self::$baseurl . "/lib/Leaflet.markercluster/MarkerCluster.css", null, '1.4.1');
901
- }
902
- }
903
-
904
- // Mappress CSS from plugin directory
905
- wp_enqueue_style('mappress', self::$baseurl . '/css/mappress.css', null, self::$version);
906
-
907
- // Mappress CSS from theme directory
908
- if ( @file_exists( get_stylesheet_directory() . '/mappress.css' ) )
909
- $file = get_stylesheet_directory_uri() . '/mappress.css';
910
- elseif ( @file_exists( get_template_directory() . '/mappress.css' ) )
911
- $file = get_template_directory_uri() . '/mappress.css';
912
-
913
- if (isset($file))
914
- wp_enqueue_style('mappress-custom', $file, array('mappress'), self::$version);
915
 
916
- // Load scripts in header
917
  if (!self::is_footer())
918
  self::scripts_enqueue();
919
  }
4
  Plugin URI: https://www.mappresspro.com/mappress
5
  Author URI: https://www.mappresspro.com/chris-contact
6
  Description: MapPress makes it easy to add Google and Leaflet Maps to WordPress
7
+ Version: 2.60
8
  Author: Chris Richardson
9
  Text Domain: mappress-google-maps-for-wordpress
10
  Thanks to all the translators and to Matthias Stasiak for his wonderful icons (http://code.google.com/p/google-maps-icons/)
37
  }
38
 
39
  class Mappress {
40
+ const VERSION = '2.60';
41
 
42
  static
43
  $baseurl,
44
  $basename,
45
  $basedir,
46
  $debug,
47
+ $iframe,
48
  $loaded,
49
  $options,
50
  $notices,
51
  $pages,
 
52
  $pro,
53
  $updater,
54
  $version
115
 
116
  add_filter('autoptimize_filter_js_exclude', array(__CLASS__, 'autoptimize_filter_js_exclude'), 10, 2);
117
  add_filter('autoptimize_filter_css_exclude', array(__CLASS__, 'autoptimize_filter_css_exclude'), 10, 2);
118
+
119
+ // Add KML/KMZ as valid mime types
120
+ add_filter('mime_types', array(__CLASS__, 'mime_types'));
121
+
122
+ if (self::$iframe)
123
+ add_action('wp_ajax_mapp_iframe', array(__CLASS__, 'ajax_iframe'));
124
+ }
125
+
126
+ static function ajax_iframe() {
127
+ check_ajax_referer('mappress', 'nonce');
128
+ if (!current_user_can('edit_posts'))
129
+ return;
130
+
131
+ ob_start();
132
+
133
+ Mappress::$options->footer = true;
134
+ Mappress::scripts_register();
135
+ Mappress::styles_enqueue('backend');
136
+ Mappress::scripts_enqueue('backend');
137
+
138
+ // Iframe needs to include some standard CSS
139
+ wp_enqueue_style('forms');
140
+ wp_enqueue_style('common');
141
+
142
+ ?>
143
+ <!doctype html>
144
+ <html class='mapp-iframe-html' <?php language_attributes(); ?>>
145
+ <head>
146
+ <title>MapPress</title>
147
+ <?php
148
+ Mappress::wp_head();
149
+ wp_print_styles();
150
+ ?>
151
+ </head>
152
+ <body>
153
+ <div id='mapp-iframe-react'></div>
154
+ <?php wp_print_footer_scripts(); ?>
155
+ <?php Mappress_Template::print_footer_templates(); ?>
156
+ </body>
157
+ </html>
158
+ <?php
159
+ $output = trim(ob_get_clean());
160
+ header( "Content-Type: text/html" );
161
+ $response = $output;
162
+ die ($response);
163
  }
164
 
165
  // Scripts & styles for admin
171
  if (empty($hook))
172
  return;
173
 
174
+ else if (empty(self::$pages)) // Network admin has no pages
 
175
  return;
176
 
177
  $is_editing = in_array($hook, array('post.php', 'post-new.php'));
180
 
181
  if ($is_editing || $is_settings || $is_customizer) {
182
  self::scripts_enqueue('backend');
183
+ if ($is_settings)
184
+ self::styles_enqueue('settings');
185
+ else
186
+ self::styles_enqueue('backend');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  }
188
  }
189
 
213
  // Dismissibles
214
  if (is_super_admin()) {
215
  $content = "<div class='notice notice-%s is-dismissible' data-mapp-dismiss='%s'><p>%s</p></div>";
216
+
217
  $dismissed = array_filter( explode( ',', (string) get_user_meta( get_current_user_id(), 'mappress_dismissed', true ) ) );
218
  $notices = (self::$notices) ? array_diff_key(self::$notices, array_flip($dismissed)) : array();
219
 
230
  }
231
  }
232
 
233
+ static function admin_notices_dismiss($key, $dismiss) {
234
+ if (!$key)
235
+ return;
236
+
237
+ $dismissed = array_filter( explode( ',', (string) get_user_meta( get_current_user_id(), 'mappress_dismissed', true ) ) );
238
+
239
+ if ($dismiss)
240
+ $dismissed[] = $key;
241
+ else
242
+ unset($dismissed[$key]);
243
+
244
+ update_user_meta( get_current_user_id(), 'mappress_dismissed', implode( ',', $dismissed ));
245
+ }
246
+
247
  static function ajax_dismiss() {
248
  $key = isset($_POST['key']) ? $_POST['key'] : null;
249
 
250
  if (!$key || sanitize_key( $key) != $key)
251
  wp_die( 0 );
252
+ self::admin_notices_dismiss($key, true);
 
 
 
253
  self::ajax_response('OK');
254
  }
255
 
298
  }
299
 
300
  static function current_screen($screen) {
301
+ if ($screen && self::$pages && $screen->id == self::$pages[0]) {
302
  $first_time = get_option('mappress_review');
303
+
304
  if (!$first_time) {
305
  update_option('mappress_review', time());
306
  return;
310
  return;
311
 
312
  $ids = Mappress_Map::get_list(null, 'ids');
313
+ if (count($ids) < 1)
314
  return;
315
 
316
  $review_link = sprintf("<a class='button button-primary mapp-dismiss' href='https://wordpress.org/support/view/plugin-reviews/mappress-google-maps-for-wordpress?filter=5' target='_blank'>%s</a>", __('OK, you deserve it!', 'mappress-google-maps-for-wordpress'));
317
  $no_link = sprintf("<a class='button mapp-dismiss' href='#'>%s</a>", __('Nope, maybe later', 'mappress-google-maps-for-wordpress'));
318
+ $help_link = sprintf("<a class='mapp-dismiss' href='https://mappresspro.com/chris-contact' target='_blank'>%s</a>", __('I need some help!', 'mappress-google-maps-for-wordpress'));
319
  $body = "<div class='mapp-review'>";
320
  $body .= "<h3>" . __("Please Help Spread the Word", 'mappress-google-maps-for-wordpress') . "</h3>";
321
  $body .= "<p>" . __("If you're enjoying MapPress, would you mind taking a moment to write a brief review? It would mean the world to me!", 'mappress-google-maps-for-wordpress') . "</p>";
493
  Mappress::$options->save();
494
  }
495
 
496
+ // Check for license expired
497
+ if (self::$pro && self::$options->license) {
498
+ $last_check = get_option('mappress_license_check');
499
+ if (!$last_check || time() > $last_check + (60 * 60 * 24 * 7)) {
500
+ $status = Mappress::$updater->get_status();
501
+ if ($status != 'active') {
502
+ self::admin_notices_dismiss('license_expired', false);
503
+ $renew_link = sprintf("<a target='_blank' href='http://mappresspro.com/account'>%s</a>", __('renew your license', 'mappress-google-maps-for-wordpress'));
504
+ self::$notices['expiredlicense'] = array('warning', sprintf(__('Your MapPress license has expired. Please %s to get the latest updates and prevent errors.', 'mappress-google-maps-for-wordpress'), $renew_link));
505
+ }
506
+ update_option('mappress_license_check', time());
507
+ return;
508
+ }
509
+ }
510
+
511
  // Missing license
512
  if (self::$pro && !trim(self::$options->license) && (!is_multisite() || (is_super_admin() && is_main_site())))
513
  self::$notices['nolicense'] = array('warning', __('Please enter your MapPress license key to enable plugin updates', 'mappress-google-maps-for-wordpress'));
517
  self::$notices['255_min_version'] = array('error', __('MapPress Gutenberg blocks require WordPress 5.3 or the latest Gutenberg Plugin. Please update if using the block editor.', 'mappress-google-maps-for-wordpress'));
518
 
519
  // New features
520
+ if ($current_version && $current_version < '2.55' && self::VERSION >= '2.55')
521
+ self::$notices['255_whats_new'] = array('info', sprintf(__('MapPress has many new features! %s.', 'mappress-google-maps-for-wordpress'), '<a target="_blank" href="https://mappresspro.com/whats-new">' . __("Learn more", 'mappress-google-maps-for-wordpress') . '</a>'));
522
+
523
+ // New features
524
+ if ($current_version && $current_version > '2.57' && $current_version < '2.60' && self::VERSION >= '2.60')
525
+ self::$notices['260_whats_new'] = array('warning', sprintf(__('MapPress popup templates have changed! Please update custom templates to the new format. %s.', 'mappress-google-maps-for-wordpress'), '<a target="_blank" href="https://mappresspro.com/whats-new">' . __("Learn more", 'mappress-google-maps-for-wordpress') . '</a>'));
526
 
 
 
 
 
 
 
 
 
 
527
 
528
  update_option('mappress_version', self::VERSION);
529
  }
563
  }
564
 
565
  static function l10n() {
566
+ global $post, $is_IE;
567
 
568
  $l10n = array(
569
  'delete_prompt' => __('Are you sure you want to delete?', 'mappress-google-maps-for-wordpress'),
571
  'kml_error' => __('Error reading KML file', 'mappress-google-maps-for-wordpress'),
572
  'layer' => __('URL for KML file', 'mappress-google-maps-for-wordpress'),
573
  'loading' => "<span class='mapp-spinner'></span>" . __('Loading', 'mappress-google-maps-for-wordpress'),
574
+ 'need_classic' => __('Please select an editor to insert into.', 'mappress-google-maps-for-wordpress'),
575
  'no_geolocate' => __('Unable to get your location', 'mappress-google-maps-for-wordpress'),
576
  'no_results' => __('No results', 'mappress-google-maps-for-wordpress'),
577
  'save' => __('Save changes?', 'mappress-google-maps-for-wordpress'),
586
  'debug' => self::$debug,
587
  'editurl' => admin_url('post.php'),
588
  'iconsUrl' => (self::$pro) ? Mappress_Icons::$icons_url : null,
589
+ 'isIE' => $is_IE,
590
  'language' => self::get_language(),
591
  'mapbox' => self::get_api_keys()->mapbox,
592
  'nonce' => wp_create_nonce('mappress'),
 
593
  'postid' => ($post) ? $post->ID : null, // Note: GT => numeric, classic => string
594
  'pro' => self::$pro,
595
  'ssl' => self::is_ssl(), // SSL is needed for 'your location' in directions
651
  }
652
 
653
  // Global settings
654
+ $options = array('alignment', 'clustering', 'country', 'defaultIcon', 'directions', 'directionsServer',
655
+ 'engine', 'filter', 'geocoder', 'highlight', 'highlightIcon', 'iconScale', 'initialOpenInfo', 'iwType', 'layout',
656
+ 'mashupClick', 'mini', 'poiList', 'poiZoom', 'radius', 'search', 'size', 'sizes', 'style', 'thumbs', 'thumbStyle', 'tooltips');
657
+
658
  foreach($options as $option) {
659
  if (isset(self::$options->$option)) {
660
  $l10n['options'][$option] = self::$options->$option;
670
  wp_editor('', 'mapp-library-tinymce');
671
  }
672
 
673
+ static function mime_types($mimes) {
674
+ // Additional entries must match WP, which use finfo_file(), e.g. KML => text/xml
675
+ $mimes['kml'] = 'text/xml'; // Real type: 'application/vnd.google-earth.kml+xml';
676
+ $mimes['kmz'] = 'application/zip'; // Real type: 'application/vnd.google-earth.kmz';
677
+ return $mimes;
678
+ }
679
+
680
+ static function scripts_enqueue($type = 'frontend') {
681
+ if (self::$loaded)
682
+ return;
683
+ else
684
+ self::$loaded = true;
685
+
686
+ wp_enqueue_script('mappress');
687
+ wp_localize_script('mappress', 'mappl10n', self::l10n());
688
+
689
+ if ($type == 'backend')
690
+ wp_enqueue_script('mappress_admin');
691
+
692
+ // Templates
693
+ $templates = array('map', 'map-directions', 'map-filters', 'map-item', 'map-loop', 'map-popup', 'mashup-popup', 'mashup-loop', 'mashup-item');
694
+ if ($type == 'backend')
695
+ $templates = array_merge($templates, array('mce', 'editor', 'widgets'));
696
+
697
+ foreach($templates as $template_name)
698
+ Mappress_Template::enqueue_template($template_name, self::is_footer());
699
+ }
700
+
701
  static function scripts_register() {
702
  $dev = self::is_dev();
703
  $footer = self::is_footer();
742
  }
743
  }
744
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
745
  static function plugin_action_links($links, $file) {
746
  $settings_link = "<a href='" . admin_url("admin.php?page=mappress") . "'>" . __('Settings', 'mappress-google-maps-for-wordpress') . "</a>";
747
  $whatsnew_link = "<a href='https://mappresspro.com/whats-new/' target='_blank'>" . __("What's new", 'mappress-google-maps-for-wordpress') . "</a>";
886
  return $data;
887
  }
888
 
889
+ static function styles_enqueue($type = 'frontend') {
890
+ // Leaflet CSS
891
+ if (self::$options->engine == 'leaflet') {
892
+ wp_enqueue_style('mappress-leaflet', 'https://unpkg.com/leaflet@1.7.1/dist/leaflet.css', null, '1.7.1');
893
+ if (self::$options->clustering) {
894
+ wp_enqueue_style('mappress-leaflet-markercluster-default', self::$baseurl . "/lib/Leaflet.markercluster/MarkerCluster.Default.css", null, '1.4.1');
895
+ wp_enqueue_style('mappress-leaflet-markercluster', self::$baseurl . "/lib/Leaflet.markercluster/MarkerCluster.css", null, '1.4.1');
896
+ }
897
+ }
898
+
899
+ // Mappress CSS from plugin directory
900
+ wp_enqueue_style('mappress', self::$baseurl . '/css/mappress.css', null, self::$version);
901
+
902
+ if ($type == 'frontend') {
903
+ // Mappress CSS from theme directory
904
+ if ( @file_exists( get_stylesheet_directory() . '/mappress.css' ) )
905
+ $file = get_stylesheet_directory_uri() . '/mappress.css';
906
+ elseif ( @file_exists( get_template_directory() . '/mappress.css' ) )
907
+ $file = get_template_directory_uri() . '/mappress.css';
908
+ if (isset($file))
909
+ wp_enqueue_style('mappress-custom', $file, array('mappress'), self::$version);
910
+ }
911
+
912
+ if ($type == 'backend' || $type == 'settings') {
913
+ wp_enqueue_style( 'wp-edit-blocks' );
914
+ wp_enqueue_style('mappress-admin', self::$baseurl . '/css/mappress_admin.css', null, self::$version);
915
+ }
916
+
917
+ if ($type == 'settings') {
918
+ if (function_exists('wp_enqueue_code_editor'))
919
+ wp_enqueue_code_editor(array( 'type' => 'php' ));
920
+ }
921
+ }
922
+
923
  /**
924
  * Automatic map display.
925
  * If set, the [mappress] shortcode will be prepended/appended to the post body, once for each map
982
  * CSS is loaded from: child theme, theme, or plugin directory
983
  */
984
  static function wp_enqueue_scripts() {
985
+ self::styles_enqueue('frontend');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
986
 
987
+ // Load scripts in header if needed
988
  if (!self::is_footer())
989
  self::scripts_enqueue();
990
  }
mappress_map.php CHANGED
@@ -49,6 +49,7 @@ class Mappress_Map extends Mappress_Obj {
49
  add_action('wp_ajax_mapp_duplicate', array(__CLASS__, 'ajax_duplicate'));
50
  add_action('wp_ajax_mapp_find', array(__CLASS__, 'ajax_find'));
51
  add_action('wp_ajax_mapp_get', array(__CLASS__, 'ajax_get'));
 
52
  add_action('wp_ajax_mapp_mutate', array(__CLASS__, 'ajax_mutate'));
53
  add_action('wp_ajax_mapp_save', array(__CLASS__, 'ajax_save'));
54
 
@@ -81,10 +82,10 @@ class Mappress_Map extends Mappress_Obj {
81
  }
82
 
83
  static function media_buttons($editor_id) {
84
- if ($editor_id == 'content') {
85
- echo '<button type="button" class="button mapp-media-button">';
86
- echo '<span class="wp-media-buttons-icon dashicons dashicons-location"></span> ' . __('MapPress', 'mappress-google-maps-for-wordpress') . '</button>';
87
- }
88
  }
89
 
90
  static function duplicate($mapid, $postid) {
@@ -231,6 +232,22 @@ class Mappress_Map extends Mappress_Obj {
231
  }
232
  }
233
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
234
  function save() {
235
  global $wpdb;
236
  $maps_table = $wpdb->prefix . 'mappress_maps';
@@ -240,6 +257,10 @@ class Mappress_Map extends Mappress_Obj {
240
  foreach($this->pois as &$poi)
241
  $poi->body = wpautop($poi->body);
242
 
 
 
 
 
243
  $map = serialize($this);
244
 
245
  // Update map
@@ -255,6 +276,9 @@ class Mappress_Map extends Mappress_Obj {
255
  if ($result === false || !$this->mapid)
256
  return false;
257
 
 
 
 
258
  $result = $wpdb->query($wpdb->prepare("INSERT INTO $posts_table (postid, mapid) VALUES(%d, %d) ON DUPLICATE KEY UPDATE postid = %d, mapid = %d", $this->postid, $this->mapid,
259
  $this->postid, $this->mapid));
260
 
@@ -304,9 +328,10 @@ class Mappress_Map extends Mappress_Obj {
304
  if ($result === false)
305
  return false;
306
 
307
- $result = $wpdb->query($wpdb->prepare("DELETE FROM $maps_table WHERE mapid = %d", $mapid));
308
- if ($result === false)
309
- return false;
 
310
 
311
  $wpdb->query("COMMIT");
312
  return true;
@@ -350,18 +375,12 @@ class Mappress_Map extends Mappress_Obj {
350
  Mappress::ajax_response('Error, map not found!');
351
 
352
  $map->update($mapdata);
353
-
354
- // Current save() allows multiple attachments, so delete existing attachments first
355
- $result = $wpdb->query($wpdb->prepare("DELETE FROM $posts_table WHERE mapid = %d", $map->mapid));
356
- if (!$result)
357
- Mappress::ajax_response('Internal error in posts table, your data has not been saved!');
358
-
359
  $result = $map->save();
360
 
361
  if (!$result)
362
  Mappress::ajax_response('Internal errorsaving, your data has not been saved!');
363
 
364
- // Return update map
365
  Mappress::ajax_response('OK', $map);
366
  }
367
 
49
  add_action('wp_ajax_mapp_duplicate', array(__CLASS__, 'ajax_duplicate'));
50
  add_action('wp_ajax_mapp_find', array(__CLASS__, 'ajax_find'));
51
  add_action('wp_ajax_mapp_get', array(__CLASS__, 'ajax_get'));
52
+ add_action('wp_ajax_mapp_get_post', array(__CLASS__, 'ajax_get_post'));
53
  add_action('wp_ajax_mapp_mutate', array(__CLASS__, 'ajax_mutate'));
54
  add_action('wp_ajax_mapp_save', array(__CLASS__, 'ajax_save'));
55
 
82
  }
83
 
84
  static function media_buttons($editor_id) {
85
+ if (Mappress::$iframe)
86
+ echo '<button class="button mapp-iframe-button" class="button mapp-media-button"><span class="wp-media-buttons-icon dashicons dashicons-location"></span> ' . __('MapPress', 'mappress-google-maps-for-wordpress') . '</button>';
87
+ else
88
+ echo '<div class="mapp-mce"></div>';
89
  }
90
 
91
  static function duplicate($mapid, $postid) {
232
  }
233
  }
234
 
235
+ static function ajax_get_post() {
236
+ global $post;
237
+
238
+ check_ajax_referer('mappress', 'nonce');
239
+ ob_start();
240
+ $postid = (isset($_GET['postid'])) ? $_GET['postid'] : null;
241
+ $post = get_post( $postid );
242
+
243
+ if (!$post)
244
+ die(sprintf(__('Post not found', 'mappress-google-maps-for-wordpress'), $postid));
245
+
246
+ setup_postdata($post);
247
+ $html = Mappress_Template::get_template('mashup-modal');
248
+ die($html);
249
+ }
250
+
251
  function save() {
252
  global $wpdb;
253
  $maps_table = $wpdb->prefix . 'mappress_maps';
257
  foreach($this->pois as &$poi)
258
  $poi->body = wpautop($poi->body);
259
 
260
+ // Make sure there's a postid
261
+ if (is_null($this->postid))
262
+ return false;
263
+
264
  $map = serialize($this);
265
 
266
  // Update map
276
  if ($result === false || !$this->mapid)
277
  return false;
278
 
279
+ // Delete any existing post assignment to prevent multiple attachment
280
+ $wpdb->query($wpdb->prepare("DELETE FROM $posts_table WHERE mapid = %d", $this->mapid));
281
+
282
  $result = $wpdb->query($wpdb->prepare("INSERT INTO $posts_table (postid, mapid) VALUES(%d, %d) ON DUPLICATE KEY UPDATE postid = %d, mapid = %d", $this->postid, $this->mapid,
283
  $this->postid, $this->mapid));
284
 
328
  if ($result === false)
329
  return false;
330
 
331
+ // Don't delete the actual map data
332
+ // $result = $wpdb->query($wpdb->prepare("DELETE FROM $maps_table WHERE mapid = %d", $mapid));
333
+ // if ($result === false)
334
+ // return false;
335
 
336
  $wpdb->query("COMMIT");
337
  return true;
375
  Mappress::ajax_response('Error, map not found!');
376
 
377
  $map->update($mapdata);
 
 
 
 
 
 
378
  $result = $map->save();
379
 
380
  if (!$result)
381
  Mappress::ajax_response('Internal errorsaving, your data has not been saved!');
382
 
383
+ // Return updated map
384
  Mappress::ajax_response('OK', $map);
385
  }
386
 
mappress_poi.php CHANGED
@@ -75,7 +75,7 @@ class Mappress_Poi extends Mappress_Obj {
75
  function get_thumbnail($post) {
76
  $size = (Mappress::$options->thumbSize) ? Mappress::$options->thumbSize : null;
77
  $style = (Mappress::$options->thumbWidth && Mappress::$options->thumbHeight) ? sprintf("width: %spx; height : %spx;", Mappress::$options->thumbWidth, Mappress::$options->thumbHeight) : null;
78
- return get_the_post_thumbnail($post, $size, array('style' => $style));
79
  }
80
  }
81
  ?>
75
  function get_thumbnail($post) {
76
  $size = (Mappress::$options->thumbSize) ? Mappress::$options->thumbSize : null;
77
  $style = (Mappress::$options->thumbWidth && Mappress::$options->thumbHeight) ? sprintf("width: %spx; height : %spx;", Mappress::$options->thumbWidth, Mappress::$options->thumbHeight) : null;
78
+ return get_the_post_thumbnail($post, $size, array('style' => $style)); // Slow due to get_post_thumbnail_id()
79
  }
80
  }
81
  ?>
mappress_settings.php CHANGED
@@ -21,6 +21,8 @@ class Mappress_Options extends Mappress_Obj {
21
  $filter,
22
  $footer = true,
23
  $geocoder,
 
 
24
  $iconScale,
25
  $initialOpenInfo,
26
  $iwType = 'iw',
@@ -46,9 +48,10 @@ class Mappress_Options extends Mappress_Obj {
46
  $style,
47
  $styles = array(),
48
  $thumbs = true,
49
- $thumbSize,
50
- $thumbWidth = 64,
51
- $thumbHeight = 64,
 
52
  $tooltips = false,
53
  $wpml = true
54
  ;
@@ -108,8 +111,8 @@ class Mappress_Settings {
108
 
109
  $this->add_section('pois', __('POI Settings', 'mappress-google-maps-for-wordpress'));
110
  $this->add_field('poiZoom', __('Default zoom', 'mappress-google-maps-for-wordpress'), 'pois');
 
111
  $this->add_field('initialOpenInfo', __('Open first POI', 'mappress-google-maps-for-wordpress'), 'pois');
112
- // TBD $this->add_field('tooltips', __('Tooltips'), 'pois');
113
 
114
  if (Mappress::$pro) {
115
  $this->add_section('mashups', __('Mashups', 'mappress-google-maps-for-wordpress'));
@@ -249,7 +252,7 @@ class Mappress_Settings {
249
  }
250
 
251
  function set_mapbox($name) {
252
- echo Mappress_Controls::input($name, $this->options->mapbox, array('size' => '50', 'placeholder' => __('Enter token to use Mapbox map tiles', 'mappress-google-maps-for-wordpress')));
253
  echo Mappress_Controls::help('', 'https://www.mapbox.com/help/define-access-token/');
254
  }
255
 
@@ -313,7 +316,7 @@ class Mappress_Settings {
313
  }
314
 
315
  function set_tooltips($name) {
316
- echo Mappress_Controls::checkmark($name, $this->options->tooltips, __('Show a tooltip when mouse is over a POI', 'mappress-google-maps-for-wordpress'));
317
  }
318
 
319
 
@@ -325,12 +328,13 @@ class Mappress_Settings {
325
  function options_page() {
326
  ?>
327
  <div class="wrap mapp-settings-screen">
328
- <div class='mapp-settings-toolbar-top'>
329
- <div class='mapp-settings-toolbar-top-header'>
330
- <h1><?php _e('MapPress', 'mappress-google-maps-for-wordpress'); ?></h1>
 
331
  <?php echo Mappress::$version; ?>
332
  </div>
333
- <div class='mapp-settings-toolbar-top-links'>
334
  <a target='_blank' href='https://mappresspro.com/mappress/mappress-documentation'><?php _e('Get help', 'mappress-google-maps-for-wordpress');?></a>
335
  <a target='_blank' href='https://mappresspro.com/whats-new/'><?php _e("What's new", 'mappress-google-maps-for-wordpress');?></a>
336
  <?php if (Mappress::$pro) { ?>
21
  $filter,
22
  $footer = true,
23
  $geocoder,
24
+ $highlight,
25
+ $highlightIcon,
26
  $iconScale,
27
  $initialOpenInfo,
28
  $iwType = 'iw',
48
  $style,
49
  $styles = array(),
50
  $thumbs = true,
51
+ $thumbSize = 'medium',
52
+ $thumbStyle = 'left',
53
+ $thumbWidth,
54
+ $thumbHeight,
55
  $tooltips = false,
56
  $wpml = true
57
  ;
111
 
112
  $this->add_section('pois', __('POI Settings', 'mappress-google-maps-for-wordpress'));
113
  $this->add_field('poiZoom', __('Default zoom', 'mappress-google-maps-for-wordpress'), 'pois');
114
+ $this->add_field('tooltips', __('Hover', 'mappress-google-maps-for-wordpress'), 'pois');
115
  $this->add_field('initialOpenInfo', __('Open first POI', 'mappress-google-maps-for-wordpress'), 'pois');
 
116
 
117
  if (Mappress::$pro) {
118
  $this->add_section('mashups', __('Mashups', 'mappress-google-maps-for-wordpress'));
252
  }
253
 
254
  function set_mapbox($name) {
255
+ echo Mappress_Controls::input($name, $this->options->mapbox, array('size' => '50', 'placeholder' => __('Enter token to use Mapbox features', 'mappress-google-maps-for-wordpress')));
256
  echo Mappress_Controls::help('', 'https://www.mapbox.com/help/define-access-token/');
257
  }
258
 
316
  }
317
 
318
  function set_tooltips($name) {
319
+ echo Mappress_Controls::checkmark($name, $this->options->tooltips, __('Open POIs on hover', 'mappress-google-maps-for-wordpress'));
320
  }
321
 
322
 
328
  function options_page() {
329
  ?>
330
  <div class="wrap mapp-settings-screen">
331
+ <h1></h1><!-- dummy h1 because wP will attach admin notices to the first h1 on the page -->
332
+ <div class='mapp-settings-header'>
333
+ <div class='mapp-settings-header-version'>
334
+ <h1><?php _e('MapPress', 'mappress-google-maps-for-wordpress'); ?></h1>
335
  <?php echo Mappress::$version; ?>
336
  </div>
337
+ <div class='mapp-settings-header-links'>
338
  <a target='_blank' href='https://mappresspro.com/mappress/mappress-documentation'><?php _e('Get help', 'mappress-google-maps-for-wordpress');?></a>
339
  <a target='_blank' href='https://mappresspro.com/whats-new/'><?php _e("What's new", 'mappress-google-maps-for-wordpress');?></a>
340
  <?php if (Mappress::$pro) { ?>
mappress_template.php CHANGED
@@ -22,7 +22,6 @@ class Mappress_Template extends Mappress_Obj {
22
  add_action('wp_ajax_mapp_tpl_delete', array(__CLASS__, 'ajax_delete'));
23
  add_filter('mappress_poi_props', array(__CLASS__, 'filter_poi_props'), 0, 3);
24
 
25
-
26
  // Print queued templates
27
  // wp_footer used instead of wp_footer_scripts because NGG reverses calling order of the two hooks
28
  add_action('wp_print_scripts', array(__CLASS__, 'print_templates'), -1);
@@ -189,7 +188,7 @@ class Mappress_Template extends Mappress_Obj {
189
 
190
  static function print_template($template_name) {
191
  // Read collections of templates or individual templates
192
- if (in_array($template_name, array('editor', 'map', 'mce', 'widgets')))
193
  require(self::locate_template($template_name));
194
  else {
195
  $template = self::get_template($template_name);
22
  add_action('wp_ajax_mapp_tpl_delete', array(__CLASS__, 'ajax_delete'));
23
  add_filter('mappress_poi_props', array(__CLASS__, 'filter_poi_props'), 0, 3);
24
 
 
25
  // Print queued templates
26
  // wp_footer used instead of wp_footer_scripts because NGG reverses calling order of the two hooks
27
  add_action('wp_print_scripts', array(__CLASS__, 'print_templates'), -1);
188
 
189
  static function print_template($template_name) {
190
  // Read collections of templates or individual templates
191
+ if (in_array($template_name, array('editor', 'map', 'widgets')))
192
  require(self::locate_template($template_name));
193
  else {
194
  $template = self::get_template($template_name);
readme.txt CHANGED
@@ -1,16 +1,16 @@
1
  === MapPress Maps for WordPress ===
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, leaflet maps, map plugin, directions, google map plugin, leaflet map plugin, map widget, mapbox, mapping
5
  Requires at least: 5.3
6
  Requires PHP: 5.6
7
  Tested up to: 5.6
8
- Stable tag: 2.58
9
 
10
  == Description ==
11
  MapPress is the easiest way to add beautiful interfactive Google and Leaflet maps to WordPress.
12
 
13
- Create unlimited maps and locations as Gutenberg blocks - or use the classic editor. Both are fully supported, and the popup map editor makes creating and editing maps easy!
14
 
15
  Upgrade to [MapPress Pro](https://mappresspro.com/mappress) for even more features, including custom markers, searchable mashups, clustering, and much more. See it in action on the [MapPress Home Page](https://mappresspro.com/mappress) or test it yourself with a [Free Demo Site](https://mappresspro.com/demo)!
16
 
@@ -28,19 +28,21 @@ Upgrade to [MapPress Pro](https://mappresspro.com/mappress) for even more featur
28
  5. POI with YouTube video
29
 
30
  = Key Features =
 
31
  * Add unlimited maps and markers to any post, page or custom post type
 
32
  * Locations can be added by address, place, or latitude/longitude, or dragged into position
33
  * Markers support custom text and HTML including photos, images, and links
34
  * Google street view and overlays (traffic, bicycling and transit)
35
- * Markers link to Google maps for detailed turn-by-turn directins
36
  * Maps can be generated using PHP for use in themes and templates
37
 
38
  = Pro Version Features =
39
  * Get [MapPress Pro](https://mappresspro.com/mappress) for additional functionality
40
  * Custom marker icons, or upload your own - 100 standard icons included
41
- * Combine maps and locations into a searchable "mashup" map
42
  * Filter locations by by taxonomy, tag or category
43
- * Map and mashup widgets
44
  * Marker clustering for both Leaflet and Google
45
  * Multiple geocoders including Google, Nominatim, Algolia and MapBox
46
  * Customizable marker and list templates
@@ -82,6 +84,40 @@ Please see the plugin documentation pages:
82
 
83
  == Changelog ==
84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  = 2.58 =
86
  * Added: new infobox with better panning and sizing
87
  * Added: infobox can now be used with Leaflet, in addition to Google
1
  === MapPress Maps for WordPress ===
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: 5.6
8
+ Stable tag: 2.60
9
 
10
  == Description ==
11
  MapPress is the easiest way to add beautiful interfactive Google and Leaflet maps to WordPress.
12
 
13
+ Create unlimited maps and map markers using Gutenberg blocks or the classic editor. The popup map editor makes creating and editing maps easy!
14
 
15
  Upgrade to [MapPress Pro](https://mappresspro.com/mappress) for even more features, including custom markers, searchable mashups, clustering, and much more. See it in action on the [MapPress Home Page](https://mappresspro.com/mappress) or test it yourself with a [Free Demo Site](https://mappresspro.com/demo)!
16
 
28
  5. POI with YouTube video
29
 
30
  = Key Features =
31
+ * The only full-featured google map plugin and leaflet map plugin that is compatible with the Gutenberg editor
32
  * Add unlimited maps and markers to any post, page or custom post type
33
+ * Maps are fully responsive, and can be sized by pixels, viewport units, percents or aspect ratios
34
  * Locations can be added by address, place, or latitude/longitude, or dragged into position
35
  * Markers support custom text and HTML including photos, images, and links
36
  * Google street view and overlays (traffic, bicycling and transit)
37
+ * Markers link the Google map site for detailed turn-by-turn directins
38
  * Maps can be generated using PHP for use in themes and templates
39
 
40
  = Pro Version Features =
41
  * Get [MapPress Pro](https://mappresspro.com/mappress) for additional functionality
42
  * Custom marker icons, or upload your own - 100 standard icons included
43
+ * Use a Gutenberg "mashup" block to create a searchable map, great for a local directory site or store locator
44
  * Filter locations by by taxonomy, tag or category
45
+ * Map widget and mashup widget are included
46
  * Marker clustering for both Leaflet and Google
47
  * Multiple geocoders including Google, Nominatim, Algolia and MapBox
48
  * Customizable marker and list templates
84
 
85
  == Changelog ==
86
 
87
+ = 2.60 =
88
+ * Added: updated flex-based mashup list & popup templates with better thumbnail support - please update any custom template
89
+ * Added: updated map popup template and CSS - please update any custom templates
90
+ * Added: for classic editor: put the cursor on a shortcode to open that map in editor
91
+ * Added: better infobox panning and sizing
92
+ * Added: mashup thumbnail position can now be set in MapPress settings
93
+ * Added: setting to open POIs on mouse hover
94
+ * Added: map library now supports column sorting by mapid, map title, and post title
95
+ * Added: window.location is now passed as argument ($args->url) to filter 'mappress_pre_query'
96
+ * Added: classic editor is now React-based
97
+
98
+ = 2.59 =
99
+ * Fixed: JS files were not compiling for IE11. Note that IE11 is NOT a supported browser.
100
+ * Fixed: Leaflet icons were not setting scale properly, interfering with marker spiderfier
101
+ * Fixed: error when saving map center of 0,0
102
+ * Added: new marker class to enable effects
103
+ * Added: map data can be recovered after deletion
104
+ * Added: highlighting on mouse over for list and marker hover
105
+ * Added: better z-indexing for hovered marker
106
+
107
+ = 2.58.3 =
108
+ * Added: selected icon can now be highlighted with a special icon or a circle
109
+ * Fixed: error preventing KML files from being added to map
110
+
111
+ = 2.58.2 =
112
+ * Fixed: jQuery warning was causing maps to not display in older WP versions
113
+
114
+ = 2.58.1 =
115
+ * Fixed: places strim trim() not working for maps with center specified by lat/lng
116
+ * Fixed: better error message for sites with obsolete jQuery and jQuery UI
117
+ * Fixed: admin notices not showing correctly on settings page
118
+ * Fixed: added warning for expired license
119
+ * Fixed: errors for invalid KML files were not displaying
120
+
121
  = 2.58 =
122
  * Added: new infobox with better panning and sizing
123
  * Added: infobox can now be used with Leaflet, in addition to Google
templates/map-directions.php CHANGED
@@ -1,19 +1,19 @@
1
  <# if (!map.editable && mappl10n.options.directions != 'google') { #>
2
- <div class='mapp-directions'>
3
- <span class='mapp-close' data-mapp-action='dir-cancel'></span>
4
- <div>
5
- <input class='mapp-dir-saddr' tabindex='1' placeholder='<?php _e("My location", 'mappress-google-maps-for-wordpress');?>' />
6
- <span data-mapp-action='dir-swap' class='mapp-dir-arrows'></span>
7
- </div>
8
 
9
- <div>
10
- <input class='mapp-dir-daddr' tabindex='2'/>
11
- </div>
12
 
13
- <div class='mapp-dir-toolbar'>
14
- <span class='mapp-button-submit' data-mapp-action='dir-get'><?php _e('Get Directions', 'mappress-google-maps-for-wordpress'); ?></span>
15
- <span class='mapp-spinner'></span>
16
- </div>
17
- <div class='mapp-dir-renderer'></div>
18
- </div>
19
  <# } #>
1
  <# if (!map.editable && mappl10n.options.directions != 'google') { #>
2
+ <div class='mapp-directions'>
3
+ <span class='mapp-close' data-mapp-action='dir-cancel'></span>
4
+ <div>
5
+ <input class='mapp-dir-saddr' tabindex='1' placeholder='<?php _e("My location", 'mappress-google-maps-for-wordpress');?>' />
6
+ <span data-mapp-action='dir-swap' class='mapp-dir-arrows'></span>
7
+ </div>
8
 
9
+ <div>
10
+ <input class='mapp-dir-daddr' tabindex='2'/>
11
+ </div>
12
 
13
+ <div class='mapp-dir-toolbar'>
14
+ <span class='mapp-button-submit' data-mapp-action='dir-get'><?php _e('Get Directions', 'mappress-google-maps-for-wordpress'); ?></span>
15
+ <span class='mapp-spinner'></span>
16
+ </div>
17
+ <div class='mapp-dir-renderer'></div>
18
+ </div>
19
  <# } #>
templates/map-filters.php CHANGED
@@ -1,17 +1,17 @@
1
  <?php if (Mappress::$pro) { ?>
2
  <# if (map.query && mappl10n.options.filter) { #>
3
- <div class='mapp-filters'>
4
- <div class='mapp-filters-list'>
5
- <?php $filter = new Mappress_Filter(array('key' => Mappress::$options->filter, 'format' => null)); ?>
6
- <div class='mapp-filter mapp-<?php echo $filter->key; ?>'>
7
- <div class='mapp-filter-label'><?php echo $filter->get_label(); ?></div>
8
- <div class='mapp-filter-values'><?php echo $filter->get_html(); ?></div>
9
- </div>
10
- </div>
11
- <div class='mapp-filters-toolbar'>
12
- <span class='mapp-button-submit mapp-filters-done' data-mapp-action='filters-toggle'><?php _e('Done', 'mappress-google-maps-for-wordpress');?></span>
13
- <span class='mapp-button mapp-filters-reset' data-mapp-action='filters-reset'><?php _e('Reset', 'mappress-google-maps-for-wordpress');?></span>
14
- </div>
15
- </div>
16
  <# } #>
17
  <?php } ?>
1
  <?php if (Mappress::$pro) { ?>
2
  <# if (map.query && mappl10n.options.filter) { #>
3
+ <div class='mapp-filters'>
4
+ <div class='mapp-filters-list'>
5
+ <?php $filter = new Mappress_Filter(array('key' => Mappress::$options->filter, 'format' => null)); ?>
6
+ <div class='mapp-filter mapp-<?php echo $filter->key; ?>'>
7
+ <div class='mapp-filter-label'><?php echo $filter->get_label(); ?></div>
8
+ <div class='mapp-filter-values'><?php echo $filter->get_html(); ?></div>
9
+ </div>
10
+ </div>
11
+ <div class='mapp-filters-toolbar'>
12
+ <span class='mapp-button-submit mapp-filters-done' data-mapp-action='filters-toggle'><?php _e('Done', 'mappress-google-maps-for-wordpress');?></span>
13
+ <span class='mapp-button mapp-filters-reset' data-mapp-action='filters-reset'><?php _e('Reset', 'mappress-google-maps-for-wordpress');?></span>
14
+ </div>
15
+ </div>
16
  <# } #>
17
  <?php } ?>
templates/map-loop.php CHANGED
@@ -5,7 +5,7 @@
5
  <# } #>
6
 
7
  <# if (map.layout != 'inline') { #>
8
- <div class='mapp-list-toggle' data-mapp-action='list-toggle'></div>
9
  <# } #>
10
 
11
  <div class="mapp-items">
5
  <# } #>
6
 
7
  <# if (map.layout != 'inline') { #>
8
+ <div class='mapp-list-toggle' data-mapp-action='list-toggle'></div>
9
  <# } #>
10
 
11
  <div class="mapp-items">
templates/map-popup.php CHANGED
@@ -1,3 +1,7 @@
1
- <div class='mapp-title'>{{{poi.title}}}</div>
2
- <div class='mapp-body'>{{{poi.body}}}</div>
3
- <div class='mapp-links'><a href='#' data-mapp-action='dir'><?php _e('Directions', 'mappress-google-maps-for-wordpress'); ?></a><div>
 
 
 
 
1
+ <div class='mapp-info'>
2
+ <div class='mapp-title'>{{{poi.title}}}</div>
3
+ <div class='mapp-body'>{{{poi.body}}}</div>
4
+ <div class='mapp-links'>
5
+ <div class='mapp-dir' data-mapp-action='dir'><?php _e('Get Directions', 'mappress-google-maps-for-wordpress'); ?></div>
6
+ </div>
7
+ </div>
templates/map.php CHANGED
@@ -10,6 +10,8 @@
10
  let alignment = (map.alignment) ? map.alignment : mappl10n.options.alignment;
11
  classes += (alignment) ? ' mapp-align-' + alignment : '';
12
 
 
 
13
  // Gutenberg additional classes https://core.trac.wordpress.org/ticket/45882
14
  classes += (map.classname) ? ' ' + map.classname : '';
15
  #>
10
  let alignment = (map.alignment) ? map.alignment : mappl10n.options.alignment;
11
  classes += (alignment) ? ' mapp-align-' + alignment : '';
12
 
13
+ classes += (mappl10n.options.isIE) ? ' mapp-ie' : '';
14
+
15
  // Gutenberg additional classes https://core.trac.wordpress.org/ticket/45882
16
  classes += (map.classname) ? ' ' + map.classname : '';
17
  #>
templates/mashup-modal.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Default template for displaying a mashup post in a modal dialog
4
+ *
5
+ */
6
+ ?>
7
+
8
+ <div class="mapp-modal-featured">
9
+ <?php the_post_thumbnail(); ?>
10
+ </div>
11
+
12
+ <article tabindex="0" class="mapp-modal-article mapp-modal-focus">
13
+ <div class="mapp-modal-title">
14
+ <?php the_title('<h1>', '</h1>' ); ?>
15
+ </div>
16
+
17
+ <div class="mapp-modal-body">
18
+ <?php the_content(__('Continue reading', 'mappress-google-maps-for-wordpress') ); ?>
19
+ </div>
20
+
21
+ <div class="mapp-modal-meta">
22
+ <div>
23
+ <div><a href="<?php the_permalink(); ?>"><?php the_time( get_option( 'date_format' ) ); ?></a></div>
24
+ <div><?php printf(/* translators: %s: Author name. */ __( 'By %s' , 'mappress-google-maps-for-wordpress'), '<a href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author_meta( 'display_name' ) ) . '</a>');?></div>
25
+ </div>
26
+
27
+ <div>
28
+ <div><?php _e( 'In' , 'mappress-google-maps-for-wordpress'); ?> <?php the_category( ', ' ); ?></div>
29
+ <div><?php _e(' Tagged ' , 'mappress-google-maps-for-wordpress'); ?><?php the_tags( '', ', ', '' ); ?></div>
30
+ </div>
31
+ </div>
32
+ </article>
33
+
templates/mashup-popup.php CHANGED
@@ -1,6 +1,8 @@
1
- <div class='mapp-title'><a href='{{{poi.url}}}' target='_blank'>{{{poi.title}}}</a></div>
2
- <div class='mapp-body'>
3
- <a href='{{{poi.url}}}' target='_blank'>{{{poi.thumbnail}}}</a>
4
- {{{poi.body}}}
5
- </div>
6
- <div class='mapp-links'><a href='#' data-mapp-action='dir'><?php _e('Directions', 'mappress-google-maps-for-wordpress'); ?></a><div>
 
 
1
+ <div class='mapp-thumbnail'><a href='{{{poi.url}}}' target='_blank'>{{{poi.thumbnail}}}</a></div>
2
+ <div class='mapp-info'>
3
+ <div class='mapp-title'><a href='{{{poi.url}}}' target='_blank'>{{{poi.title}}}</a></div>
4
+ <div class='mapp-body'>{{{poi.body}}}</div>
5
+ <div class='mapp-links'>
6
+ <div class='mapp-dir' data-mapp-action='dir'><?php _e('Get Directions', 'mappress-google-maps-for-wordpress'); ?></div>
7
+ </div>
8
+ </div>
templates_admin/editor.php CHANGED
@@ -1,17 +1,3 @@
1
- <script type='text/template' id='mapp-tmpl-edit-loop'>
2
- <div class='mapp-list-toggle' data-mapp-action='list-toggle'></div>
3
- <div class='mapp-items'>
4
- <# _.forEach(pois, function(poi, i) { #>
5
- <div class='mapp-item' data-mapp-action='open' data-mapp-poi='{{{i}}}'><# print(poi.render('item')); #></div>
6
- <# }); #>
7
- </div>
8
- </script>
9
-
10
- <script type='text/template' id='mapp-tmpl-edit-item'>
11
- <img class="mapp-icon" src="{{{poi.icon}}}">
12
- <div class='mapp-title'>{{{poi.title}}}</div>
13
- </script>
14
-
15
  <script type='text/template' id='mapp-tmpl-edit-popup'>
16
  <div class='mapp-poi-header'>
17
  <input class='mapp-poi-title' type='text' value='{{poi.title}}'>
@@ -23,13 +9,13 @@
23
  <# } #>
24
  </div>
25
 
26
- <div class='mapp-poi-editor-toolbar'>
27
- <# if (poi.type == 'kml') { #>
28
- <div class='mapp-poi-kml'>
29
- <input class='mapp-poi-url' type='text' readonly='readonly' value='<# print( (poi.kml) ? poi.kml.url : '' );#>'/>
30
- </div>
31
- <# } #>
32
 
 
33
  <div class='mapp-poi-editor-tabs'>
34
  <a class='mapp-poi-visual'><?php _e('Visual', 'mappress-google-maps-for-wordpress'); ?></a> | <a class='mapp-poi-html'><?php _e('HTML', 'mappress-google-maps-for-wordpress');?></a>
35
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <script type='text/template' id='mapp-tmpl-edit-popup'>
2
  <div class='mapp-poi-header'>
3
  <input class='mapp-poi-title' type='text' value='{{poi.title}}'>
9
  <# } #>
10
  </div>
11
 
12
+ <# if (poi.type == 'kml') { #>
13
+ <div class='mapp-poi-kml'>
14
+ <input class='mapp-poi-url' type='text' readonly='readonly' value='<# print( (poi.kml) ? poi.kml.url : '' );#>'/>
15
+ </div>
16
+ <# } #>
 
17
 
18
+ <div class='mapp-poi-editor-toolbar'>
19
  <div class='mapp-poi-editor-tabs'>
20
  <a class='mapp-poi-visual'><?php _e('Visual', 'mappress-google-maps-for-wordpress'); ?></a> | <a class='mapp-poi-html'><?php _e('HTML', 'mappress-google-maps-for-wordpress');?></a>
21
  </div>
templates_admin/mce.php DELETED
@@ -1,109 +0,0 @@
1
- <script type='text/template' id='mapp-tmpl-mce'>
2
- <div class='mapp-mce'>
3
- <div class='mapp-mce-list-panel mapp-open'>
4
- <div class='mapp-mce-header'>
5
- <div class='mapp-mce-header-left'>
6
- <h1><?php _e('Select a map', 'mappress-google-maps-for-wordpress');?></h1>
7
- <input data-mapp-mce='add' class='button' type='button' value='<?php esc_attr_e('Add New', 'mappress-google-maps-for-wordpress')?>' />
8
- </div>
9
- </div>
10
- <div class='mapp-mce-filter-block'>
11
- <div class='mapp-mce-search-block'>
12
- <?php _e('Search', 'mappress-google-maps-for-wordpress'); ?>
13
- <input type='text' size="15" class='mapp-mce-search' placeholder='<?php _e('post title', 'mappress-google-maps-for-wordpress');?>'>
14
- <span class='spinner'></span>
15
- </div>
16
- <div class='mapp-mce-types-block'>
17
- <label><input type='radio' name='mapp-mce-list-type' checked value='post'><?php _e('Attached to this post', 'mappress-google-maps-for-wordpress');?></label>
18
- <label><input type='radio' name='mapp-mce-list-type' value='all'><?php _e('All maps', 'mappress-google-maps-for-wordpress');?></label>
19
- </div>
20
- </div>
21
- <div class='mapp-mce-list'></div>
22
- <div class='mapp-mce-toolbar'>
23
- <input data-mapp-mce='close' class='button' type='button' value='<?php esc_attr_e('Close', 'mappress-google-maps-for-wordpress'); ?>' />
24
- </div>
25
- </div>
26
-
27
- <div class='mapp-mce-edit-panel'>
28
- <div class='mapp-mce-header'>
29
- <input class='mapp-mce-title' type='text' placeholder='<?php _e('Untitled', 'mappress-google-maps-for-wordpress');?>' />
30
- </div>
31
- <div class='mapp-mce-settings'>
32
- <div class='mapp-mce-setting'>
33
- <div class='mapp-mce-label'><?php _e('Size', 'mappress-google-maps-for-wordpress');?></div>
34
- <div class='mapp-mce-sizes'>
35
- <?php
36
- $sizes = array();
37
- foreach(Mappress::$options->sizes as $i => $size)
38
- $sizes[] = "<a href='#' class='mapp-mce-size' data-width='{$size['width']}' data-height='{$size['height']}'>" . $size['width'] . 'x' . $size['height'] . "</a>";
39
- echo implode(' | ', $sizes);
40
- ?>
41
- </div>
42
- <div class='mapp-mce-custom'>
43
- <input type='text' class='mapp-mce-width' size='2' value='' /> x <input type='text' class='mapp-mce-height' size='2' value='' />
44
- </div>
45
- </div>
46
- <div class='mapp-mce-setting'>
47
- <div class='mapp-mce-label'><?php _e('Map ID', 'mappress-google-maps-for-wordpress');?></div>
48
- <div class='mapp-mce-mapid'></div>
49
- </div>
50
- </div>
51
- <div class='mapp-edit'></div>
52
- <div class='mapp-mce-toolbar'>
53
- <input data-mapp-mce='save' class='button button-primary' type='button' value='<?php esc_attr_e('Save', 'mappress-google-maps-for-wordpress'); ?>' />
54
- <input data-mapp-mce='cancel' class='button' type='button' value='<?php esc_attr_e('Cancel', 'mappress-google-maps-for-wordpress'); ?>' />
55
- <label class='mapp-mce-viewport-block'>
56
- <input type='checkbox' class='mapp-mce-viewport'>
57
- <?php _e('Save center / zoom', 'mappress-google-maps-for-wordpress');?>
58
- </label>
59
- </div>
60
- </div>
61
- </div>
62
- </script>
63
-
64
- <script type='text/template' id='mapp-tmpl-mce-list'>
65
- <div class='mapp-mce-list-header'>
66
- <div class='mapp-mce-col-map-title'><?php _e('Map title', 'mappress-google-maps-for-wordpress');?></div>
67
- <div class='mapp-mce-col-mapid'><?php _e('Map ID', 'mappress-google-maps-for-wordpress');?></div>
68
- <# if (type == 'all') { #>
69
- <div class='mapp-mce-col-post-title'><?php _e('Attached to', 'mappress-google-maps-for-wordpress');?></div>
70
- <# } #>
71
- <div class='mapp-mce-col-actions'><?php _e('Action', 'mappress-google-maps-for-wordpress');?></div>
72
- </div>
73
- <div class='mapp-mce-items'>
74
- <# _.forEach(items, function(item, i) { #>
75
- <# var className = (item.mapid == selected) ? 'mapp-mce-item mapp-selected' : 'mapp-mce-item'; #>
76
- <div class='{{className}}' data-mapp-mce-list='edit' data-mapp-mapid='{{ item.mapid }}'>
77
- <div class='mapp-mce-col-map-title'>
78
- <# if (item.map_title) { #>{{ item.map_title }}<# } else { #><?php _e('Untitled', 'mappress-google-maps-for-wordpress');?><# } #>
79
- </div>
80
-
81
- <div class='mapp-mce-col-mapid'>{{item.mapid}}</div>
82
-
83
- <# if (type == 'all') {
84
- var postTitle = (item.post_title) ? item.post_title : '<?php _e('Untitled', 'mappress-google-maps-for-wordpress');?>';
85
- postTitle = (item.postid == mappl10n.options.postid) ? '<?php _e('Current post', 'mappress-google-maps-for-wordpress');?>' : postTitle;
86
- var link = '';
87
- if (item.postid > 0) {
88
- link = (item.postid == mappl10n.options.postid) ? postTitle : '<a href="' + mappl10n.options.editurl + '?post=' + item.postid + '&action=edit" target="_blank">' + postTitle + '</a>';
89
- } else {
90
- link = '<?php _e('Unattached', 'mappress-google-maps-for-wordpress');?>';
91
- }
92
- #>
93
- <div class='mapp-mce-col-post-title'>{{{link}}}</div>
94
- <# } #>
95
-
96
- <div class='mapp-mce-col-actions'>
97
- <a href='#' data-mapp-mce-list='insert'><?php _e('Insert into post', 'mappress-google-maps-for-wordpress');?></a> |&nbsp;
98
- <a href='#' data-mapp-mce-list='remove'><?php _e('Delete', 'mappress-google-maps-for-wordpress');?></a>
99
- </div>
100
- </div>
101
- <# }); #>
102
- </div>
103
- <div class='mapp-mce-list-footer'>
104
- <# if (items.length == 0) { #>
105
- <?php _e('No maps found', 'mappress-google-maps-for-wordpress');?>
106
- <# } #>
107
- </div>
108
- </div>
109
- </script>