-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpicoh.min.js
11 lines (11 loc) · 5.15 KB
/
picoh.min.js
1
2
3
4
5
6
7
8
9
10
11
(function(a,f,g,b){function k(a){return a.trim().split(z)}var z=/ +/,l=function(a){return f.getElementById(a)},n=f.documentElement,r,q,t,u=[],x=a.requestAnimationFrame||a.mozRequestAnimationFrame||a.webkitRequestAnimationFrame,y=0;g=g||a;l.debounce=function(a,m){var e,d=function(){e!==b&&clearTimeout(e);e=setTimeout(a,m)};d.clear=function(){e!==b&&clearTimeout(e);e=b};return d};l.each=function(a,m){var e=0;if(Array.isArray(a)||a.item!==b&&a.length!==b)for(var d=a.length;e<d&&!1!==m(a[e],e);e++);else for(d=
Object.keys(a);d.length&&!1!==m(a[d[0]],d.shift(),e++););};l.nextTick=r=function(b){u.push(b);a.postMessage("picoh-tick","*")};a.addEventListener("message",function(b){b.source==a&&"picoh-tick"==b.data&&(b.stopPropagation(),u.length&&u.shift()())},!0);l.reqAnimFrame=x!==b?function(a){x(a)}:function(a){var b=Date.now(),e=Math.max(0,16-(b-y));setTimeout(a,e);y=b+e};l.Event=function(){var a={};a.add=q=function(a,b,d){for(b=k(b);b.length;)a.addEventListener(b.pop(),d,!1)};a.remove=t=function(a,b,d){for(b=
k(b);b.length;)a.removeEventListener(b.pop(),d,!1)};a.getTarget=function(a){return(a=a.target)&&3==a.nodeType?a.parentNode:a};a.isMouseEnterLeave=function(a,b){return(a=a.relatedTarget)&&!b.contains(a)};a.getMousePosition=function(a){return{x:Math.round(a.pageX||0),y:Math.round(a.pageY||0)}};return a}();l.DOM=function(){function l(){v=!0;t(f,"DOMContentLoaded",l);for(t(a,"load",l);h.length;)h.shift()()}var m=/^(\.[^.#> ]+)+$/,e=/\./g,d={},v,h,w={};g.$$=function(){var a=arguments.length-1,c=a?arguments[0]:
f;a=arguments[a];c=m.test(a)?c.getElementsByClassName(a.replace(e," ").trim()):c.querySelectorAll(a);return Array.prototype.slice.call(c)};d.ready=function(p){if(v||"complete"==f.readyState)return v=!0,r(p);h===b&&(h=[],q(f,"DOMContentLoaded",l),q(a,"load",l));h.push(p)};d.create=function(a,c,b){a=f.createElement(a);if(c)for(var p=Object.keys(c);p.length;)a[p[0]]=c[p.shift()];if(b)for(c=0,p=b.length;c<p;c++){var d=b[c];a.appendChild("string"==typeof d?f.createTextNode(d):d)}return a};d.insertBefore=
function(a,c){c.parentNode.insertBefore(a,c)};d.insertAfter=function(a,c){c.parentNode.insertBefore(a,c.nextSibling)};d.replace=function(a,c){return c.parentNode.replaceChild(a,c)};d.remove=function(a){return a.parentNode.removeChild(a)};d.removeChildAll=function(a){for(var c=[];a.firstChild;)c.push(a.firstChild),a.removeChild(a.firstChild);return c};d.hasClass=function(a,c){return(w[c]?w[c]:w[c]=RegExp("(^| )"+c+"( |$)")).test(a.className)};d.addClass=function(a,c){c=k(a.className).concat(k(c));
for(var b=[];c.length;){var d=c.shift();0>b.indexOf(d)&&b.push(d)}a.className=b.join(" ")};d.removeClass=function(a,b){var c=k(a.className);b=k(b);for(var d=[];c.length;){var p=c.shift();0>d.indexOf(p)&&0>b.indexOf(p)&&d.push(p)}a.className=d.join(" ")};d.setStyle=function(a,b){for(var c=Object.keys(b);c.length;)a.style[c[0]]=b[c.shift()]};d.getData=function(a,b){b="data-"+b;return a&&a.hasAttribute(b)?a.getAttribute(b):null};d.getOffset=function(a,b){for(var d=0,c=0;a.offsetParent;){d+=a.offsetLeft;
c+=a.offsetTop;if(b)break;a=a.offsetParent}return{left:d,top:c}};d.getPageScroll=function(){return{x:a.pageXOffset||0,y:a.pageYOffset||0}};d.getViewportSize=function(){return{width:n.clientWidth||a.innerWidth||0,height:a.innerHeight||n.clientHeight||0}};d.getDocumentSize=function(){return{width:Math.max(n.clientWidth,n.offsetWidth,n.scrollWidth),height:Math.max(n.clientHeight,n.offsetHeight,n.scrollHeight)}};d.Anim=function(){function a(){function a(a){for(var d=Object.keys(a);d.length;){var c=d.shift();
if(n.style[c]!==b)return a[c]}}h||(h=!0,k=a({animation:"animationend",webkitAnimation:"webkitAnimationEnd"}),l=a({transition:"transitionend",webkitTransition:"webkitTransitionEnd"}))}function d(a,d){d=d.picohCSSAnimID;return d!==b&&m[a][d]!==b?d:!1}function f(a,b,c){c=c||d(a,b);!1!==c&&(delete m[a][c],delete b.picohCSSAnimID,b.className=(" "+b.className+" ").replace(" cssanimactive "," ").trim())}function e(a,b,c,e,g){if(!a)return r(function(){e(c,g)});m[b]||(m[b]={},q(n,a,function(a){if(a.target){a=
a.target;var c=d(b,a);if(!1!==c){var e=m[b][c];f(b,a,c);e[0](a,e[1])}}}));f(b,c);for(var h;!h||m[b][h];)for(h="";3>h.length;)h+=String.fromCharCode(Math.floor(25*Math.random())+97);c.picohCSSAnimID=h;m[b][h]=[e,g];c.className=c.className.trim()+" cssanimactive"}var g={},h,k,l,m=[b,b];g.onAnimationEnd=function(b,c,d){a();e(k,0,b,c,d)};g.cancelAnimationEnd=function(a){f(0,a)};g.onTransitionEnd=function(b,c,d){a();e(l,1,b,c,d)};g.cancelTransitionEnd=function(a){f(1,a)};return g}();n.className=n.className.replace("nojs",
"js");return d}();l.request=function(){function f(a){if(a){for(var b=Object.keys(a),d=[];b.length;)d.push(b[0]+"="+encodeURIComponent(a[b.shift()]));return d.join("&")}}return function(g,e,d,k){var h=new XMLHttpRequest,l="POST"==e;k=f(k);h.open(e||"GET",g+(!l&&k?"?"+k:""),!0);d&&(h.onreadystatechange=function(){if(4==h.readyState){var b=200<=h.status&&300>h.status,c=h.responseText,f=h.status;if(b){var e=c;var g={};if(a.JSON&&(e=e.trim(),"{}"==(e[0]||"")+(e[e.length-1]||"")))try{g=JSON.parse(e)}catch(A){}e=
g}else e={};d({ok:b,status:f,text:b?c:"",JSON:e})}});l&&k&&h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l&&k?k:b)}}();g.$=l})(window,document);