L.Control.Sidebar=L.Control.extend({includes:L.Mixin.Events,options:{closeButton:!0,position:"left",autoPan:!0},initialize:function(n,t){var i,r,u,f;L.setOptions(this,t);i=this._contentContainer=L.DomUtil.get(n);i.parentNode.removeChild(i);r="leaflet-";u=this._container=L.DomUtil.create("div",r+"sidebar "+this.options.position);L.DomUtil.addClass(i,r+"control");u.appendChild(i);this.options.closeButton&&(f=this._closeButton=L.DomUtil.create("a","close",u),f.innerHTML="&times;")},addTo:function(n){var r=this._container,i=this._contentContainer,f,u,t;if(this.options.closeButton){f=this._closeButton;L.DomEvent.on(f,"click",this.hide,this)}L.DomEvent.on(r,"transitionend",this._handleTransitionEvent,this).on(r,"webkitTransitionEnd",this._handleTransitionEvent,this);u=n._controlContainer;u.insertBefore(r,u.firstChild);this._map=n;t=L.DomEvent.stopPropagation;L.DomEvent.on(i,"contextmenu",t).on(i,"click",t).on(i,"mousedown",t).on(i,"touchstart",t).on(i,"dblclick",t).on(i,"mousewheel",t).on(i,"MozMousePixelScroll",t);return this},removeFrom:function(n){var t,r,i,u;return this.hide(),t=this._contentContainer,r=n._controlContainer,r.removeChild(this._container),this._map=null,i=L.DomEvent.stopPropagation,L.DomEvent.off(t,"contextmenu",i).off(t,"click",i).off(t,"mousedown",i).off(t,"touchstart",i).off(t,"dblclick",i).off(t,"mousewheel",i).off(t,"MozMousePixelScroll",i),L.DomEvent.off(container,"transitionend",this._handleTransitionEvent,this).off(container,"webkitTransitionEnd",this._handleTransitionEvent,this),this._closeButton&&this._close&&(u=this._closeButton,L.DomEvent.off(u,"click",this.hide,this)),this},isVisible:function(){return L.DomUtil.hasClass(this._container,"visible")},show:function(){this.isVisible()||(L.DomUtil.addClass(this._container,"visible"),this.options.autoPan&&this._map.panBy([-this.getOffset()/2,0],{duration:.5}),this.fire("show"))},hide:function(n){this.isVisible()&&(L.DomUtil.removeClass(this._container,"visible"),this.options.autoPan&&this._map.panBy([this.getOffset()/2,0],{duration:.5}),this.fire("hide"));n&&L.DomEvent.stopPropagation(n)},toggle:function(){this.isVisible()?this.hide():this.show()},getContainer:function(){return this._contentContainer},getCloseButton:function(){return this._closeButton},setContent:function(n){return this.getContainer().innerHTML=n,this},getOffset:function(){return this.options.position==="right"?-this._container.offsetWidth:this._container.offsetWidth},_handleTransitionEvent:function(n){(n.propertyName=="left"||n.propertyName=="right")&&this.fire(this.isVisible()?"shown":"hidden")}});L.control.sidebar=function(n,t){return new L.Control.Sidebar(n,t)}