/* @preserve sidr - v3.0.0 - 2017-12-10 http://www.berriart.com/sidr/ Copyright (c) 2013-2017 Alberto Varela; Licensed MIT */ !function(){"use strict";var e={name:"sidr",speed:200,side:"left",source:null,renaming:!0,body:"body",displace:!0,timing:"ease",method:"toggle",bind:"click",onOpen:function(){},onClose:function(){},onOpenEnd:function(){},onCloseEnd:function(){}},t={},n=function(e,n){t[e]=n},i=function(e){return t[e]},o=function(e){return!!new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i").test(e)},s=function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},r=function(e,t){var n=new XMLHttpRequest;n.onreadystatechange=function(){4===n.readyState&&200===n.status&&t(n.responseText)},n.open("GET",e,!0),n.send()};function a(e,t){var n=e.getAttribute(t);"string"==typeof n&&""!==n&&"sidr-inner"!==n&&e.setAttribute(t,n.replace(/([A-Za-z0-9_.-]+)/g,"sidr-"+t+"-$1"))}var l={id:function(e){return document.getElementById(e)},qs:function(e){return document.querySelector(e)},qsa:function(e){return document.querySelectorAll(e)},createElement:function(e){var t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},getHTMLContent:function(e){for(var t="",n=this.qsa(e),i=0;i<n.length;i++)t+='<div class="sidr-inner">'+n[i].innerHTML+"</div>";return t},addPrefixes:function(e){var t=document.createElement("div");t.innerHTML=e;for(var n=t.querySelectorAll("*"),i=0;i<n.length;i++)a(n[i],"id"),a(n[i],"class"),n[i].removeAttribute("style");return t.innerHTML},transitions:function(){var e=(document.body||document.documentElement).style,t=!1,n="transition",i="transition",o="transitionend";if(n in e)t=!0;else{var s=function(e,t){for(var n=void 0,i=["moz","webkit","o","ms"],o=0;o<i.length;o++)if((n=i[o])+e in t)return n;return!1}(n=n.charAt(0).toUpperCase()+n.substr(1),e);i=(t=!!s)?s+n:null,n=t?"-"+s+"-"+n.toLowerCase():null,"webkit"===s?o="webkitTransitionEnd":"0"===s&&(o="oTransitionEnd")}return{cssProperty:i,supported:t,property:n,event:o}}()},u=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},h=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t};function p(e,t,n){for(var i=n.split(" "),o=0;o<i.length;o++){var s=i[o].trim();e.classList[t](s)}}function f(e,t,n){e[t]=n}function v(e,t,n){return e[t]}var m=function(){function e(t){u(this,e),this.element=t}return c(e,[{key:"bind",value:function(e,t){this.element.addEventListener(e,t,!1)}},{key:"unbind",value:function(e,t){this.element.removeEventListener(e,t,!1)}},{key:"style",value:function(e,t){if("string"==typeof e)this.element.style[e]=t;else for(var n in e)e.hasOwnProperty(n)&&(this.element.style[n]=e[n])}},{key:"addClass",value:function(e){p(this.element,"add",e)}},{key:"removeClass",value:function(e){p(this.element,"remove",e)}},{key:"html",value:function(e){if(!e)return v(this.element,"innerHTML");f(this.element,"innerHTML",e)}},{key:"scrollTop",value:function(e){if(!e)return v(this.element,"scrollTop");f(this.element,"scrollTop",e)}},{key:"offsetWidth",value:function(){return this.element.offsetWidth}}]),e}(),y="sidr-animating",b="open";function g(e){return"BODY"===e.tagName}function C(e){var t="sidr-open";return"sidr"!==e&&(t+=" "+e+"-open"),t}for(var k=function(e){function t(e,n){u(this,t);var i=h(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,l.qs(e.body)));return i.name=e.name,i.side=e.side,i.speed=e.speed,i.timing=e.timing,i.displace=e.displace,i.menuWidth=n,i}return d(t,e),c(t,[{key:"prepare",value:function(e){var t=e===b?"hidden":"";if(g(this.element)){var n=new m(l.qs("html")),i=n.scrollTop();n.style("overflowX",t),n.scrollTop(i)}}},{key:"unprepare",value:function(){g(this.element)&&new m(l.qs("html")).style("overflowX","")}},{key:"move",value:function(e){this.addClass(y),e===b?this.open():this.close()}},{key:"open",value:function(){var e=this;if(this.displace){var t=l.transitions,n={width:this.offsetWidth()+"px",position:"absolute"};this.style(this.side,"0"),this.style(t.cssProperty,this.side+" "+this.speed/1e3+"s "+this.timing),this.style(n),setTimeout((function(){return e.style(e.side,e.menuWidth+"px")}),1)}}},{key:"onClose",value:function(){var e=l.transitions,t={width:"",position:"",right:"",left:""};t[e.cssProperty]="",this.style(t),this.unbind(e.event,this.temporalCallback)}},{key:"close",value:function(){if(this.displace){var e=l.transitions;this.style(this.side,0);var t=this;this.temporalCallback=function(){t.onClose()},this.bind(e.event,this.temporalCallback)}}},{key:"removeAnimationClass",value:function(){this.removeClass(y)}},{key:"removeOpenClass",value:function(){this.removeClass(C(this.name))}},{key:"addOpenClass",value:function(){this.addClass(C(this.name))}}]),t}(m),O={moving:!1,opened:!1},w=function(e){function t(e){u(this,t);var n=h(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,l.id(e.name)));return n.name=e.name,n.speed=e.speed,n.side=e.side,n.displace=e.displace,n.source=e.source,n.timing=e.timing,n.method=e.method,n.renaming=e.renaming,n.onOpenCallback=e.onOpen,n.onCloseCallback=e.onClose,n.onOpenEndCallback=e.onOpenEnd,n.onCloseEndCallback=e.onCloseEnd,n.init(e),n}return d(t,e),c(t,[{key:"init",value:function(e){this.element||(this.element=l.createElement(this.name)),this.style(l.transitions.cssProperty,this.side+" "+this.speed/1e3+"s "+this.timing),this.addClass("sidr sidr-"+this.side),this.body=new k(e,this.offsetWidth()),this.reload()}},{key:"reload",value:function(){var e=this;if("function"==typeof this.source){var t=this.source(name);this.html(t)}else if("string"==typeof this.source&&o(this.source))r(this.source,(function(t){e.html(t)}));else if("string"==typeof this.source){var n=l.getHTMLContent(this.source);this.renaming&&(n=l.addPrefixes(n)),this.html(n)}else null!==this.source&&console.error("Invalid Sidr Source")}},{key:"move",value:function(e,t){O.moving=!0,this.body.prepare(e),this.body.move(e),this.moveMenu(e,t)}},{key:"open",value:function(e){var t=this;O.opened===this.name||O.moving||(!1===O.opened?(this.move("open",e),this.onOpenCallback()):i(O.opened).close((function(){t.open(e)})))}},{key:"close",value:function(e){O.opened!==this.name||O.moving||(this.move("close",e),this.onCloseCallback())}},{key:"toggle",value:function(e){O.opened===this.name?this.close(e):this.open(e)}},{key:"onOpenMenu",value:function(e){var t=this.name;O.moving=!1,O.opened=t,this.unbind(l.transitions.event,this.temporalOpenMenuCallback),this.body.removeAnimationClass(),this.body.addOpenClass(),this.onOpenEndCallback(),"function"==typeof e&&e(t)}},{key:"openMenu",value:function(e){var t=this;this.style(this.side,0),this.temporalOpenMenuCallback=function(){t.onOpenMenu(e)},this.bind(l.transitions.event,this.temporalOpenMenuCallback)}},{key:"onCloseMenu",value:function(e){this.unbind(l.transitions.event,this.temporalCloseMenuCallback),this.style({left:"",right:""}),this.body.unprepare(),O.moving=!1,O.opened=!1,this.body.removeAnimationClass(),this.body.removeOpenClass(),this.onCloseEndCallback(),"function"==typeof e&&e(name)}},{key:"closeMenu",value:function(e){var t=this;this.style(this.side,""),this.temporalCloseMenuCallback=function(){t.onCloseMenu(e)},this.bind(l.transitions.event,this.temporalCloseMenuCallback)}},{key:"moveMenu",value:function(e,t){"open"===e?this.openMenu(t):this.closeMenu(t)}}]),t}(m),M=function(e){return function(t,n){"function"==typeof t?(n=t,t="sidr"):t||(t="sidr"),i(t)[e](n)}},E={},_=["open","close","toggle","reload"],T=0;T<_.length;T++){var A=_[T];E[A]=M(A)}function P(e){return"status"===e?O:E[e]?E[e].apply(this,Array.prototype.slice.call(arguments,1)):"function"!=typeof e&&"string"!=typeof e&&e?void console.error("Method "+e+" does not exist on sidr"):E.toggle.apply(this,arguments)}var L=function(e){function t(e,n){u(this,t);var i=h(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return i.init(n),i}return d(t,e),c(t,[{key:"init",value:function(e){if(!this.element.getAttribute("data-sidr")){var t=e.name,n=e.method,i=e.bind;this.element.setAttribute("data-sidr",t),this.bind(i,(function(e){e.preventDefault(),P(n,t)}))}}}]),t}(m),q={new:function(t,i){var o=s(e,i),r=l.qsa(t);n(o.name,new w(o));for(var a=0;a<r.length;a++)new L(r[a],o)},status:function(){return P.apply(void 0,["status"].concat(Array.prototype.slice.call(arguments)))},reload:function(){return P.apply(void 0,["reload"].concat(Array.prototype.slice.call(arguments)))},close:function(){return P.apply(void 0,["close"].concat(Array.prototype.slice.call(arguments)))},open:function(){return P.apply(void 0,["open"].concat(Array.prototype.slice.call(arguments)))},toggle:function(){return P.apply(void 0,["toggle"].concat(Array.prototype.slice.call(arguments)))}};window.sidr=q}();