!function(a){var b;window.UIkit&&(b=a(UIkit)),"function"==typeof define&&define.amd&&define("uikit-nestable",["uikit"],function(){return b||a(UIkit)})}(function(a){"use strict";var b,c="ontouchstart"in window,d=a.$html,e=[],f=a.$win,g=c?"touchstart":"mousedown",h=c?"touchmove":"mousemove",i=c?"touchend":"mouseup",j=c?"touchcancel":"mouseup";return a.component("nestable",{defaults:{listBaseClass:"uk-nestable",listClass:"uk-nestable-list",listItemClass:"uk-nestable-item",dragClass:"uk-nestable-dragged",movingClass:"uk-nestable-moving",noChildrenClass:"uk-nestable-nochildren",emptyClass:"uk-nestable-empty",handleClass:"",collapsedClass:"uk-collapsed",placeholderClass:"uk-nestable-placeholder",noDragClass:"uk-nestable-nodrag",group:!1,maxDepth:10,threshold:20,idlethreshold:10},boot:function(){a.$html.on("mousemove touchmove",function(c){if(b){var d=b.offset().top;dwindow.innerHeight+a.$win.scrollTop()&&a.$win.scrollTop(a.$win.scrollTop()+Math.ceil(b.height()/2))}}),a.ready(function(b){a.$("[data-uk-nestable]",b).each(function(){var b=a.$(this);b.data("nestable")||a.nestable(b,a.Utils.options(b.attr("data-uk-nestable")))})})},init:function(){var d=this;Object.keys(this.options).forEach(function(a){String(a).indexOf("Class")!=-1&&(d.options["_"+a]="."+d.options[a])}),this.find(this.options._listItemClass).find(">ul").addClass(this.options.listClass),this.checkEmptyList(),this.reset(),this.element.data("nestable-group",this.options.group||a.Utils.uid("nestable-group")),this.find(this.options._listItemClass).each(function(){d.setParent(a.$(this))}),this.on("click","[data-nestable-action]",function(b){if(!d.dragEl&&(c||0===b.button)){b.preventDefault();var e=a.$(b.currentTarget),f=e.data("nestableAction"),g=e.closest(d.options._listItemClass);"collapse"===f&&d.collapseItem(g),"expand"===f&&d.expandItem(g),"toggle"===f&&d.toggleItem(g)}});var e=function(b){var e=a.$(b.target),f=e.is("a[href]")?e:e.parents("a[href]");b.target!==d.element[0]&&(e.is(d.options._noDragClass)||e.closest(d.options._noDragClass).length||e.is("[data-nestable-action]")||e.closest("[data-nestable-action]").length||(d.options.handleClass&&!e.hasClass(d.options.handleClass)&&d.options.handleClass&&(e=e.closest(d.options._handleClass)),!e.length||d.dragEl||!c&&0!==b.button||c&&1!==b.touches.length||(b.originalEvent&&b.originalEvent.touches&&(b=evt.originalEvent.touches[0]),d.delayMove=function(a){f=!1,a.preventDefault(),d.dragStart(b),d.trigger("start.uk.nestable",[d]),d.delayMove=!1},d.delayMove.x=parseInt(b.pageX,10),d.delayMove.y=parseInt(b.pageY,10),d.delayMove.threshold=d.options.idlethreshold,f.length&&"touchend"==i&&d.one(i,function(){f&&f.attr("href").trim()&&(location.href=f.attr("href"))}),b.preventDefault())))},k=function(a){a.originalEvent&&a.originalEvent.touches&&(a=a.originalEvent.touches[0]),d.delayMove&&(Math.abs(a.pageX-d.delayMove.x)>d.delayMove.threshold||Math.abs(a.pageY-d.delayMove.y)>d.delayMove.threshold)&&(window.getSelection().toString()?d.delayMove=!1:d.delayMove(a)),d.dragEl&&(a.preventDefault(),d.dragMove(a),d.trigger("move.uk.nestable",[d]))},l=function(a){d.dragEl&&(a.preventDefault(),d.dragStop(c?a.touches[0]:a)),b=!1,d.delayMove=!1};c?(this.element[0].addEventListener(g,e,!1),window.addEventListener(h,k,!1),window.addEventListener(i,l,!1),window.addEventListener(j,l,!1)):(this.on(g,e),f.on(h,k),f.on(i,l))},serialize:function(){var b,c=0,d=this,e=function(b,c){var f=[],g=b.children(d.options._listItemClass);return g.each(function(){for(var b,g,h,i=a.$(this),j={},k=i.children(d.options._listClass),l=0;l").addClass(this.options.listClass+" "+this.options.dragClass).append(g.clone()),this.dragEl.css("width",g.width()),this.placeEl.addClass(this.options.placeholderClass),b=this.dragEl,this.tmpDragOnSiblings=[g[0].previousSibling,g[0].nextSibling],a.$body.append(this.dragEl),this.dragEl.css({left:h.left,top:h.top});var i,j,k=this.dragEl.find(this.options._listItemClass);for(i=0;ithis.dragDepth&&(this.dragDepth=j);d.addClass(this.options.movingClass)},dragStop:function(b){var c=a.$(this.placeEl),e=this.placeEl.parents(this.options._listBaseClass+":first");this.placeEl.removeClass(this.options.placeholderClass),this.dragEl.remove(),this.element[0]!==e[0]?(e.trigger("change.uk.nestable",[e.data("nestable"),c,"added"]),this.element.trigger("change.uk.nestable",[this,c,"removed"])):this.element.trigger("change.uk.nestable",[this,c,"moved"]),this.trigger("stop.uk.nestable",[this,c]),this.reset(),d.removeClass(this.options.movingClass)},dragMove:function(b){var c,d,f,g,h,i=this.options,j=this.mouse,k=this.dragRootEl?this.dragRootEl.data("nestable").options.maxDepth:i.maxDepth;this.dragEl.css({left:b.pageX-j.offsetX,top:b.pageY-j.offsetY}),j.lastX=j.nowX,j.lastY=j.nowY,j.nowX=b.pageX,j.nowY=b.pageY,j.distX=j.nowX-j.lastX,j.distY=j.nowY-j.lastY,j.lastDirX=j.dirX,j.lastDirY=j.dirY,j.dirX=0===j.distX?0:j.distX>0?1:-1,j.dirY=0===j.distY?0:j.distY>0?1:-1;var l=Math.abs(j.distX)>Math.abs(j.distY)?1:0;if(!j.moving)return j.dirAx=l,void(j.moving=!0);if(j.dirAx!==l?(j.distAxX=0,j.distAxY=0):(j.distAxX+=Math.abs(j.distX),0!==j.dirX&&j.dirX!==j.lastDirX&&(j.distAxX=0),j.distAxY+=Math.abs(j.distY),0!==j.dirY&&j.dirY!==j.lastDirY&&(j.distAxY=0)),j.dirAx=l,j.dirAx&&j.distAxX>=i.threshold&&(j.distAxX=0,f=this.placeEl.prev("li"),j.distX>0&&f.length&&!f.hasClass(i.collapsedClass)&&!f.hasClass(i.noChildrenClass)&&(c=f.find(i._listClass).last(),h=this.placeEl.parents(i._listClass+","+i._listBaseClass).length,h+this.dragDepth<=k&&(c.length?(c=f.children(i._listClass).last(),c.append(this.placeEl)):(c=a.$("
    ").addClass(i.listClass),c.append(this.placeEl),f.append(c),this.setParent(f)))),j.distX<0&&(g=this.placeEl.next(i._listItemClass),!g.length))){var m=this.placeEl.closest([i._listBaseClass,i._listClass].join(",")),n=m.closest(i._listItemClass);n.length&&(n.after(this.placeEl),m.children().length||this.unsetParent(n))}var o=!1,p=b.pageX-(window.pageXOffset||document.scrollLeft||0),q=b.pageY-(window.pageYOffset||document.documentElement.scrollTop);if(this.pointEl=a.$(document.elementFromPoint(p,q)),i.handleClass&&this.pointEl.hasClass(i.handleClass))this.pointEl=this.pointEl.closest(i._listItemClass);else{var r=this.pointEl.closest(i._listItemClass);r.length&&(this.pointEl=r)}if(!this.placeEl.find(this.pointEl).length){if(this.pointEl.data("nestable")&&!this.pointEl.children().length)o=!0,this.checkEmptyList(this.pointEl);else if(!this.pointEl.length||!this.pointEl.hasClass(i.listItemClass))return;var s=this.element,t=this.pointEl.closest(this.options._listBaseClass),u=s[0]!=t[0];if(!j.dirAx||u||o){if(u&&i.group!==t.data("nestable-group"))return;if(e.push(s),h=this.dragDepth-1+this.pointEl.parents(i._listClass+","+i._listBaseClass).length,h>k)return;var v=b.pageY