!function(e){vart;if("function"==typeofdefine&&define.amd)define(["leaflet"],e);elseif("undefined"!=typeofmodule)t=require("leaflet"),module.exports=e(t);else{if("undefined"==typeofwindow.L)throw"Leaflet must be loaded first";e(window.L)}}(function(e){"use strict";returne.Control.Geocoder=e.Control.extend({options:{showResultIcons:!1,collapsed:!0,expand:"click",position:"topright",placeholder:"Search...",errorMessage:"Nothing found."},_callbackId:0,initialize:function(t){e.Util.setOptions(this,t),this.options.geocoder||(this.options.geocoder=newe.Control.Geocoder.Nominatim)},onAdd:function(t){varo,n="leaflet-control-geocoder",r=e.DomUtil.create("div",n),s=e.DomUtil.create("div","leaflet-control-geocoder-icon",r),i=this._form=e.DomUtil.create("form",n+"-form",r);returnthis._map=t,this._container=r,o=this._input=e.DomUtil.create("input"),o.type="text",o.placeholder=this.options.placeholder,e.DomEvent.addListener(o,"keydown",this._keydown,this),this._errorElement=document.createElement("div"),this._errorElement.className=n+"-form-no-error",this._errorElement.innerHTML=this.options.errorMessage,this._alts=e.DomUtil.create("ul",n+"-alternatives leaflet-control-geocoder-alternatives-minimized"),i.appendChild(o),i.appendChild(this._errorElement),r.appendChild(this._alts),e.DomEvent.addListener(i,"submit",this._geocode,this),this.options.collapsed?"click"===this.options.expand?e.DomEvent.addListener(s,"click",function(e){0===e.button&&2!==e.detail&&this._toggle()},this):(e.DomEvent.addListener(s,"mouseover",this._expand,this),e.DomEvent.addListener(s,"mouseout",this._collapse,this),this._map.on("movestart",this._collapse,this)):this._expand(),e.DomEvent.disableClickPropagation(r),r},_geocodeResult:function(t){if(e.DomUtil.removeClass(this._container,"leaflet-control-geocoder-throbber"),1===t.length)this._geocodeResultSelected(t[0]);elseif(t.length>0){this._alts.innerHTML="",this._results=t,e.DomUtil.removeClass(this._alts,"leaflet-control-geocoder-alternatives-minimized");for(varo=0;o<t.length;o++)this._alts.appendChild(this._createAlt(t[o],o))}elsee.DomUtil.addClass(this._errorElement,"leaflet-control-geocoder-error")},markGeocode:function(t){returnthis._map.fitBounds(t.bbox),this._geocodeMarker&&this._map.removeLayer(this._geocodeMarker),this._geocodeMarker=newe.Marker(t.center).bindPopup(t.html||t.name).addTo(this._map).openPopup(),this},_geocode:function(t){returne.DomEvent.preventDefault(t),e.DomUtil.addClass(this._container,"leaflet-control-geocoder-throbber"),this._clearResults(),this.options.geocoder.geocode(this._input.value,this._geocodeResult,this),!1},_geocodeResultSelected:function(e){this.options.collapsed?this._collapse():this._clearResults(),this.markGeocode(e)},_toggle:function(){this._container.className.indexOf("leaflet-control-geocoder-expanded")>=0?this._collapse():this._expand()},_expand:function(){e.DomUtil.addClass(this._container,"leaflet-control-geocoder-expanded"),this._input.select()},_collapse:function(){this._container.className=this._container.className.replace(" leaflet-control-geocoder-expanded",""),e.DomUtil.addClass(this._alts,"leaflet-control-geocoder-alternatives-minimized"),e.DomUtil.removeClass(this._errorElement,"leaflet-control-geocoder-error")},_clearResults:function(){e.DomUtil.addClass(this._alts,"leaflet-control-geocoder-alternatives-minimized"),this._selection=null,e.DomUtil.removeClass(this._errorElement,"leaflet-control-geocoder-error")},_createAlt:function(t,o){varn=document.createElement("li"),r=e.DomUtil.create("a","",n),s=this.options.showResultIcons&&t.icon?e.DomUtil.create("img","",r):null,i=t.html?void0:document.createTextNode(t.name);returns&&(s.src=t.icon),r.href="#",r.setAttribute("data-result-index",o),t.html?r.innerHTML=t.html:r.appendChild(i),e.DomEvent.addListener(n,"click",function(o){e.DomEvent.preventDefault(o),this._geocodeResultSelected(t)},this),n},_keydown:function(t){varo=this,n=function(t){o._selection&&(e.DomUtil.removeClass(o._selection.firstChild,"leaflet-control-geocoder-selected"),o._selection=o._selection[t>0?"nextSibling":"previousS