forked from nathancahill/split
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsplit.min.js
More file actions
1 lines (1 loc) · 4.51 KB
/
split.min.js
File metadata and controls
1 lines (1 loc) · 4.51 KB
1
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s="horizontal",o=function(){return!1},l=e.attachEvent&&!e[n],u=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",a=function(e){return"string"==typeof e||e instanceof String},c=function(e){return a(e)?t.querySelector(e):e},m=function(e,t,n){var i=e[t];return void 0!==i?i:n},z=function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},f=function(e,t,n){var i={};return a(t)?i[e]=t:i[e]=l?t+"%":u+"("+t+"% - "+n+"px)",i},h=function(e,t){return(n={})[e]=t+"px",n;var n};return function(u,a){var v,S,d,g;void 0===a&&(a={});var y=c(u[0]).parentNode,p=e.getComputedStyle(y).flexDirection,b=m(a,"sizes")||u.map(function(){return 100/u.length}),G=m(a,"minSize",100),E=Array.isArray(G)?G:u.map(function(){return G}),w=m(a,"gutterSize",10),U=m(a,"snapOffset",30),k=m(a,"direction",s),x=m(a,"cursor",k===s?"ew-resize":"ns-resize"),D=m(a,"gutter",z),L=m(a,"elementStyle",f),M=m(a,"gutterStyle",h);function j(e,t,n){var i=L(v,t,n);Object.keys(i).forEach(function(t){e.style[t]=i[t]})}function C(e){var t=g[this.a],n=g[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,j(t.element,t.size,this.aGutterSize),j(n.element,n.size,this.bGutterSize)}function O(){var e=g[this.a].element,t=g[this.b].element,n=e[r](),i=t[r]();this.size=n[v]+i[v]+this.aGutterSize+this.bGutterSize,this.start=n[d]}function A(r){var s=this,l=g[s.a].element,u=g[s.b].element;s.dragging||m(a,"onDragStart",o)(),r.preventDefault(),s.dragging=!0,s.move=function(e){var t,n=g[this.a],i=g[this.b];this.dragging&&((t="touches"in e?e.touches[0][S]-this.start:e[S]-this.start)<=n.minSize+U+this.aGutterSize?t=n.minSize+this.aGutterSize:t>=this.size-(i.minSize+U+this.bGutterSize)&&(t=this.size-(i.minSize+this.bGutterSize)),C.call(this,t),m(a,"onDrag",o)())}.bind(s),s.stop=function(){var n=this,r=g[n.a].element,s=g[n.b].element;n.dragging&&m(a,"onDragEnd",o)(),n.dragging=!1,e[i]("mouseup",n.stop),e[i]("touchend",n.stop),e[i]("touchcancel",n.stop),e[i]("mousemove",n.move),e[i]("touchmove",n.move),n.stop=null,n.move=null,r[i]("selectstart",o),r[i]("dragstart",o),s[i]("selectstart",o),s[i]("dragstart",o),r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",s.style.userSelect="",s.style.webkitUserSelect="",s.style.MozUserSelect="",s.style.pointerEvents="",n.gutter.style.cursor="",n.parent.style.cursor="",t.body.style.cursor=""}.bind(s),e[n]("mouseup",s.stop),e[n]("touchend",s.stop),e[n]("touchcancel",s.stop),e[n]("mousemove",s.move),e[n]("touchmove",s.move),l[n]("selectstart",o),l[n]("dragstart",o),u[n]("selectstart",o),u[n]("dragstart",o),l.style.userSelect="none",l.style.webkitUserSelect="none",l.style.MozUserSelect="none",l.style.pointerEvents="none",u.style.userSelect="none",u.style.webkitUserSelect="none",u.style.MozUserSelect="none",u.style.pointerEvents="none",s.gutter.style.cursor=x,s.parent.style.cursor=x,t.body.style.cursor=x,O.call(s)}k===s?(v="width",S="clientX",d="left"):"vertical"===k&&(v="height",S="clientY",d="top");var B=[];function F(e){e.forEach(function(t,n){if(n>0){var i=B[n-1],r=g[i.a],s=g[i.b];r.size=e[n-1],s.size=t,j(r.element,r.size,i.aGutterSize),j(s.element,s.size,i.bGutterSize)}})}function N(){B.forEach(function(e){e.parent.removeChild(e.gutter),g[e.a].element.style[v]="",g[e.b].element.style[v]=""})}return g=u.map(function(e,t){var i,s,o,a={element:c(e),size:b[t],minSize:E[t]};if(t>0&&((i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:k,parent:y}).aGutterSize=w,i.bGutterSize=w,i.isFirst&&(i.aGutterSize=w/2),i.isLast&&(i.bGutterSize=w/2),"row-reverse"===p||"column-reverse"===p)){var m=i.a;i.a=i.b,i.b=m}if(!l&&t>0){var z=D(t,k);s=z,o=M(v,w),Object.keys(o).forEach(function(e){s.style[e]=o[e]}),z[n]("mousedown",A.bind(i)),z[n]("touchstart",A.bind(i)),y.insertBefore(z,a.element),i.gutter=z}0===t||t===u.length-1?j(a.element,a.size,w/2):j(a.element,a.size,w);var f=a.element[r]()[v];return f<a.minSize&&(a.minSize=f),t>0&&B.push(i),a}),l?{setSizes:F,destroy:N}:{setSizes:F,getSizes:function(){return g.map(function(e){return e.size})},collapse:function(e){if(e===B.length){var t=B[e-1];O.call(t),l||C.call(t,t.size-t.bGutterSize)}else{var n=B[e];O.call(n),l||C.call(n,n.aGutterSize)}},destroy:N,parent:y,pairs:B}}});