(function($){var methods={init:function init(options){var noop=function(){};var defaults={animationDelay:500,swipe:!1,beforeHide:noop,afterHide:noop,beforeShow:noop,afterShow:noop};var $this=$(this);var $document=$(document);var $window=$(window);var beforeShow=function beforeShow(){_.$rightPanel.scrollTop(0);_.$container.removeClass('offcanvas-hidden');_.beforeShow()};var afterShow=function afterShow(){_.$container.addClass('offcanvas-visible').removeClass('offcanvas-slide-left');_.lastLeft=_.$document.scrollLeft();_.shown=!0;_.scrolling=!1;_.afterShow()};var show=function show(){beforeShow();_.$container.addClass('offcanvas-slide-left');setTimeout(afterShow,_.animationDelay)};var beforeHide=function beforeHide(){_.beforeHide()};var afterHide=function afterHide(){_.$container.addClass('offcanvas-hidden').removeClass('offcanvas-slide-right');_.lastLeft=_.$document.scrollLeft();_.shown=!1;_.scrolling=!1;_.afterHide()};var hide=function hide(e){beforeHide();_.$container.removeClass('offcanvas-visible').addClass('offcanvas-slide-right');setTimeout(afterHide,_.animationDelay)};var onScroll=function onScroll(e){if(!_.swipe){return!0}
if(_.$window.width()>768){return!0}
var scrollDelta=5;var left=_.$document.scrollLeft();var delta=left-_.lastLeft;if(!_.scrolling&&Math.abs(delta)>scrollDelta){_.scrolling=!0;if(delta>0){_.show()}else{_.hide()}}};var $target=$($this.data('offcanvas-target'));var $dismiss=$($this.data('dismiss'));var $container=$target.parent('.offcanvas-container');var $rightPanel=$container.find('.offcanvas-panel-right');var _=Object.assign({},defaults,options,{lastLeft:$document.scrollLeft(),show:show,hide:hide,$window:$window,$document:$document,$trigger:$this,$target:$target,$dismiss:$dismiss,$container:$container,$rightPanel:$rightPanel});$this.data('offcanvas',_);$this.on('click',_.show);$dismiss.on('click',_.hide);$window.on('scroll',onScroll)},show:function show(){var _=$(this).data('offcanvas');_.show()},hide:function hide(){var _=$(this).data('offcanvas');_.hide()}};$.fn.offcanvas=function offcanvas(methodOrOptions){return this.each(function initOffcanvas(){if(methods[methodOrOptions]){return methods[methodOrOptions].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof methodOrOptions==='object'||!methodOrOptions){return methods.init.call(this,methodOrOptions)}else{$.error('Method '+methodOrOptions+' does not exist on jQuery.offcanvas')}})}})($)