From 05856787033142d545133c51586bf4e39c91dcc5 Mon Sep 17 00:00:00 2001 From: rogeriopvl Date: Thu, 30 Oct 2014 11:51:03 +0000 Subject: [PATCH 01/62] Remove all occurrences of the pace-running class instead of only one. --- pace.coffee | 2 +- pace.js | 2 +- pace.min.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pace.coffee b/pace.coffee index 50ebefb9..fe0633d5 100644 --- a/pace.coffee +++ b/pace.coffee @@ -224,7 +224,7 @@ class Bar el.className = el.className.replace 'pace-active', '' el.className += ' pace-inactive' - document.body.className = document.body.className.replace 'pace-running', '' + document.body.className = document.body.className.replace /pace-running/g, '' document.body.className += ' pace-done' update: (prog) -> diff --git a/pace.js b/pace.js index ca58ba0e..3b37c853 100644 --- a/pace.js +++ b/pace.js @@ -261,7 +261,7 @@ el = this.getElement(); el.className = el.className.replace('pace-active', ''); el.className += ' pace-inactive'; - document.body.className = document.body.className.replace('pace-running', ''); + document.body.className = document.body.className.replace(/pace-running/g, ''); return document.body.className += ' pace-done'; }; diff --git a/pace.min.js b/pace.min.js index d16df387..cc484fa5 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ /*! pace 1.0.1 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e,f;f=[];for(d in b.prototype)try{e=b.prototype[d],f.push(null==a[d]&&"function"!=typeof e?a[d]=e:void 0)}catch(g){c=g}return f},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace(/pace-running/g,""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e,f;f=[];for(d in b.prototype)try{e=b.prototype[d],f.push(null==a[d]&&"function"!=typeof e?a[d]=e:void 0)}catch(g){c=g}return f},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From e651531808eb21f1b0fc3e3020307ea6a26c2a5a Mon Sep 17 00:00:00 2001 From: Clay Walker Date: Fri, 1 May 2015 14:08:13 -0700 Subject: [PATCH 02/62] Fixed a bug where the class attribute would grow every time pace ran. --- pace.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pace.coffee b/pace.coffee index 219e1d67..f5d374b7 100644 --- a/pace.coffee +++ b/pace.coffee @@ -202,7 +202,7 @@ class Bar @el = document.createElement 'div' @el.className = "pace pace-active" - document.body.className = document.body.className.replace /pace-done/g, '' + document.body.className = document.body.className.replace / pace-done/g, '' document.body.className += ' pace-running' @el.innerHTML = ''' @@ -221,10 +221,10 @@ class Bar finish: -> el = @getElement() - el.className = el.className.replace 'pace-active', '' + el.className = el.className.replace / pace-active/g, '' el.className += ' pace-inactive' - document.body.className = document.body.className.replace 'pace-running', '' + document.body.className = document.body.className.replace / pace-running/g, '' document.body.className += ' pace-done' update: (prog) -> From a6255aea622100e1120caf90d68a1418c3268412 Mon Sep 17 00:00:00 2001 From: Endel Dreyer Date: Thu, 11 Jun 2015 12:52:50 -0300 Subject: [PATCH 03/62] fix addEventListener on IE10. closes HubSpot/pace#230 --- pace.coffee | 9 ++++++--- pace.js | 12 ++++++++---- pace.min.js | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/pace.coffee b/pace.coffee index 219e1d67..97f3aeb3 100644 --- a/pace.coffee +++ b/pace.coffee @@ -79,6 +79,9 @@ requestAnimationFrame = window.requestAnimationFrame or window.mozRequestAnimati cancelAnimationFrame = window.cancelAnimationFrame or window.mozCancelAnimationFrame +addEventListener = (obj, event, callback) -> + obj.addEventListener?(event, callback, false) or obj["on#{event}"] = callback + if not requestAnimationFrame? requestAnimationFrame = (fn) -> setTimeout fn, 50 @@ -447,7 +450,7 @@ class XHRRequestTracker # We're dealing with a modern browser with progress event support size = null - request.addEventListener 'progress', (evt) => + addEventListener request, 'progress', (evt) => if evt.lengthComputable @progress = 100 * evt.loaded / evt.total else @@ -458,7 +461,7 @@ class XHRRequestTracker , false for event in ['load', 'abort', 'timeout', 'error'] - request.addEventListener event, => + addEventListener request, event, => @progress = 100 , false @@ -477,7 +480,7 @@ class SocketRequestTracker @progress = 0 for event in ['error', 'open'] - request.addEventListener event, => + addEventListener request, event, => @progress = 100 , false diff --git a/pace.js b/pace.js index c7efc2fc..671e32c0 100644 --- a/pace.js +++ b/pace.js @@ -1,5 +1,5 @@ (function() { - var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, Pace, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState, + var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, Pace, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, addEventListener, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState, __slice = [].slice, __hasProp = {}.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, @@ -41,6 +41,10 @@ cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame; + addEventListener = function(obj, event, callback) { + return (typeof obj.addEventListener === "function" ? obj.addEventListener(event, callback, false) : void 0) || (obj["on" + event] = callback); + }; + if (requestAnimationFrame == null) { requestAnimationFrame = function(fn) { return setTimeout(fn, 50); @@ -581,7 +585,7 @@ this.progress = 0; if (window.ProgressEvent != null) { size = null; - request.addEventListener('progress', function(evt) { + addEventListener(request, 'progress', function(evt) { if (evt.lengthComputable) { return _this.progress = 100 * evt.loaded / evt.total; } else { @@ -591,7 +595,7 @@ _ref2 = ['load', 'abort', 'timeout', 'error']; for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { event = _ref2[_j]; - request.addEventListener(event, function() { + addEventListener(request, event, function() { return _this.progress = 100; }, false); } @@ -621,7 +625,7 @@ _ref2 = ['error', 'open']; for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { event = _ref2[_j]; - request.addEventListener(event, function() { + addEventListener(request, event, function() { return _this.progress = 100; }, false); } diff --git a/pace.min.js b/pace.min.js index 234f9b3e..ef9c3981 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ /*! pace 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{e.push(null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0}):a[d]=b.prototype[d]:void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y=[].slice,Z={}.hasOwnProperty,$=function(a,b){function c(){this.constructor=a}for(var d in b)Z.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},_=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(v={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},D=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},F=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,u=window.cancelAnimationFrame||window.mozCancelAnimationFrame,p=function(a,b,c){return("function"==typeof a.addEventListener?a.addEventListener(b,c,!1):void 0)||(a["on"+b]=c)},null==F&&(F=function(a){return setTimeout(a,50)},u=function(a){return clearTimeout(a)}),H=function(a){var b,c;return b=D(),(c=function(){var d;return d=D()-b,d>=33?(b=D(),a(d,function(){return F(c)})):setTimeout(c,33-d)})()},G=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?Y.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},w=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?Y.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Z.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?w(b[a],e):b[a]=e);return b},r=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},y=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cR;R++)L=V[R],E[L]===!0&&(E[L]=v[L]);i=function(a){function b(){return W=b.__super__.constructor.apply(this,arguments)}return $(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(E.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(E.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),Q=window.XMLHttpRequest,P=window.XDomainRequest,O=window.WebSocket,x=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},B=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("ignore"),c=b.apply(null,a),B.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("track"),c=b.apply(null,a),B.shift(),c},K=function(a){var b;if(null==a&&(a="GET"),"track"===B[0])return"force";if(!B.length&&E.ajax){if("socket"===a&&E.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),_.call(E.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return K(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new Q(b),a(c),c};try{x(window.XMLHttpRequest,Q)}catch(d){}if(null!=P){window.XDomainRequest=function(){var b;return b=new P,a(b),b};try{x(window.XDomainRequest,P)}catch(d){}}if(null!=O&&E.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new O(a,b):new O(a),K("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{x(window.WebSocket,O)}catch(d){}}}return $(b,a),b}(h),S=null,z=function(){return null==S&&(S=new k),S},J=function(a){var b,c,d,e;for(e=E.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},z().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,J(g)?void 0:j.running||E.restartOnRequestAfter===!1&&"force"!==K(f)?void 0:(d=arguments,c=E.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(L=i[c],L instanceof a){L.watch.apply(L,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],z().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,J(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,p(a,"progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],p(a,b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],p(a,b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},E.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=D(),b=setInterval(function(){var g;return g=D()-c-50,c=D(),e.push(g),e.length>E.eventLag.sampleCount&&e.shift(),a=r(e),++d>=E.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/E.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,E.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+E.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),M=null,I=null,s=null,N=null,q=null,t=null,j.running=!1,A=function(){return E.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(U=window.history.pushState,window.history.pushState=function(){return A(),U.apply(window.history,arguments)}),null!=window.history.replaceState&&(X=window.history.replaceState,window.history.replaceState=function(){return A(),X.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(C=function(){var a,c,d,e,f,g,h,i;for(j.sources=M=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],E[a]!==!1&&M.push(new l[a](E[a]));for(i=null!=(h=E.extraSources)?h:[],d=0,f=i.length;f>d;d++)L=i[d],M.push(new L(E));return j.bar=s=new b,I=[],N=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,s.destroy(),t=!0,null!=q&&("function"==typeof u&&u(q),q=null),C()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,s.render(),a=D(),t=!1,q=H(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,r,u,v,w;for(l=100-s.progress,e=p=0,f=!0,i=q=0,u=M.length;u>q;i=++q)for(L=M[i],o=null!=I[i]?I[i]:I[i]=[],h=null!=(w=L.elements)?w:[L],k=r=0,v=h.length;v>r;k=++r)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,s.update(N.tick(b,d)),s.done()||f||t?(s.update(100),j.trigger("done"),setTimeout(function(){return s.finish(),j.running=!1,j.trigger("hide")},Math.max(E.ghostTime,Math.max(E.minTime-(D()-a),0)))):c()})},j.start=function(a){w(E,a),j.running=!0;try{s.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:E.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From aaa3707a1507c3f656144165be4dd4bba53fd9e7 Mon Sep 17 00:00:00 2001 From: Liu Xinan Date: Tue, 11 Aug 2015 02:45:40 +0800 Subject: [PATCH 04/62] Fix extra spaces in class names --- pace.coffee | 10 +++------- pace.js | 9 +++------ pace.min.js | 2 +- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/pace.coffee b/pace.coffee index c9d6235f..ab8cfa7e 100644 --- a/pace.coffee +++ b/pace.coffee @@ -202,9 +202,7 @@ class Bar @el = document.createElement 'div' @el.className = "pace pace-active" - document.body.className = document.body.className.replace /pace-done/g, '' - if not /pace-running/.test document.body.className - document.body.className += ' pace-running' + document.body.className = document.body.className.replace /(pace-done)|/, 'pace-running' @el.innerHTML = '''
@@ -222,11 +220,9 @@ class Bar finish: -> el = @getElement() - el.className = el.className.replace 'pace-active', '' - el.className += ' pace-inactive' + el.className = el.className.replace 'pace-active', 'pace-inactive' - document.body.className = document.body.className.replace 'pace-running', '' - document.body.className += ' pace-done' + document.body.className = document.body.className.replace 'pace-running', 'pace-done' update: (prog) -> @progress = prog diff --git a/pace.js b/pace.js index c7efc2fc..d3630edb 100644 --- a/pace.js +++ b/pace.js @@ -244,8 +244,7 @@ } this.el = document.createElement('div'); this.el.className = "pace pace-active"; - document.body.className = document.body.className.replace(/pace-done/g, ''); - document.body.className += ' pace-running'; + document.body.className = document.body.className.replace(/(pace-done)|/, 'pace-running'); this.el.innerHTML = '
\n
\n
\n
'; if (targetElement.firstChild != null) { targetElement.insertBefore(this.el, targetElement.firstChild); @@ -259,10 +258,8 @@ Bar.prototype.finish = function() { var el; el = this.getElement(); - el.className = el.className.replace('pace-active', ''); - el.className += ' pace-inactive'; - document.body.className = document.body.className.replace('pace-running', ''); - return document.body.className += ' pace-done'; + el.className = el.className.replace('pace-active', 'pace-inactive'); + return document.body.className = document.body.className.replace('pace-running', 'pace-done'); }; Bar.prototype.update = function(prog) { diff --git a/pace.min.js b/pace.min.js index 234f9b3e..ba324181 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ /*! pace 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{e.push(null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0}):a[d]=b.prototype[d]:void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return h.progress=a.lengthComputable?100*a.loaded/a.total:h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/(pace-done)|/,"pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running","pace-done")},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From dbf3a392617ddf55af86bdb54c74f16b5b112acc Mon Sep 17 00:00:00 2001 From: Prime03 Date: Wed, 9 Sep 2015 09:17:17 -0400 Subject: [PATCH 05/62] Mozilla fix barber shop template height Added height properties to barber shop template to prevent the pace bar from taking the entire height of the page in Firefox. --- templates/pace-theme-barber-shop.tmpl.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/pace-theme-barber-shop.tmpl.css b/templates/pace-theme-barber-shop.tmpl.css index 0303a258..f1f098a7 100644 --- a/templates/pace-theme-barber-shop.tmpl.css +++ b/templates/pace-theme-barber-shop.tmpl.css @@ -28,6 +28,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -36,6 +37,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); From 03491e34787cae36a446af636b71cd06f0e429ae Mon Sep 17 00:00:00 2001 From: Chris Rice Date: Wed, 2 Dec 2015 13:29:07 -0800 Subject: [PATCH 06/62] Plug memory leak with request interceptors. --- pace.coffee | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/pace.coffee b/pace.coffee index c9d6235f..15845abf 100644 --- a/pace.coffee +++ b/pace.coffee @@ -434,14 +434,17 @@ class AjaxMonitor return if shouldIgnoreURL(url) if type is 'socket' - tracker = new SocketRequestTracker(request) + tracker = new SocketRequestTracker(request, this.complete) else - tracker = new XHRRequestTracker(request) + tracker = new XHRRequestTracker(request, this.complete) @elements.push tracker + complete: (tracker) => + @elements = @elements.filter (e) -> e != tracker + class XHRRequestTracker - constructor: (request) -> + constructor: (request, completeCallback) -> @progress = 0 if window.ProgressEvent? @@ -460,6 +463,7 @@ class XHRRequestTracker for event in ['load', 'abort', 'timeout', 'error'] request.addEventListener event, => + completeCallback(this) @progress = 100 , false @@ -467,6 +471,7 @@ class XHRRequestTracker _onreadystatechange = request.onreadystatechange request.onreadystatechange = => if request.readyState in [0, 4] + completeCallback(this) @progress = 100 else if request.readyState is 3 @progress = 50 @@ -474,11 +479,12 @@ class XHRRequestTracker _onreadystatechange?(arguments...) class SocketRequestTracker - constructor: (request) -> + constructor: (request, completeCallback) -> @progress = 0 for event in ['error', 'open'] request.addEventListener event, => + completeCallback(this) @progress = 100 , false @@ -488,10 +494,13 @@ class ElementMonitor options.selectors ?= [] for selector in options.selectors - @elements.push new ElementTracker selector + @elements.push new ElementTracker(selector, this.complete) + + complete: (tracker) => + @elements = @elements.filter (e) -> e != tracker class ElementTracker - constructor: (@selector) -> + constructor: (@selector, @completeCallback) -> @progress = 0 @check() @@ -504,6 +513,8 @@ class ElementTracker options.elements.checkInterval done: -> + @completeCallback(this) + @completeCallback = null @progress = 100 class DocumentMonitor From c6c63575fa1212b7d56c278c7988979b9591e2a6 Mon Sep 17 00:00:00 2001 From: demedos Date: Thu, 14 Jan 2016 12:44:17 +0100 Subject: [PATCH 07/62] Removed unnecessary -webkit- tags from css properties --- templates/pace-theme-flat-top.tmpl.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/pace-theme-flat-top.tmpl.css b/templates/pace-theme-flat-top.tmpl.css index 39f164fa..938922a9 100644 --- a/templates/pace-theme-flat-top.tmpl.css +++ b/templates/pace-theme-flat-top.tmpl.css @@ -15,8 +15,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } From 96fd5f820423aa80eae6eaf98a1ad74d63fc7124 Mon Sep 17 00:00:00 2001 From: Chris Rice Date: Mon, 25 Apr 2016 09:56:02 -0700 Subject: [PATCH 08/62] Fixed CoffeeScript misuses. --- pace.coffee | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pace.coffee b/pace.coffee index 15845abf..583ff6f2 100644 --- a/pace.coffee +++ b/pace.coffee @@ -434,14 +434,14 @@ class AjaxMonitor return if shouldIgnoreURL(url) if type is 'socket' - tracker = new SocketRequestTracker(request, this.complete) + tracker = new SocketRequestTracker(request, @complete) else - tracker = new XHRRequestTracker(request, this.complete) + tracker = new XHRRequestTracker(request, @complete) @elements.push tracker complete: (tracker) => - @elements = @elements.filter (e) -> e != tracker + @elements = @elements.filter (e) -> e isnt tracker class XHRRequestTracker constructor: (request, completeCallback) -> @@ -463,7 +463,7 @@ class XHRRequestTracker for event in ['load', 'abort', 'timeout', 'error'] request.addEventListener event, => - completeCallback(this) + completeCallback(@) @progress = 100 , false @@ -471,7 +471,7 @@ class XHRRequestTracker _onreadystatechange = request.onreadystatechange request.onreadystatechange = => if request.readyState in [0, 4] - completeCallback(this) + completeCallback(@) @progress = 100 else if request.readyState is 3 @progress = 50 @@ -484,7 +484,7 @@ class SocketRequestTracker for event in ['error', 'open'] request.addEventListener event, => - completeCallback(this) + completeCallback(@) @progress = 100 , false @@ -494,10 +494,10 @@ class ElementMonitor options.selectors ?= [] for selector in options.selectors - @elements.push new ElementTracker(selector, this.complete) + @elements.push new ElementTracker(selector, @complete) complete: (tracker) => - @elements = @elements.filter (e) -> e != tracker + @elements = @elements.filter (e) -> e isnt tracker class ElementTracker constructor: (@selector, @completeCallback) -> @@ -513,7 +513,7 @@ class ElementTracker options.elements.checkInterval done: -> - @completeCallback(this) + @completeCallback(@) @completeCallback = null @progress = 100 From 83f0b8f2340543eede21cb9d923b7ebc91afaecc Mon Sep 17 00:00:00 2001 From: Clay Walker Date: Mon, 23 May 2016 17:00:41 -0700 Subject: [PATCH 09/62] Added addClass() and removeClass() functions per discussion with @zackbloom. --- pace.coffee | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/pace.coffee b/pace.coffee index f5d374b7..88a877dc 100644 --- a/pace.coffee +++ b/pace.coffee @@ -139,6 +139,23 @@ getFromDOM = (key='options', json=true) -> catch e console?.error "Error parsing inline pace options", e +addClass = (el, className) -> + classNamesArray = el.className.split(/ +/) + classNamesArray.push className + el.className = classNamesArray.join(' ') + return + +removeClass = (el, className) -> + classNamesArray = el.className.split(/ +/) + classNameIndex + for c, i in classNamesArray + if c == className + classNameIndex = i + break + classNamesArray.splice(classNameIndex, 1) + el.className = classNamesArray.join(' ') + return + class Evented on: (event, handler, ctx, once=false) -> @bindings ?= {} @@ -202,8 +219,8 @@ class Bar @el = document.createElement 'div' @el.className = "pace pace-active" - document.body.className = document.body.className.replace / pace-done/g, '' - document.body.className += ' pace-running' + removeClass document.body, 'pace-done' + addClass document.body, 'pace-running' @el.innerHTML = '''
@@ -221,11 +238,11 @@ class Bar finish: -> el = @getElement() - el.className = el.className.replace / pace-active/g, '' - el.className += ' pace-inactive' + removeClass el, 'pace-active' + addClass el, 'pace-inactive' - document.body.className = document.body.className.replace / pace-running/g, '' - document.body.className += ' pace-done' + removeClass document.body, 'pace-running' + addClass document.body, 'pace-done' update: (prog) -> @progress = prog From aead1ffb15d4e2106870c8b3a642296a6f9ad18c Mon Sep 17 00:00:00 2001 From: Clay Walker Date: Tue, 24 May 2016 09:38:33 -0700 Subject: [PATCH 10/62] Prevented addition of an existing class when calling addClass(). --- pace.coffee | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pace.coffee b/pace.coffee index 88a877dc..b3884408 100644 --- a/pace.coffee +++ b/pace.coffee @@ -141,7 +141,11 @@ getFromDOM = (key='options', json=true) -> addClass = (el, className) -> classNamesArray = el.className.split(/ +/) - classNamesArray.push className + for c in classNamesArray + if c == className + el.className = classNamesArray.join(' ') + return + classNamesArray.push(className) el.className = classNamesArray.join(' ') return From a76326d0f4f2d88ecede0e7f66afa20b865a0f7e Mon Sep 17 00:00:00 2001 From: Clay Walker Date: Tue, 24 May 2016 09:38:57 -0700 Subject: [PATCH 11/62] Remove all instances of a class when calling removeClass(). --- pace.coffee | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pace.coffee b/pace.coffee index b3884408..34232286 100644 --- a/pace.coffee +++ b/pace.coffee @@ -151,13 +151,11 @@ addClass = (el, className) -> removeClass = (el, className) -> classNamesArray = el.className.split(/ +/) - classNameIndex - for c, i in classNamesArray - if c == className - classNameIndex = i - break - classNamesArray.splice(classNameIndex, 1) - el.className = classNamesArray.join(' ') + cleanClassNamesArray = [] + for c in classNamesArray + if c != className + cleanClassNamesArray.push(c) + el.className = cleanClassNamesArray.join(' ') return class Evented From d486a2d175e87c32908e326a7824d9be42983b39 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 3 Sep 2016 11:43:51 +1000 Subject: [PATCH 12/62] Fixed typos --- docs/intro.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/intro.md b/docs/intro.md index 8a16d1ac..6f95930b 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -117,7 +117,7 @@ Elements Elements being rendered to the screen is one way for us to decide that the page has been rendered. If you would like to use that source of information (not required at all), -specify one or more selectors. You can comma seperate the selectors to propertly handle +specify one or more selectors. You can comma separate the selectors to propertly handle error states, where the progress bar should disappear, but the element we are looking for may never appear: @@ -172,7 +172,7 @@ whenever `pushState` or `replaceState` is called by default. - `Pace.track`: Explicitly track one or more requests, see Tracking below -- `Pace.ignore`: Expliticly ignore one or more requests, see Tracking below +- `Pace.ignore`: Explicitly ignore one or more requests, see Tracking below Events ------ From 82e5df056371801c6d03b358b222f84f517e2714 Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Tue, 18 Oct 2016 15:18:45 +0100 Subject: [PATCH 13/62] Use anonymous define --- pace.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pace.coffee b/pace.coffee index c9d6235f..96a3bde8 100644 --- a/pace.coffee +++ b/pace.coffee @@ -746,7 +746,7 @@ Pace.start = (_options) -> if typeof define is 'function' and define.amd # AMD - define ['pace'], -> Pace + define -> Pace else if typeof exports is 'object' # CommonJS module.exports = Pace From 1116a6d73f6ab755242953d2eda15284292c039f Mon Sep 17 00:00:00 2001 From: Myles Duncan-King Date: Fri, 9 Dec 2016 09:51:49 +0000 Subject: [PATCH 14/62] Add change demo Added an example part of code to show how to access progress on change --- tests/demo.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/demo.html b/tests/demo.html index 0ea38968..4230a0ec 100644 --- a/tests/demo.html +++ b/tests/demo.html @@ -29,6 +29,11 @@ Pace.on('hide', function(){ console.log('done'); }); + + Pace.on('change', function(){ + currentProgress = document.querySelector('.pace-progress').getAttribute('data-progress-text'); + console.log(currentProgress); + }); From 9820da2918f10e1238a9269539fb79125b3b3326 Mon Sep 17 00:00:00 2001 From: Myles Duncan-King Date: Fri, 9 Dec 2016 10:07:00 +0000 Subject: [PATCH 15/62] Add trigger for change Allow tracking of changed progress --- pace.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pace.js b/pace.js index c7efc2fc..2b9a3a37 100644 --- a/pace.js +++ b/pace.js @@ -301,6 +301,7 @@ } el.children[0].setAttribute('data-progress', "" + progressStr); } + Pace.trigger('change'); return this.lastRenderedProgress = this.progress; }; From 2cc4701a5aebed0dd56fb699158529c0c7b6fbea Mon Sep 17 00:00:00 2001 From: Vicente Santos Date: Mon, 16 Jan 2017 17:20:50 -0200 Subject: [PATCH 16/62] Updated AMD define --- pace.coffee | 2 +- pace.js | 6 +- pace.min.js | 4 +- yarn.lock | 376 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 383 insertions(+), 5 deletions(-) create mode 100644 yarn.lock diff --git a/pace.coffee b/pace.coffee index c9d6235f..96a3bde8 100644 --- a/pace.coffee +++ b/pace.coffee @@ -746,7 +746,7 @@ Pace.start = (_options) -> if typeof define is 'function' and define.amd # AMD - define ['pace'], -> Pace + define -> Pace else if typeof exports is 'object' # CommonJS module.exports = Pace diff --git a/pace.js b/pace.js index c7efc2fc..91a8196f 100644 --- a/pace.js +++ b/pace.js @@ -245,7 +245,9 @@ this.el = document.createElement('div'); this.el.className = "pace pace-active"; document.body.className = document.body.className.replace(/pace-done/g, ''); - document.body.className += ' pace-running'; + if (!/pace-running/.test(document.body.className)) { + document.body.className += ' pace-running'; + } this.el.innerHTML = '
\n
\n
\n
'; if (targetElement.firstChild != null) { targetElement.insertBefore(this.el, targetElement.firstChild); @@ -921,7 +923,7 @@ }; if (typeof define === 'function' && define.amd) { - define(['pace'], function() { + define(function() { return Pace; }); } else if (typeof exports === 'object') { diff --git a/pace.min.js b/pace.min.js index bead1787..21823504 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ -/*! pace 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +/*! pace-progress 1.0.2 */ +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..dfe4bec2 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,376 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +"argparse@~ 0.1.11": + version "0.1.16" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" + dependencies: + underscore "~1.7.0" + underscore.string "~2.4.0" + +async@~0.1.22: + version "0.1.22" + resolved "https://registry.yarnpkg.com/async/-/async-0.1.22.tgz#0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +coffee-script@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.3.3.tgz#150d6b4cb522894369efed6a2101c20bc7f4a4f4" + +coffee-script@~1.6.2, coffee-script@~1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.6.3.tgz#6355d32cf1b04cdff6b484e5e711782b2f0c39be" + +color-convert@0.2.x: + version "0.2.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.2.1.tgz#363cab23c94b31a0d64db71048b8c6a940f8c68c" + +color-string@0.1.x: + version "0.1.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.1.3.tgz#e865d2e3e59f665c3af0de14383f6bf0705685f3" + dependencies: + color-convert "0.2.x" + +color@~0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.4.4.tgz#f8bae8a848854616328704e64ce4a94ab336b7b5" + dependencies: + color-convert "0.2.x" + color-string "0.1.x" + +colors@~0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" + +dateformat@1.0.2-1.2.3: + version "1.0.2-1.2.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.2-1.2.3.tgz#b0220c02de98617433b72851cf47de3df2cdbee9" + +debug@~0.7.0: + version "0.7.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" + +decamelize@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +"esprima@~ 1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" + +eventemitter2@~0.4.13: + version "0.4.14" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" + +exit@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + +faye-websocket@~0.4.3: + version "0.4.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.4.4.tgz#c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc" + +findup-sync@~0.1.0, findup-sync@~0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.1.3.tgz#7f3e7a97b82392c653bf06589bd85190e93c3683" + dependencies: + glob "~3.2.9" + lodash "~2.4.1" + +gaze@~0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.4.3.tgz#e538f4ff5e4fe648f473a97e1ebb253d2de127b5" + dependencies: + globule "~0.1.0" + +getobject@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +glob@~3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" + dependencies: + inherits "2" + minimatch "0.3" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + +grunt-cli@~0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-0.1.13.tgz#e9ebc4047631f5012d922770c39378133cad10f4" + dependencies: + findup-sync "~0.1.0" + nopt "~1.0.10" + resolve "~0.3.1" + +grunt-contrib-coffee@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/grunt-contrib-coffee/-/grunt-contrib-coffee-0.7.0.tgz#8b12267b74e7338b1f29c5b8b718fb9f89982f13" + dependencies: + coffee-script "~1.6.2" + +grunt-contrib-uglify@~0.2.4: + version "0.2.7" + resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz#e6bda51e0c40a1459f6cead423c65efd725a1bf7" + dependencies: + grunt-lib-contrib "~0.6.1" + uglify-js "~2.4.0" + +grunt-contrib-watch@~0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-0.5.3.tgz#7d9eb5465d506fa14faaca47e6e8790a82c1c9ee" + dependencies: + gaze "~0.4.0" + tiny-lr "0.0.4" + +grunt-legacy-log-utils@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz#c0706b9dd9064e116f36f23fe4e6b048672c0f7e" + dependencies: + colors "~0.6.2" + lodash "~2.4.1" + underscore.string "~2.3.3" + +grunt-legacy-log@~0.1.0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz#ec29426e803021af59029f87d2f9cd7335a05531" + dependencies: + colors "~0.6.2" + grunt-legacy-log-utils "~0.1.1" + hooker "~0.2.3" + lodash "~2.4.1" + underscore.string "~2.3.3" + +grunt-legacy-util@~0.2.0: + version "0.2.0" + resolved "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz#93324884dbf7e37a9ff7c026dff451d94a9e554b" + dependencies: + async "~0.1.22" + exit "~0.1.1" + getobject "~0.1.0" + hooker "~0.2.3" + lodash "~0.9.2" + underscore.string "~2.2.1" + which "~1.0.5" + +grunt-lib-contrib@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz#3f56adb7da06e814795ee2415b0ebe5fb8903ebb" + dependencies: + zlib-browserify "0.0.1" + +grunt@~0.4.1: + version "0.4.5" + resolved "https://registry.yarnpkg.com/grunt/-/grunt-0.4.5.tgz#56937cd5194324adff6d207631832a9d6ba4e7f0" + dependencies: + async "~0.1.22" + coffee-script "~1.3.3" + colors "~0.6.2" + dateformat "1.0.2-1.2.3" + eventemitter2 "~0.4.13" + exit "~0.1.1" + findup-sync "~0.1.2" + getobject "~0.1.0" + glob "~3.1.21" + grunt-legacy-log "~0.1.0" + grunt-legacy-util "~0.2.0" + hooker "~0.2.3" + iconv-lite "~0.2.11" + js-yaml "~2.0.5" + lodash "~0.9.2" + minimatch "~0.2.12" + nopt "~1.0.10" + rimraf "~2.2.8" + underscore.string "~2.2.1" + which "~1.0.5" + +hooker@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" + +iconv-lite@~0.2.11: + version "0.2.11" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.2.11.tgz#1ce60a3a57864a292d1321ff4609ca4bb965adc8" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + +inherits@2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +js-yaml@~2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-2.0.5.tgz#a25ae6509999e97df278c6719da11bd0687743a8" + dependencies: + argparse "~ 0.1.11" + esprima "~ 1.0.2" + +lodash@~0.9.2: + version "0.9.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-0.9.2.tgz#8f3499c5245d346d682e5b0d3b40767e09f1a92c" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + +lodash@~2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +minimatch@0.3: + version "0.3.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimatch@~0.2.11, minimatch@~0.2.12: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + dependencies: + abbrev "1" + +nopt@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.0.0.tgz#ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d" + dependencies: + abbrev "1" + +noptify@latest: + version "0.0.3" + resolved "https://registry.yarnpkg.com/noptify/-/noptify-0.0.3.tgz#58f654a73d9753df0c51d9686dc92104a67f4bbb" + dependencies: + nopt "~2.0.0" + +qs@~0.5.2: + version "0.5.6" + resolved "https://registry.yarnpkg.com/qs/-/qs-0.5.6.tgz#31b1ad058567651c526921506b9a8793911a0384" + +resolve@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.3.1.tgz#34c63447c664c70598d1c9b126fc43b2a24310a4" + +rimraf@~2.2.8: + version "2.2.8" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +source-map@0.1.34: + version "0.1.34" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.34.tgz#a7cfe89aec7b1682c3b198d0acfb47d7d090566b" + dependencies: + amdefine ">=0.0.4" + +tiny-lr@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.0.4.tgz#80618547f63f697d05cb40c4c2c4b083521aefb6" + dependencies: + debug "~0.7.0" + faye-websocket "~0.4.3" + noptify latest + qs "~0.5.2" + +uglify-js@~2.4.0: + version "2.4.24" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.4.24.tgz#fad5755c1e1577658bb06ff9ab6e548c95bebd6e" + dependencies: + async "~0.2.6" + source-map "0.1.34" + uglify-to-browserify "~1.0.0" + yargs "~3.5.4" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +underscore.string@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.2.1.tgz#d7c0fa2af5d5a1a67f4253daee98132e733f0f19" + +underscore.string@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.3.3.tgz#71c08bf6b428b1133f37e78fa3a21c82f7329b0d" + +underscore.string@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" + +underscore@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + +which@~1.0.5: + version "1.0.9" + resolved "https://registry.yarnpkg.com/which/-/which-1.0.9.tgz#460c1da0f810103d0321a9b633af9e575e64486f" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +yargs@~3.5.4: + version "3.5.4" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.5.4.tgz#d8aff8f665e94c34bd259bdebd1bfaf0ddd35361" + dependencies: + camelcase "^1.0.2" + decamelize "^1.0.0" + window-size "0.1.0" + wordwrap "0.0.2" + +zlib-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/zlib-browserify/-/zlib-browserify-0.0.1.tgz#4fa6a45d00dbc15f318a4afa1d9afc0258e176cc" From be7ee1053bd3425b9c9694b3f1c8c4e591d0a2b3 Mon Sep 17 00:00:00 2001 From: mxgr7 Date: Sun, 7 May 2017 11:01:03 +0200 Subject: [PATCH 17/62] Don't restart when a socket's readyState is 1 Ready state 1 means the connection is open and ready to communicate, see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket#Ready_state_constants. --- pace.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pace.coffee b/pace.coffee index c9d6235f..b930805f 100644 --- a/pace.coffee +++ b/pace.coffee @@ -411,7 +411,7 @@ getIntercept().on 'request', ({type, request, url}) -> setTimeout -> if type is 'socket' - stillActive = request.readyState < 2 + stillActive = request.readyState < 1 else stillActive = 0 < request.readyState < 4 From c555a122f98e4b6d18be0f021c9fe2050bb68579 Mon Sep 17 00:00:00 2001 From: Max Gerer Date: Sun, 7 May 2017 16:07:07 +0200 Subject: [PATCH 18/62] Rebuild --- pace.js | 6 ++++-- pace.min.js | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pace.js b/pace.js index c7efc2fc..7ab2fe01 100644 --- a/pace.js +++ b/pace.js @@ -245,7 +245,9 @@ this.el = document.createElement('div'); this.el.className = "pace pace-active"; document.body.className = document.body.className.replace(/pace-done/g, ''); - document.body.className += ' pace-running'; + if (!/pace-running/.test(document.body.className)) { + document.body.className += ' pace-running'; + } this.el.innerHTML = '
\n
\n
\n
'; if (targetElement.firstChild != null) { targetElement.insertBefore(this.el, targetElement.firstChild); @@ -524,7 +526,7 @@ return setTimeout(function() { var stillActive, _j, _len1, _ref2, _ref3, _results; if (type === 'socket') { - stillActive = request.readyState < 2; + stillActive = request.readyState < 1; } else { stillActive = (0 < (_ref2 = request.readyState) && _ref2 < 4); } diff --git a/pace.min.js b/pace.min.js index bead1787..0978ec0a 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ -/*! pace 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +/*! pace-progress 1.0.2 */ +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From a4a9ca3e6dbe9542e46091cb45bbc97f03368f82 Mon Sep 17 00:00:00 2001 From: rizzomichaelg Date: Sat, 13 Jan 2018 09:04:17 -0600 Subject: [PATCH 19/62] added className option to options for custom styling of progress bar without theme --- docs/intro.md | 9 +++++++++ pace.js | 3 ++- pace.min.js | 4 ++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/intro.md b/docs/intro.md index 3578a0ce..deba1894 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -73,6 +73,15 @@ Pace includes a bunch of [themes](http://github.hubspot.com/pace/docs/welcome/) to get you started. Just include the appropriate css file. Send us a PR with any interesting themes you create. +If you have minor styling changes and don't want to extend theme css, you can add custom class names to +the progress bar using the "className" option: + +```javascript +paceOptions = { + className: 'my-custom-class' +} +``` + Collectors ---------- diff --git a/pace.js b/pace.js index c7efc2fc..84141a83 100644 --- a/pace.js +++ b/pace.js @@ -6,6 +6,7 @@ __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; defaultOptions = { + className: '', catchupTime: 100, initialRate: .03, minTime: 250, @@ -246,7 +247,7 @@ this.el.className = "pace pace-active"; document.body.className = document.body.className.replace(/pace-done/g, ''); document.body.className += ' pace-running'; - this.el.innerHTML = '
\n
\n
\n
'; + this.el.innerHTML = '
\n
\n
\n
'; if (targetElement.firstChild != null) { targetElement.insertBefore(this.el, targetElement.firstChild); } else { diff --git a/pace.min.js b/pace.min.js index bead1787..f28e2f2a 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ -/*! pace 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +/*! pace-progress 1.0.2 */ +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={className:"",catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From b24a4a2d38cb078a847277e99531cfd0b29547a9 Mon Sep 17 00:00:00 2001 From: rizzomichaelg Date: Sat, 13 Jan 2018 09:05:27 -0600 Subject: [PATCH 20/62] Update pace.min.js --- pace.min.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pace.min.js b/pace.min.js index f28e2f2a..50bb047b 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ -/*! pace-progress 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={className:"",catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +/*! pace 1.0.2 */ +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={className:"",catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); From f9f53bc554a662e1ef203a1609d101a102c1be57 Mon Sep 17 00:00:00 2001 From: "J. Muratet-Decker" Date: Tue, 26 Jun 2018 15:14:54 +0200 Subject: [PATCH 21/62] Remove a space in the tag --- pace.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pace.js b/pace.js index c7efc2fc..c8db9969 100644 --- a/pace.js +++ b/pace.js @@ -244,7 +244,7 @@ } this.el = document.createElement('div'); this.el.className = "pace pace-active"; - document.body.className = document.body.className.replace(/pace-done/g, ''); + document.body.className = document.body.className.replace(/ pace-done/g, ''); document.body.className += ' pace-running'; this.el.innerHTML = '
\n
\n
\n
'; if (targetElement.firstChild != null) { From 63eac12faade7f540527e3927009d8fa03263f51 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 00:13:58 -0400 Subject: [PATCH 22/62] recompiled --- .gitignore | 1 + pace.min.js | 2 +- themes/black/pace-theme-flat-top.css | 4 ++-- themes/blue/pace-theme-flat-top.css | 4 ++-- themes/green/pace-theme-flat-top.css | 4 ++-- themes/orange/pace-theme-flat-top.css | 4 ++-- themes/pink/pace-theme-flat-top.css | 4 ++-- themes/purple/pace-theme-flat-top.css | 4 ++-- themes/red/pace-theme-flat-top.css | 4 ++-- themes/silver/pace-theme-flat-top.css | 4 ++-- themes/white/pace-theme-flat-top.css | 4 ++-- themes/yellow/pace-theme-flat-top.css | 4 ++-- 12 files changed, 22 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 3c3629e6..25c8fdba 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules +package-lock.json \ No newline at end of file diff --git a/pace.min.js b/pace.min.js index d2e308db..02d9636c 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ /*! pace-progress 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file diff --git a/themes/black/pace-theme-flat-top.css b/themes/black/pace-theme-flat-top.css index 0fa069ba..5d8d1109 100644 --- a/themes/black/pace-theme-flat-top.css +++ b/themes/black/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/blue/pace-theme-flat-top.css b/themes/blue/pace-theme-flat-top.css index 6a76bbff..21154482 100644 --- a/themes/blue/pace-theme-flat-top.css +++ b/themes/blue/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/green/pace-theme-flat-top.css b/themes/green/pace-theme-flat-top.css index 75c6327b..910ef065 100644 --- a/themes/green/pace-theme-flat-top.css +++ b/themes/green/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/orange/pace-theme-flat-top.css b/themes/orange/pace-theme-flat-top.css index 7e2c1ab8..887e296d 100644 --- a/themes/orange/pace-theme-flat-top.css +++ b/themes/orange/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/pink/pace-theme-flat-top.css b/themes/pink/pace-theme-flat-top.css index fff9781c..e4ff310d 100644 --- a/themes/pink/pace-theme-flat-top.css +++ b/themes/pink/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/purple/pace-theme-flat-top.css b/themes/purple/pace-theme-flat-top.css index e13cc882..86d517e5 100644 --- a/themes/purple/pace-theme-flat-top.css +++ b/themes/purple/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/red/pace-theme-flat-top.css b/themes/red/pace-theme-flat-top.css index 02bc6964..629ad662 100644 --- a/themes/red/pace-theme-flat-top.css +++ b/themes/red/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/silver/pace-theme-flat-top.css b/themes/silver/pace-theme-flat-top.css index b7c46c5a..7d1694af 100644 --- a/themes/silver/pace-theme-flat-top.css +++ b/themes/silver/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/white/pace-theme-flat-top.css b/themes/white/pace-theme-flat-top.css index a07a5996..4e392ad6 100644 --- a/themes/white/pace-theme-flat-top.css +++ b/themes/white/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } diff --git a/themes/yellow/pace-theme-flat-top.css b/themes/yellow/pace-theme-flat-top.css index b2efa0f2..ba385028 100644 --- a/themes/yellow/pace-theme-flat-top.css +++ b/themes/yellow/pace-theme-flat-top.css @@ -16,8 +16,8 @@ -ms-transform: translate3d(0, -50px, 0); transform: translate3d(0, -50px, 0); - -webkit-transition: -webkit-transform .5s ease-out; - -ms-transition: -webkit-transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; transition: transform .5s ease-out; } From 8be4dbe35c7268551fcdd71c7e900129cbb6bf81 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 00:15:53 -0400 Subject: [PATCH 23/62] compiled --- pace.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pace.min.js b/pace.min.js index e4f0f203..45ddcf1c 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ /*! pace-progress 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y=[].slice,Z={}.hasOwnProperty,$=function(a,b){function c(){this.constructor=a}for(var d in b)Z.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},_=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(v={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},D=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},F=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,u=window.cancelAnimationFrame||window.mozCancelAnimationFrame,p=function(a,b,c){return("function"==typeof a.addEventListener?a.addEventListener(b,c,!1):void 0)||(a["on"+b]=c)},null==F&&(F=function(a){return setTimeout(a,50)},u=function(a){return clearTimeout(a)}),H=function(a){var b,c;return b=D(),(c=function(){var d;return d=D()-b,d>=33?(b=D(),a(d,function(){return F(c)})):setTimeout(c,33-d)})()},G=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?Y.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},w=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?Y.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Z.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?w(b[a],e):b[a]=e);return b},r=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},y=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cR;R++)L=V[R],E[L]===!0&&(E[L]=v[L]);i=function(a){function b(){return W=b.__super__.constructor.apply(this,arguments)}return $(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(E.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(E.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),Q=window.XMLHttpRequest,P=window.XDomainRequest,O=window.WebSocket,x=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},B=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("ignore"),c=b.apply(null,a),B.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("track"),c=b.apply(null,a),B.shift(),c},K=function(a){var b;if(null==a&&(a="GET"),"track"===B[0])return"force";if(!B.length&&E.ajax){if("socket"===a&&E.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),_.call(E.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return K(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new Q(b),a(c),c};try{x(window.XMLHttpRequest,Q)}catch(d){}if(null!=P){window.XDomainRequest=function(){var b;return b=new P,a(b),b};try{x(window.XDomainRequest,P)}catch(d){}}if(null!=O&&E.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new O(a,b):new O(a),K("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{x(window.WebSocket,O)}catch(d){}}}return $(b,a),b}(h),S=null,z=function(){return null==S&&(S=new k),S},J=function(a){var b,c,d,e;for(e=E.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},z().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,J(g)?void 0:j.running||E.restartOnRequestAfter===!1&&"force"!==K(f)?void 0:(d=arguments,c=E.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(L=i[c],L instanceof a){L.watch.apply(L,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],z().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,J(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,p(a,"progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],p(a,b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],p(a,b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},E.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=D(),b=setInterval(function(){var g;return g=D()-c-50,c=D(),e.push(g),e.length>E.eventLag.sampleCount&&e.shift(),a=r(e),++d>=E.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/E.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,E.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+E.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),M=null,I=null,s=null,N=null,q=null,t=null,j.running=!1,A=function(){return E.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(U=window.history.pushState,window.history.pushState=function(){return A(),U.apply(window.history,arguments)}),null!=window.history.replaceState&&(X=window.history.replaceState,window.history.replaceState=function(){return A(),X.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(C=function(){var a,c,d,e,f,g,h,i;for(j.sources=M=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],E[a]!==!1&&M.push(new l[a](E[a]));for(i=null!=(h=E.extraSources)?h:[],d=0,f=i.length;f>d;d++)L=i[d],M.push(new L(E));return j.bar=s=new b,I=[],N=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,s.destroy(),t=!0,null!=q&&("function"==typeof u&&u(q),q=null),C()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,s.render(),a=D(),t=!1,q=H(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,r,u,v,w;for(l=100-s.progress,e=p=0,f=!0,i=q=0,u=M.length;u>q;i=++q)for(L=M[i],o=null!=I[i]?I[i]:I[i]=[],h=null!=(w=L.elements)?w:[L],k=r=0,v=h.length;v>r;k=++r)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,s.update(N.tick(b,d)),s.done()||f||t?(s.update(100),j.trigger("done"),setTimeout(function(){return s.finish(),j.running=!1,j.trigger("hide")},Math.max(E.ghostTime,Math.max(E.minTime-(D()-a),0)))):c()})},j.start=function(a){w(E,a),j.running=!0;try{s.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:E.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From 0a6a177afd5c0526395dd76bc88fe1e5a1284c2c Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 00:24:12 -0400 Subject: [PATCH 24/62] compiled --- pace.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pace.min.js b/pace.min.js index e6658140..a471d230 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ /*! pace-progress 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y=[].slice,Z={}.hasOwnProperty,$=function(a,b){function c(){this.constructor=a}for(var d in b)Z.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},_=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(v={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},D=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},F=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,u=window.cancelAnimationFrame||window.mozCancelAnimationFrame,p=function(a,b,c){return("function"==typeof a.addEventListener?a.addEventListener(b,c,!1):void 0)||(a["on"+b]=c)},null==F&&(F=function(a){return setTimeout(a,50)},u=function(a){return clearTimeout(a)}),H=function(a){var b,c;return b=D(),(c=function(){var d;return d=D()-b,d>=33?(b=D(),a(d,function(){return F(c)})):setTimeout(c,33-d)})()},G=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?Y.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},w=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?Y.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Z.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?w(b[a],e):b[a]=e);return b},r=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},y=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cR;R++)L=V[R],E[L]===!0&&(E[L]=v[L]);i=function(a){function b(){return W=b.__super__.constructor.apply(this,arguments)}return $(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(E.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(E.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),Q=window.XMLHttpRequest,P=window.XDomainRequest,O=window.WebSocket,x=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},B=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("ignore"),c=b.apply(null,a),B.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("track"),c=b.apply(null,a),B.shift(),c},K=function(a){var b;if(null==a&&(a="GET"),"track"===B[0])return"force";if(!B.length&&E.ajax){if("socket"===a&&E.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),_.call(E.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return K(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new Q(b),a(c),c};try{x(window.XMLHttpRequest,Q)}catch(d){}if(null!=P){window.XDomainRequest=function(){var b;return b=new P,a(b),b};try{x(window.XDomainRequest,P)}catch(d){}}if(null!=O&&E.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new O(a,b):new O(a),K("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{x(window.WebSocket,O)}catch(d){}}}return $(b,a),b}(h),S=null,z=function(){return null==S&&(S=new k),S},J=function(a){var b,c,d,e;for(e=E.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},z().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,J(g)?void 0:j.running||E.restartOnRequestAfter===!1&&"force"!==K(f)?void 0:(d=arguments,c=E.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(L=i[c],L instanceof a){L.watch.apply(L,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],z().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,J(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,p(a,"progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],p(a,b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],p(a,b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},E.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=D(),b=setInterval(function(){var g;return g=D()-c-50,c=D(),e.push(g),e.length>E.eventLag.sampleCount&&e.shift(),a=r(e),++d>=E.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/E.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,E.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+E.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),M=null,I=null,s=null,N=null,q=null,t=null,j.running=!1,A=function(){return E.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(U=window.history.pushState,window.history.pushState=function(){return A(),U.apply(window.history,arguments)}),null!=window.history.replaceState&&(X=window.history.replaceState,window.history.replaceState=function(){return A(),X.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(C=function(){var a,c,d,e,f,g,h,i;for(j.sources=M=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],E[a]!==!1&&M.push(new l[a](E[a]));for(i=null!=(h=E.extraSources)?h:[],d=0,f=i.length;f>d;d++)L=i[d],M.push(new L(E));return j.bar=s=new b,I=[],N=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,s.destroy(),t=!0,null!=q&&("function"==typeof u&&u(q),q=null),C()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,s.render(),a=D(),t=!1,q=H(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,r,u,v,w;for(l=100-s.progress,e=p=0,f=!0,i=q=0,u=M.length;u>q;i=++q)for(L=M[i],o=null!=I[i]?I[i]:I[i]=[],h=null!=(w=L.elements)?w:[L],k=r=0,v=h.length;v>r;k=++r)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,s.update(N.tick(b,d)),s.done()||f||t?(s.update(100),j.trigger("done"),setTimeout(function(){return s.finish(),j.running=!1,j.trigger("hide")},Math.max(E.ghostTime,Math.max(E.minTime-(D()-a),0)))):c()})},j.start=function(a){w(E,a),j.running=!0;try{s.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:E.startOnPageLoad&&j.start()}).call(this); +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y=[].slice,Z={}.hasOwnProperty,$=function(a,b){function c(){this.constructor=a}for(var d in b)Z.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},_=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(v={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},D=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},F=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,u=window.cancelAnimationFrame||window.mozCancelAnimationFrame,p=function(a,b,c){return("function"==typeof a.addEventListener?a.addEventListener(b,c,!1):void 0)||(a["on"+b]=c)},null==F&&(F=function(a){return setTimeout(a,50)},u=function(a){return clearTimeout(a)}),H=function(a){var b,c;return b=D(),(c=function(){var d;return d=D()-b,d>=33?(b=D(),a(d,function(){return F(c)})):setTimeout(c,33-d)})()},G=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?Y.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},w=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?Y.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Z.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?w(b[a],e):b[a]=e);return b},r=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},y=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cR;R++)L=V[R],E[L]===!0&&(E[L]=v[L]);i=function(a){function b(){return W=b.__super__.constructor.apply(this,arguments)}return $(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(E.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace(/pace-running/g,""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(E.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),Q=window.XMLHttpRequest,P=window.XDomainRequest,O=window.WebSocket,x=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},B=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("ignore"),c=b.apply(null,a),B.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("track"),c=b.apply(null,a),B.shift(),c},K=function(a){var b;if(null==a&&(a="GET"),"track"===B[0])return"force";if(!B.length&&E.ajax){if("socket"===a&&E.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),_.call(E.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return K(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new Q(b),a(c),c};try{x(window.XMLHttpRequest,Q)}catch(d){}if(null!=P){window.XDomainRequest=function(){var b;return b=new P,a(b),b};try{x(window.XDomainRequest,P)}catch(d){}}if(null!=O&&E.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new O(a,b):new O(a),K("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{x(window.WebSocket,O)}catch(d){}}}return $(b,a),b}(h),S=null,z=function(){return null==S&&(S=new k),S},J=function(a){var b,c,d,e;for(e=E.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},z().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,J(g)?void 0:j.running||E.restartOnRequestAfter===!1&&"force"!==K(f)?void 0:(d=arguments,c=E.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(L=i[c],L instanceof a){L.watch.apply(L,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],z().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,J(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,p(a,"progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],p(a,b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],p(a,b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},E.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=D(),b=setInterval(function(){var g;return g=D()-c-50,c=D(),e.push(g),e.length>E.eventLag.sampleCount&&e.shift(),a=r(e),++d>=E.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/E.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,E.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+E.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),M=null,I=null,s=null,N=null,q=null,t=null,j.running=!1,A=function(){return E.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(U=window.history.pushState,window.history.pushState=function(){return A(),U.apply(window.history,arguments)}),null!=window.history.replaceState&&(X=window.history.replaceState,window.history.replaceState=function(){return A(),X.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(C=function(){var a,c,d,e,f,g,h,i;for(j.sources=M=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],E[a]!==!1&&M.push(new l[a](E[a]));for(i=null!=(h=E.extraSources)?h:[],d=0,f=i.length;f>d;d++)L=i[d],M.push(new L(E));return j.bar=s=new b,I=[],N=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,s.destroy(),t=!0,null!=q&&("function"==typeof u&&u(q),q=null),C()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,s.render(),a=D(),t=!1,q=H(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,r,u,v,w;for(l=100-s.progress,e=p=0,f=!0,i=q=0,u=M.length;u>q;i=++q)for(L=M[i],o=null!=I[i]?I[i]:I[i]=[],h=null!=(w=L.elements)?w:[L],k=r=0,v=h.length;v>r;k=++r)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,s.update(N.tick(b,d)),s.done()||f||t?(s.update(100),j.trigger("done"),setTimeout(function(){return s.finish(),j.running=!1,j.trigger("hide")},Math.max(E.ghostTime,Math.max(E.minTime-(D()-a),0)))):c()})},j.start=function(a){w(E,a),j.running=!0;try{s.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:E.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From 77ded67e238e18d963f0bc405608d665bbc8e463 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 00:38:58 -0400 Subject: [PATCH 25/62] recompiled source --- pace.js | 35 +++++++++++++++++++----- pace.min.js | 2 +- themes/black/pace-theme-barber-shop.css | 2 ++ themes/blue/pace-theme-barber-shop.css | 2 ++ themes/green/pace-theme-barber-shop.css | 2 ++ themes/orange/pace-theme-barber-shop.css | 2 ++ themes/pink/pace-theme-barber-shop.css | 2 ++ themes/purple/pace-theme-barber-shop.css | 2 ++ themes/red/pace-theme-barber-shop.css | 2 ++ themes/silver/pace-theme-barber-shop.css | 2 ++ themes/white/pace-theme-barber-shop.css | 2 ++ themes/yellow/pace-theme-barber-shop.css | 2 ++ 12 files changed, 49 insertions(+), 8 deletions(-) diff --git a/pace.js b/pace.js index a5ed2689..a2234791 100644 --- a/pace.js +++ b/pace.js @@ -3,7 +3,8 @@ __slice = [].slice, __hasProp = {}.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; + __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; defaultOptions = { catchupTime: 100, @@ -555,6 +556,7 @@ AjaxMonitor = (function() { function AjaxMonitor() { + this.complete = __bind(this.complete, this); var _this = this; this.elements = []; getIntercept().on('request', function() { @@ -569,19 +571,25 @@ return; } if (type === 'socket') { - tracker = new SocketRequestTracker(request); + tracker = new SocketRequestTracker(request, this.complete); } else { - tracker = new XHRRequestTracker(request); + tracker = new XHRRequestTracker(request, this.complete); } return this.elements.push(tracker); }; + AjaxMonitor.prototype.complete = function(tracker) { + return this.elements = this.elements.filter(function(e) { + return e !== tracker; + }); + }; + return AjaxMonitor; })(); XHRRequestTracker = (function() { - function XHRRequestTracker(request) { + function XHRRequestTracker(request, completeCallback) { var event, size, _j, _len1, _onreadystatechange, _ref2, _this = this; this.progress = 0; @@ -598,6 +606,7 @@ for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { event = _ref2[_j]; addEventListener(request, event, function() { + completeCallback(_this); return _this.progress = 100; }, false); } @@ -606,6 +615,7 @@ request.onreadystatechange = function() { var _ref3; if ((_ref3 = request.readyState) === 0 || _ref3 === 4) { + completeCallback(_this); _this.progress = 100; } else if (request.readyState === 3) { _this.progress = 50; @@ -620,7 +630,7 @@ })(); SocketRequestTracker = (function() { - function SocketRequestTracker(request) { + function SocketRequestTracker(request, completeCallback) { var event, _j, _len1, _ref2, _this = this; this.progress = 0; @@ -628,6 +638,7 @@ for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { event = _ref2[_j]; addEventListener(request, event, function() { + completeCallback(_this); return _this.progress = 100; }, false); } @@ -643,6 +654,7 @@ if (options == null) { options = {}; } + this.complete = __bind(this.complete, this); this.elements = []; if (options.selectors == null) { options.selectors = []; @@ -650,17 +662,24 @@ _ref2 = options.selectors; for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { selector = _ref2[_j]; - this.elements.push(new ElementTracker(selector)); + this.elements.push(new ElementTracker(selector, this.complete)); } } + ElementMonitor.prototype.complete = function(tracker) { + return this.elements = this.elements.filter(function(e) { + return e !== tracker; + }); + }; + return ElementMonitor; })(); ElementTracker = (function() { - function ElementTracker(selector) { + function ElementTracker(selector, completeCallback) { this.selector = selector; + this.completeCallback = completeCallback; this.progress = 0; this.check(); } @@ -677,6 +696,8 @@ }; ElementTracker.prototype.done = function() { + this.completeCallback(this); + this.completeCallback = null; return this.progress = 100; }; diff --git a/pace.min.js b/pace.min.js index a471d230..c285b8f9 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ /*! pace-progress 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y=[].slice,Z={}.hasOwnProperty,$=function(a,b){function c(){this.constructor=a}for(var d in b)Z.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},_=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(v={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},D=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},F=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,u=window.cancelAnimationFrame||window.mozCancelAnimationFrame,p=function(a,b,c){return("function"==typeof a.addEventListener?a.addEventListener(b,c,!1):void 0)||(a["on"+b]=c)},null==F&&(F=function(a){return setTimeout(a,50)},u=function(a){return clearTimeout(a)}),H=function(a){var b,c;return b=D(),(c=function(){var d;return d=D()-b,d>=33?(b=D(),a(d,function(){return F(c)})):setTimeout(c,33-d)})()},G=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?Y.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},w=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?Y.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Z.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?w(b[a],e):b[a]=e);return b},r=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},y=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cR;R++)L=V[R],E[L]===!0&&(E[L]=v[L]);i=function(a){function b(){return W=b.__super__.constructor.apply(this,arguments)}return $(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(E.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace(/pace-running/g,""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(E.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),Q=window.XMLHttpRequest,P=window.XDomainRequest,O=window.WebSocket,x=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},B=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("ignore"),c=b.apply(null,a),B.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("track"),c=b.apply(null,a),B.shift(),c},K=function(a){var b;if(null==a&&(a="GET"),"track"===B[0])return"force";if(!B.length&&E.ajax){if("socket"===a&&E.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),_.call(E.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return K(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new Q(b),a(c),c};try{x(window.XMLHttpRequest,Q)}catch(d){}if(null!=P){window.XDomainRequest=function(){var b;return b=new P,a(b),b};try{x(window.XDomainRequest,P)}catch(d){}}if(null!=O&&E.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new O(a,b):new O(a),K("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{x(window.WebSocket,O)}catch(d){}}}return $(b,a),b}(h),S=null,z=function(){return null==S&&(S=new k),S},J=function(a){var b,c,d,e;for(e=E.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},z().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,J(g)?void 0:j.running||E.restartOnRequestAfter===!1&&"force"!==K(f)?void 0:(d=arguments,c=E.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(L=i[c],L instanceof a){L.watch.apply(L,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],z().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,J(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,p(a,"progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],p(a,b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],p(a,b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},E.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=D(),b=setInterval(function(){var g;return g=D()-c-50,c=D(),e.push(g),e.length>E.eventLag.sampleCount&&e.shift(),a=r(e),++d>=E.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/E.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,E.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+E.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),M=null,I=null,s=null,N=null,q=null,t=null,j.running=!1,A=function(){return E.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(U=window.history.pushState,window.history.pushState=function(){return A(),U.apply(window.history,arguments)}),null!=window.history.replaceState&&(X=window.history.replaceState,window.history.replaceState=function(){return A(),X.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(C=function(){var a,c,d,e,f,g,h,i;for(j.sources=M=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],E[a]!==!1&&M.push(new l[a](E[a]));for(i=null!=(h=E.extraSources)?h:[],d=0,f=i.length;f>d;d++)L=i[d],M.push(new L(E));return j.bar=s=new b,I=[],N=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,s.destroy(),t=!0,null!=q&&("function"==typeof u&&u(q),q=null),C()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,s.render(),a=D(),t=!1,q=H(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,r,u,v,w;for(l=100-s.progress,e=p=0,f=!0,i=q=0,u=M.length;u>q;i=++q)for(L=M[i],o=null!=I[i]?I[i]:I[i]=[],h=null!=(w=L.elements)?w:[L],k=r=0,v=h.length;v>r;k=++r)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,s.update(N.tick(b,d)),s.done()||f||t?(s.update(100),j.trigger("done"),setTimeout(function(){return s.finish(),j.running=!1,j.trigger("hide")},Math.max(E.ghostTime,Math.max(E.minTime-(D()-a),0)))):c()})},j.start=function(a){w(E,a),j.running=!0;try{s.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:E.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y=[].slice,Z={}.hasOwnProperty,$=function(a,b){function c(){this.constructor=a}for(var d in b)Z.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},_=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1},aa=function(a,b){return function(){return a.apply(b,arguments)}};for(v={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},D=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},F=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,u=window.cancelAnimationFrame||window.mozCancelAnimationFrame,p=function(a,b,c){return("function"==typeof a.addEventListener?a.addEventListener(b,c,!1):void 0)||(a["on"+b]=c)},null==F&&(F=function(a){return setTimeout(a,50)},u=function(a){return clearTimeout(a)}),H=function(a){var b,c;return b=D(),(c=function(){var d;return d=D()-b,d>=33?(b=D(),a(d,function(){return F(c)})):setTimeout(c,33-d)})()},G=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?Y.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},w=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?Y.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Z.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?w(b[a],e):b[a]=e);return b},r=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},y=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cR;R++)L=V[R],E[L]===!0&&(E[L]=v[L]);i=function(a){function b(){return W=b.__super__.constructor.apply(this,arguments)}return $(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(E.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace(/pace-running/g,""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(E.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),Q=window.XMLHttpRequest,P=window.XDomainRequest,O=window.WebSocket,x=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},B=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("ignore"),c=b.apply(null,a),B.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("track"),c=b.apply(null,a),B.shift(),c},K=function(a){var b;if(null==a&&(a="GET"),"track"===B[0])return"force";if(!B.length&&E.ajax){if("socket"===a&&E.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),_.call(E.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return K(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new Q(b),a(c),c};try{x(window.XMLHttpRequest,Q)}catch(d){}if(null!=P){window.XDomainRequest=function(){var b;return b=new P,a(b),b};try{x(window.XDomainRequest,P)}catch(d){}}if(null!=O&&E.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new O(a,b):new O(a),K("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{x(window.WebSocket,O)}catch(d){}}}return $(b,a),b}(h),S=null,z=function(){return null==S&&(S=new k),S},J=function(a){var b,c,d,e;for(e=E.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},z().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,J(g)?void 0:j.running||E.restartOnRequestAfter===!1&&"force"!==K(f)?void 0:(d=arguments,c=E.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(L=i[c],L instanceof a){L.watch.apply(L,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){this.complete=aa(this.complete,this);var a=this;this.elements=[],z().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,J(e)?void 0:(c="socket"===d?new n(b,this.complete):new o(b,this.complete),this.elements.push(c))},a.prototype.complete=function(a){return this.elements=this.elements.filter(function(b){return b!==a})},a}(),o=function(){function a(a,b){var c,d,e,f,g,h,i=this;if(this.progress=0,null!=window.ProgressEvent)for(d=null,p(a,"progress",function(a){return a.lengthComputable?i.progress=100*a.loaded/a.total:i.progress=i.progress+(100-i.progress)/2},!1),h=["load","abort","timeout","error"],e=0,f=h.length;f>e;e++)c=h[e],p(a,c,function(){return b(i),i.progress=100},!1);else g=a.onreadystatechange,a.onreadystatechange=function(){var c;return 0===(c=a.readyState)||4===c?(b(i),i.progress=100):3===a.readyState&&(i.progress=50),"function"==typeof g?g.apply(null,arguments):void 0}}return a}(),n=function(){function a(a,b){var c,d,e,f,g=this;for(this.progress=0,f=["error","open"],d=0,e=f.length;e>d;d++)c=f[d],p(a,c,function(){return b(g),g.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.complete=aa(this.complete,this),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b,this.complete))}return a.prototype.complete=function(a){return this.elements=this.elements.filter(function(b){return b!==a})},a}(),e=function(){function a(a,b){this.selector=a,this.completeCallback=b,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},E.elements.checkInterval)},a.prototype.done=function(){return this.completeCallback(this),this.completeCallback=null,this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=D(),b=setInterval(function(){var g;return g=D()-c-50,c=D(),e.push(g),e.length>E.eventLag.sampleCount&&e.shift(),a=r(e),++d>=E.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/E.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,E.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+E.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),M=null,I=null,s=null,N=null,q=null,t=null,j.running=!1,A=function(){return E.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(U=window.history.pushState,window.history.pushState=function(){return A(),U.apply(window.history,arguments)}),null!=window.history.replaceState&&(X=window.history.replaceState,window.history.replaceState=function(){return A(),X.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(C=function(){var a,c,d,e,f,g,h,i;for(j.sources=M=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],E[a]!==!1&&M.push(new l[a](E[a]));for(i=null!=(h=E.extraSources)?h:[],d=0,f=i.length;f>d;d++)L=i[d],M.push(new L(E));return j.bar=s=new b,I=[],N=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,s.destroy(),t=!0,null!=q&&("function"==typeof u&&u(q),q=null),C()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,s.render(),a=D(),t=!1,q=H(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,r,u,v,w;for(l=100-s.progress,e=p=0,f=!0,i=q=0,u=M.length;u>q;i=++q)for(L=M[i],o=null!=I[i]?I[i]:I[i]=[],h=null!=(w=L.elements)?w:[L],k=r=0,v=h.length;v>r;k=++r)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,s.update(N.tick(b,d)),s.done()||f||t?(s.update(100),j.trigger("done"),setTimeout(function(){return s.finish(),j.running=!1,j.trigger("hide")},Math.max(E.ghostTime,Math.max(E.minTime-(D()-a),0)))):c()})},j.start=function(a){w(E,a),j.running=!0;try{s.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:E.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file diff --git a/themes/black/pace-theme-barber-shop.css b/themes/black/pace-theme-barber-shop.css index b47be4ca..895611b6 100644 --- a/themes/black/pace-theme-barber-shop.css +++ b/themes/black/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/blue/pace-theme-barber-shop.css b/themes/blue/pace-theme-barber-shop.css index f4285bda..e30e7d8c 100644 --- a/themes/blue/pace-theme-barber-shop.css +++ b/themes/blue/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/green/pace-theme-barber-shop.css b/themes/green/pace-theme-barber-shop.css index d06a96cf..f4a3bb05 100644 --- a/themes/green/pace-theme-barber-shop.css +++ b/themes/green/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/orange/pace-theme-barber-shop.css b/themes/orange/pace-theme-barber-shop.css index 129924ec..b7ed3fbc 100644 --- a/themes/orange/pace-theme-barber-shop.css +++ b/themes/orange/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/pink/pace-theme-barber-shop.css b/themes/pink/pace-theme-barber-shop.css index deb3d5e9..a3b82e84 100644 --- a/themes/pink/pace-theme-barber-shop.css +++ b/themes/pink/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/purple/pace-theme-barber-shop.css b/themes/purple/pace-theme-barber-shop.css index 1f323bbb..987fbec4 100644 --- a/themes/purple/pace-theme-barber-shop.css +++ b/themes/purple/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/red/pace-theme-barber-shop.css b/themes/red/pace-theme-barber-shop.css index 0c90ed6a..940bbe5c 100644 --- a/themes/red/pace-theme-barber-shop.css +++ b/themes/red/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/silver/pace-theme-barber-shop.css b/themes/silver/pace-theme-barber-shop.css index 18addba4..4c06fdfb 100644 --- a/themes/silver/pace-theme-barber-shop.css +++ b/themes/silver/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/white/pace-theme-barber-shop.css b/themes/white/pace-theme-barber-shop.css index 9eb7e75f..90c3014c 100644 --- a/themes/white/pace-theme-barber-shop.css +++ b/themes/white/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); diff --git a/themes/yellow/pace-theme-barber-shop.css b/themes/yellow/pace-theme-barber-shop.css index 34b89ddb..daaae2a4 100644 --- a/themes/yellow/pace-theme-barber-shop.css +++ b/themes/yellow/pace-theme-barber-shop.css @@ -29,6 +29,7 @@ right: 100%; width: 100%; overflow: hidden; + height: 12px; } .pace .pace-activity { @@ -37,6 +38,7 @@ right: -32px; bottom: 0; left: 0; + height: 12px; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); From 26a144f8283d95d94d231b1f113584cc8ef3409b Mon Sep 17 00:00:00 2001 From: EatBreatheCode Date: Mon, 7 Oct 2019 00:48:00 -0400 Subject: [PATCH 26/62] Revert "217" --- pace.coffee | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/pace.coffee b/pace.coffee index a2fd51c4..669a498e 100644 --- a/pace.coffee +++ b/pace.coffee @@ -142,25 +142,6 @@ getFromDOM = (key='options', json=true) -> catch e console?.error "Error parsing inline pace options", e -addClass = (el, className) -> - classNamesArray = el.className.split(/ +/) - for c in classNamesArray - if c == className - el.className = classNamesArray.join(' ') - return - classNamesArray.push(className) - el.className = classNamesArray.join(' ') - return - -removeClass = (el, className) -> - classNamesArray = el.className.split(/ +/) - cleanClassNamesArray = [] - for c in classNamesArray - if c != className - cleanClassNamesArray.push(c) - el.className = cleanClassNamesArray.join(' ') - return - class Evented on: (event, handler, ctx, once=false) -> @bindings ?= {} @@ -224,8 +205,9 @@ class Bar @el = document.createElement 'div' @el.className = "pace pace-active" - removeClass document.body, 'pace-done' - addClass document.body, 'pace-running' + document.body.className = document.body.className.replace /pace-done/g, '' + if not /pace-running/.test document.body.className + document.body.className += ' pace-running' @el.innerHTML = '''
@@ -243,11 +225,11 @@ class Bar finish: -> el = @getElement() - removeClass el, 'pace-active' - addClass el, 'pace-inactive' + el.className = el.className.replace 'pace-active', '' + el.className += ' pace-inactive' - removeClass document.body, 'pace-running' - addClass document.body, 'pace-done' + document.body.className = document.body.className.replace /pace-running/g, '' + document.body.className += ' pace-done' update: (prog) -> @progress = prog From d3a8358c09d9dd4d90ae08bab69f859a2bec2bb4 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 00:52:43 -0400 Subject: [PATCH 27/62] recompiled --- pace.min.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pace.min.js b/pace.min.js index 10cbec98..4bc3ebf3 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ -/*! pace 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/(pace-done)|/,"pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running","pace-done")},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); +/*! pace-progress 1.0.2 */ +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y=[].slice,Z={}.hasOwnProperty,$=function(a,b){function c(){this.constructor=a}for(var d in b)Z.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},_=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1},aa=function(a,b){return function(){return a.apply(b,arguments)}};for(v={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},D=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},F=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,u=window.cancelAnimationFrame||window.mozCancelAnimationFrame,p=function(a,b,c){return("function"==typeof a.addEventListener?a.addEventListener(b,c,!1):void 0)||(a["on"+b]=c)},null==F&&(F=function(a){return setTimeout(a,50)},u=function(a){return clearTimeout(a)}),H=function(a){var b,c;return b=D(),(c=function(){var d;return d=D()-b,d>=33?(b=D(),a(d,function(){return F(c)})):setTimeout(c,33-d)})()},G=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?Y.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},w=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?Y.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Z.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?w(b[a],e):b[a]=e);return b},r=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},y=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cR;R++)L=V[R],E[L]===!0&&(E[L]=v[L]);i=function(a){function b(){return W=b.__super__.constructor.apply(this,arguments)}return $(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(E.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/(pace-done)|/,"pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running","pace-done")},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(E.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),Q=window.XMLHttpRequest,P=window.XDomainRequest,O=window.WebSocket,x=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},B=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("ignore"),c=b.apply(null,a),B.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?Y.call(arguments,1):[],B.unshift("track"),c=b.apply(null,a),B.shift(),c},K=function(a){var b;if(null==a&&(a="GET"),"track"===B[0])return"force";if(!B.length&&E.ajax){if("socket"===a&&E.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),_.call(E.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return K(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new Q(b),a(c),c};try{x(window.XMLHttpRequest,Q)}catch(d){}if(null!=P){window.XDomainRequest=function(){var b;return b=new P,a(b),b};try{x(window.XDomainRequest,P)}catch(d){}}if(null!=O&&E.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new O(a,b):new O(a),K("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{x(window.WebSocket,O)}catch(d){}}}return $(b,a),b}(h),S=null,z=function(){return null==S&&(S=new k),S},J=function(a){var b,c,d,e;for(e=E.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},z().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,J(g)?void 0:j.running||E.restartOnRequestAfter===!1&&"force"!==K(f)?void 0:(d=arguments,c=E.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<1:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(L=i[c],L instanceof a){L.watch.apply(L,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){this.complete=aa(this.complete,this);var a=this;this.elements=[],z().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,J(e)?void 0:(c="socket"===d?new n(b,this.complete):new o(b,this.complete),this.elements.push(c))},a.prototype.complete=function(a){return this.elements=this.elements.filter(function(b){return b!==a})},a}(),o=function(){function a(a,b){var c,d,e,f,g,h,i=this;if(this.progress=0,null!=window.ProgressEvent)for(d=null,p(a,"progress",function(a){return a.lengthComputable?i.progress=100*a.loaded/a.total:i.progress=i.progress+(100-i.progress)/2},!1),h=["load","abort","timeout","error"],e=0,f=h.length;f>e;e++)c=h[e],p(a,c,function(){return b(i),i.progress=100},!1);else g=a.onreadystatechange,a.onreadystatechange=function(){var c;return 0===(c=a.readyState)||4===c?(b(i),i.progress=100):3===a.readyState&&(i.progress=50),"function"==typeof g?g.apply(null,arguments):void 0}}return a}(),n=function(){function a(a,b){var c,d,e,f,g=this;for(this.progress=0,f=["error","open"],d=0,e=f.length;e>d;d++)c=f[d],p(a,c,function(){return b(g),g.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.complete=aa(this.complete,this),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b,this.complete))}return a.prototype.complete=function(a){return this.elements=this.elements.filter(function(b){return b!==a})},a}(),e=function(){function a(a,b){this.selector=a,this.completeCallback=b,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},E.elements.checkInterval)},a.prototype.done=function(){return this.completeCallback(this),this.completeCallback=null,this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=D(),b=setInterval(function(){var g;return g=D()-c-50,c=D(),e.push(g),e.length>E.eventLag.sampleCount&&e.shift(),a=r(e),++d>=E.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/E.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,E.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+E.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),M=null,I=null,s=null,N=null,q=null,t=null,j.running=!1,A=function(){return E.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(U=window.history.pushState,window.history.pushState=function(){return A(),U.apply(window.history,arguments)}),null!=window.history.replaceState&&(X=window.history.replaceState,window.history.replaceState=function(){return A(),X.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(C=function(){var a,c,d,e,f,g,h,i;for(j.sources=M=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],E[a]!==!1&&M.push(new l[a](E[a]));for(i=null!=(h=E.extraSources)?h:[],d=0,f=i.length;f>d;d++)L=i[d],M.push(new L(E));return j.bar=s=new b,I=[],N=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,s.destroy(),t=!0,null!=q&&("function"==typeof u&&u(q),q=null),C()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,s.render(),a=D(),t=!1,q=H(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,r,u,v,w;for(l=100-s.progress,e=p=0,f=!0,i=q=0,u=M.length;u>q;i=++q)for(L=M[i],o=null!=I[i]?I[i]:I[i]=[],h=null!=(w=L.elements)?w:[L],k=r=0,v=h.length;v>r;k=++r)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,s.update(N.tick(b,d)),s.done()||f||t?(s.update(100),j.trigger("done"),setTimeout(function(){return s.finish(),j.running=!1,j.trigger("hide")},Math.max(E.ghostTime,Math.max(E.minTime-(D()-a),0)))):c()})},j.start=function(a){w(E,a),j.running=!0;try{s.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(function(){return j}):"object"==typeof exports?module.exports=j:E.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From 5272503d19bdce4a6ad65ee9c035e6ffc1b5e880 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 01:34:17 -0400 Subject: [PATCH 28/62] New version --- .gitignore | 2 - .hsdoc | 3 - Gruntfile.coffee | 68 -- LICENSE | 1 - bower.json | 35 - install.json | 84 -- pace.coffee | 766 ------------------ package.json | 24 - templates/pace-theme-barber-shop.tmpl.css | 84 -- templates/pace-theme-big-counter.tmpl.css | 39 - templates/pace-theme-bounce.tmpl.css | 230 ------ templates/pace-theme-center-atom.tmpl.css | 130 --- templates/pace-theme-center-circle.tmpl.css | 89 -- templates/pace-theme-center-radar.tmpl.css | 81 -- templates/pace-theme-center-simple.tmpl.css | 51 -- .../pace-theme-corner-indicator.tmpl.css | 72 -- templates/pace-theme-fill-left.tmpl.css | 21 - templates/pace-theme-flash.tmpl.css | 76 -- templates/pace-theme-flat-top.tmpl.css | 40 - templates/pace-theme-loading-bar.tmpl.css | 104 --- templates/pace-theme-mac-osx.tmpl.css | 86 -- templates/pace-theme-material.tmpl.css | 292 ------- templates/pace-theme-minimal.tmpl.css | 22 - tests/demo.html | 49 -- yarn.lock | 376 --------- 25 files changed, 2825 deletions(-) delete mode 100644 .hsdoc delete mode 100644 Gruntfile.coffee delete mode 100644 bower.json delete mode 100644 install.json delete mode 100644 pace.coffee delete mode 100644 package.json delete mode 100644 templates/pace-theme-barber-shop.tmpl.css delete mode 100644 templates/pace-theme-big-counter.tmpl.css delete mode 100644 templates/pace-theme-bounce.tmpl.css delete mode 100644 templates/pace-theme-center-atom.tmpl.css delete mode 100644 templates/pace-theme-center-circle.tmpl.css delete mode 100644 templates/pace-theme-center-radar.tmpl.css delete mode 100644 templates/pace-theme-center-simple.tmpl.css delete mode 100644 templates/pace-theme-corner-indicator.tmpl.css delete mode 100644 templates/pace-theme-fill-left.tmpl.css delete mode 100644 templates/pace-theme-flash.tmpl.css delete mode 100644 templates/pace-theme-flat-top.tmpl.css delete mode 100644 templates/pace-theme-loading-bar.tmpl.css delete mode 100644 templates/pace-theme-mac-osx.tmpl.css delete mode 100644 templates/pace-theme-material.tmpl.css delete mode 100644 templates/pace-theme-minimal.tmpl.css delete mode 100644 tests/demo.html delete mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 25c8fdba..e69de29b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +0,0 @@ -node_modules -package-lock.json \ No newline at end of file diff --git a/.hsdoc b/.hsdoc deleted file mode 100644 index dc17df2c..00000000 --- a/.hsdoc +++ /dev/null @@ -1,3 +0,0 @@ -title: "Pace" -source: "pace.coffee" -assets: "{templates/*,themes/*,docs/welcome/*,docs/lib/*,docs/resources/*.css,*.js}" diff --git a/Gruntfile.coffee b/Gruntfile.coffee deleted file mode 100644 index 68696852..00000000 --- a/Gruntfile.coffee +++ /dev/null @@ -1,68 +0,0 @@ -Path = require('path') -fs = require('fs') - -ThemeUtils = require('./docs/lib/themes.coffee') - -themeColors = - black: '#000000' - white: '#ffffff' - silver: '#d6d6d6' - red: '#ee3148' - orange: '#eb7a55' - yellow: '#fcd25a' - green: '#22df80' - blue: '#2299dd' - pink: '#e90f92' - purple: '#7c60e0' - -module.exports = (grunt) -> - grunt.registerTask 'themes', 'Compile the pace theme files', -> - done = @async() - - options = grunt.config('themes') - - grunt.file.glob options.src, (err, files) -> - for colorName, color of themeColors - for file in files - body = ThemeUtils.compileTheme fs.readFileSync(file).toString(), {color} - - body = "/* This is a compiled file, you should be editing the file in the templates directory */\n" + body - - name = Path.basename file - name = name.replace '.tmpl', '' - path = Path.join options.dest, colorName, name - - fs.writeFileSync path, body - - done() - - grunt.initConfig - pkg: grunt.file.readJSON("package.json") - coffee: - compile: - files: - 'pace.js': 'pace.coffee' - 'docs/lib/themes.js': 'docs/lib/themes.coffee' - - watch: - coffee: - files: ['pace.coffee', 'docs/lib/themes.coffee', 'templates/*'] - tasks: ["coffee", "uglify", "themes"] - - uglify: - options: - banner: "/*! <%= pkg.name %> <%= pkg.version %> */\n" - - dist: - src: 'pace.js' - dest: 'pace.min.js' - - themes: - src: 'templates/*.tmpl.css' - dest: 'themes' - - grunt.loadNpmTasks 'grunt-contrib-watch' - grunt.loadNpmTasks 'grunt-contrib-uglify' - grunt.loadNpmTasks 'grunt-contrib-coffee' - - grunt.registerTask 'default', ['coffee', 'uglify', 'themes'] diff --git a/LICENSE b/LICENSE index d746b044..61eed257 100644 --- a/LICENSE +++ b/LICENSE @@ -5,4 +5,3 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/bower.json b/bower.json deleted file mode 100644 index 19de305c..00000000 --- a/bower.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "pace", - "main": "pace.js", - "version": "1.0.2", - "homepage": "http://github.hubspot.com/pace/docs/welcome", - "authors": [ - "Zack Bloom ", - "Adam Schwartz " - ], - "description": "Automatic page load progress bar", - "keywords": [ - "loading", - "load", - "pageload", - "progress", - "activity", - "ajax", - "spinner", - "progress", - "bar", - "automatic", - "client-side" - ], - "license": "MIT", - "ignore": [ - ".*", - "Gruntfile.coffee", - "bower_components", - "docs", - "node_modules", - "package.json", - "templates", - "tests" - ] -} diff --git a/install.json b/install.json deleted file mode 100644 index a04f8d34..00000000 --- a/install.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "resources": { - "head": [ - { - "type": "script", - "src": "./pace.js" - }, - { - "type": "style", - "src": "./themes/{{ options.color }}/pace-theme-{{ options.theme }}.css" - } - ] - }, - "options": { - "properties": { - "color": { - "title": "Color", - "type": "string", - "enum": [ - "black", - "white", - "silver", - "red", - "orange", - "yellow", - "green", - "blue", - "pink", - "purple" - ], - "enumNames": { - "black": "Black", - "white": "White", - "silver": "Silver", - "red": "Red", - "orange": "Orange", - "yellow": "Yellow", - "green": "Green", - "blue": "Blue", - "pink": "Pink", - "purple": "Purple" - }, - "default": "blue" - }, - "theme": { - "title": "Theme", - "type": "string", - "enum": [ - "barber-shop", - "big-counter", - "bounce", - "center-atom", - "center-circle", - "center-radar", - "center-simple", - "corner-indicator", - "fill-left", - "flash", - "flat-top", - "loading-bar", - "mac-osx", - "minimal" - ], - "enumNames": { - "barber-shop": "Barber Shop", - "big-counter": "Big Counter", - "bounce": "Bounce", - "center-atom": "Center Atom", - "center-circle": "Center Circle", - "center-radar": "Center Radar", - "center-simple": "Center Simple", - "corner-indicator": "Corner Indicator", - "fill-left": "Fill Left", - "flash": "Flash", - "flat-top": "Flat Top", - "loading-bar": "Loading Bar", - "mac-osx": "Mac OS X", - "minimal": "Minimal" - }, - "default": "barber-shop" - } - } - } -} diff --git a/pace.coffee b/pace.coffee deleted file mode 100644 index 473e78d9..00000000 --- a/pace.coffee +++ /dev/null @@ -1,766 +0,0 @@ -defaultOptions = - # How long should it take for the bar to animate to a new - # point after receiving it - catchupTime: 100 - - # How quickly should the bar be moving before it has any progress - # info from a new source in %/ms - initialRate: .03 - - # What is the minimum amount of time the bar should be on the - # screen. Irrespective of this number, the bar will always be on screen for - # 33 * (100 / maxProgressPerFrame) + ghostTime ms. - minTime: 250 - - # What is the minimum amount of time the bar should sit after the last - # update before disappearing - ghostTime: 100 - - # Its easy for a bunch of the bar to be eaten in the first few frames - # before we know how much there is to load. This limits how much of - # the bar can be used per frame - maxProgressPerFrame: 20 - - # This tweaks the animation easing - easeFactor: 1.25 - - # Should pace automatically start when the page is loaded, or should it wait for `start` to - # be called? Always false if pace is loaded with AMD or CommonJS. - startOnPageLoad: true - - # Should we restart the browser when pushState or replaceState is called? (Generally - # means ajax navigation has occured) - restartOnPushState: true - - # Should we show the progress bar for every ajax request (not just regular or ajax-y page - # navigation)? Set to false to disable. - # - # If so, how many ms does the request have to be running for before we show the progress? - restartOnRequestAfter: 500 - - # What element should the pace element be appended to on the page? - target: 'body' - - elements: - # How frequently in ms should we check for the elements being tested for - # using the element monitor? - checkInterval: 100 - - # What elements should we wait for before deciding the page is fully loaded (not required) - selectors: ['body'] - - eventLag: - # When we first start measuring event lag, not much is going on in the browser yet, so it's - # not uncommon for the numbers to be abnormally low for the first few samples. This configures - # how many samples we need before we consider a low number to mean completion. - minSamples: 10 - - # How many samples should we average to decide what the current lag is? - sampleCount: 3 - - # Above how many ms of lag is the CPU considered busy? - lagThreshold: 3 - - ajax: - # Which HTTP methods should we track? - trackMethods: ['GET'] - - # Should we track web socket connections? - trackWebSockets: true - - # A list of regular expressions or substrings of URLS we should ignore (for both tracking and restarting) - ignoreURLs: [] - -now = -> - performance?.now?() ? +new Date - -requestAnimationFrame = window.requestAnimationFrame or window.mozRequestAnimationFrame or - window.webkitRequestAnimationFrame or window.msRequestAnimationFrame - -cancelAnimationFrame = window.cancelAnimationFrame or window.mozCancelAnimationFrame - -addEventListener = (obj, event, callback) -> - obj.addEventListener?(event, callback, false) or obj["on#{event}"] = callback - -if not requestAnimationFrame? - requestAnimationFrame = (fn) -> - setTimeout fn, 50 - - cancelAnimationFrame = (id) -> - clearTimeout id - -runAnimation = (fn) -> - last = now() - tick = -> - diff = now() - last - - if diff >= 33 - # Don't run faster than 30 fps - - last = now() - fn diff, -> - requestAnimationFrame tick - else - setTimeout tick, (33 - diff) - - tick() - -result = (obj, key, args...) -> - if typeof obj[key] is 'function' - obj[key](args...) - else - obj[key] - -extend = (out, sources...) -> - for source in sources when source - for own key, val of source - if out[key]? and typeof out[key] is 'object' and val? and typeof val is 'object' - extend(out[key], val) - else - out[key] = val - out - -avgAmplitude = (arr) -> - sum = count = 0 - for v in arr - sum += Math.abs(v) - count++ - - sum / count - -getFromDOM = (key='options', json=true) -> - el = document.querySelector "[data-pace-#{ key }]" - - return unless el - - data = el.getAttribute "data-pace-#{ key }" - - return data if not json - - try - return JSON.parse data - catch e - console?.error "Error parsing inline pace options", e - -class Evented - on: (event, handler, ctx, once=false) -> - @bindings ?= {} - @bindings[event] ?= [] - @bindings[event].push {handler, ctx, once} - - once: (event, handler, ctx) -> - @on(event, handler, ctx, true) - - off: (event, handler) -> - return unless @bindings?[event]? - - if not handler? - delete @bindings[event] - else - i = 0 - while i < @bindings[event].length - if @bindings[event][i].handler is handler - @bindings[event].splice i, 1 - else - i++ - - trigger: (event, args...) -> - if @bindings?[event] - i = 0 - while i < @bindings[event].length - {handler, ctx, once} = @bindings[event][i] - - handler.apply(ctx ? @, args) - - if once - @bindings[event].splice i, 1 - else - i++ - -Pace = window.Pace or {} -window.Pace = Pace - -extend Pace, Evented:: - -options = Pace.options = extend {}, defaultOptions, window.paceOptions, getFromDOM() - -for source in ['ajax', 'document', 'eventLag', 'elements'] - # true enables them without configuration, so we grab the config from the defaults - if options[source] is true - options[source] = defaultOptions[source] - -class NoTargetError extends Error - -class Bar - constructor: -> - @progress = 0 - - getElement: -> - if not @el? - targetElement = document.querySelector options.target - - if not targetElement - throw new NoTargetError - - @el = document.createElement 'div' - @el.className = "pace pace-active" - - document.body.className = document.body.className.replace /(pace-done)|/, 'pace-running' - - @el.innerHTML = ''' -
-
-
-
- ''' - if targetElement.firstChild? - targetElement.insertBefore @el, targetElement.firstChild - else - targetElement.appendChild @el - - @el - - finish: -> - el = @getElement() - - el.className = el.className.replace 'pace-active', 'pace-inactive' - - document.body.className = document.body.className.replace 'pace-running', 'pace-done' - - update: (prog) -> - @progress = prog - - do @render - - destroy: -> - try - @getElement().parentNode.removeChild(@getElement()) - catch NoTargetError - - @el = undefined - - render: -> - if not document.querySelector(options.target)? - return false - - el = @getElement() - - transform = "translate3d(#{ @progress }%, 0, 0)" - for key in ['webkitTransform', 'msTransform', 'transform'] - el.children[0].style[key] = transform - - if not @lastRenderedProgress or @lastRenderedProgress|0 != @progress|0 - # The whole-part of the number has changed - - el.children[0].setAttribute 'data-progress-text', "#{ @progress|0 }%" - - if @progress >= 100 - # We cap it at 99 so we can use prefix-based attribute selectors - progressStr = '99' - else - progressStr = if @progress < 10 then "0" else "" - progressStr += @progress|0 - - el.children[0].setAttribute 'data-progress', "#{ progressStr }" - - @lastRenderedProgress = @progress - - done: -> - @progress >= 100 - -class Events - constructor: -> - @bindings = {} - - trigger: (name, val) -> - if @bindings[name]? - for binding in @bindings[name] - binding.call @, val - - on: (name, fn) -> - @bindings[name] ?= [] - @bindings[name].push fn - -_XMLHttpRequest = window.XMLHttpRequest -_XDomainRequest = window.XDomainRequest -_WebSocket = window.WebSocket - -extendNative = (to, from) -> - for key of from:: - try - if not to[key]? and typeof from[key] isnt 'function' - if typeof Object.defineProperty is 'function' - Object.defineProperty(to, key, { - get: -> - return from::[key]; - , - configurable: true, - enumerable: true }) - else - to[key] = from::[key] - catch e - -ignoreStack = [] - -Pace.ignore = (fn, args...) -> - ignoreStack.unshift 'ignore' - ret = fn(args...) - ignoreStack.shift() - ret - -Pace.track = (fn, args...) -> - ignoreStack.unshift 'track' - ret = fn(args...) - ignoreStack.shift() - ret - -shouldTrack = (method='GET') -> - if ignoreStack[0] is 'track' - return 'force' - - if not ignoreStack.length and options.ajax - if method is 'socket' and options.ajax.trackWebSockets - return true - else if method.toUpperCase() in options.ajax.trackMethods - return true - - return false - -# We should only ever instantiate one of these -class RequestIntercept extends Events - constructor: -> - super - - monitorXHR = (req) => - _open = req.open - req.open = (type, url, async) => - if shouldTrack(type) - @trigger 'request', {type, url, request: req} - - _open.apply req, arguments - - window.XMLHttpRequest = (flags) -> - req = new _XMLHttpRequest(flags) - - monitorXHR req - - req - - try - extendNative window.XMLHttpRequest, _XMLHttpRequest - - if _XDomainRequest? - window.XDomainRequest = -> - req = new _XDomainRequest - - monitorXHR req - - req - - try - extendNative window.XDomainRequest, _XDomainRequest - - if _WebSocket? and options.ajax.trackWebSockets - window.WebSocket = (url, protocols) => - if protocols? - req = new _WebSocket(url, protocols) - else - req = new _WebSocket(url) - - if shouldTrack('socket') - @trigger 'request', {type: 'socket', url, protocols, request: req} - - req - - try - extendNative window.WebSocket, _WebSocket - -_intercept = null -getIntercept = -> - if not _intercept? - _intercept = new RequestIntercept - _intercept - -shouldIgnoreURL = (url) -> - for pattern in options.ajax.ignoreURLs - if typeof pattern is 'string' - if url.indexOf(pattern) isnt -1 - return true - - else - if pattern.test(url) - return true - - return false - -# If we want to start the progress bar -# on every request, we need to hear the request -# and then inject it into the new ajax monitor -# start will have created. - -getIntercept().on 'request', ({type, request, url}) -> - return if shouldIgnoreURL(url) - - if not Pace.running and (options.restartOnRequestAfter isnt false or shouldTrack(type) is 'force') - args = arguments - - after = options.restartOnRequestAfter or 0 - if typeof after is 'boolean' - after = 0 - - setTimeout -> - if type is 'socket' - stillActive = request.readyState < 1 - else - stillActive = 0 < request.readyState < 4 - - if stillActive - Pace.restart() - - for source in Pace.sources - if source instanceof AjaxMonitor - source.watch args... - break - , after - -class AjaxMonitor - constructor: -> - @elements = [] - - getIntercept().on 'request', => @watch arguments... - - watch: ({type, request, url}) -> - return if shouldIgnoreURL(url) - - if type is 'socket' - tracker = new SocketRequestTracker(request, @complete) - else - tracker = new XHRRequestTracker(request, @complete) - - @elements.push tracker - - complete: (tracker) => - @elements = @elements.filter (e) -> e isnt tracker - -class XHRRequestTracker - constructor: (request, completeCallback) -> - @progress = 0 - - if window.ProgressEvent? - # We're dealing with a modern browser with progress event support - - size = null - addEventListener request, 'progress', (evt) => - if evt.lengthComputable - @progress = 100 * evt.loaded / evt.total - else - # If it's chunked encoding, we have no way of knowing the total length of the - # response, all we can do is increment the progress with backoff such that we - # never hit 100% until it's done. - @progress = @progress + (100 - @progress) / 2 - , false - - for event in ['load', 'abort', 'timeout', 'error'] - addEventListener request, event, => - completeCallback(@) - @progress = 100 - , false - - else - _onreadystatechange = request.onreadystatechange - request.onreadystatechange = => - if request.readyState in [0, 4] - completeCallback(@) - @progress = 100 - else if request.readyState is 3 - @progress = 50 - - _onreadystatechange?(arguments...) - -class SocketRequestTracker - constructor: (request, completeCallback) -> - @progress = 0 - - for event in ['error', 'open'] - addEventListener request, event, => - completeCallback(@) - @progress = 100 - , false - -class ElementMonitor - constructor: (options={}) -> - @elements = [] - - options.selectors ?= [] - for selector in options.selectors - @elements.push new ElementTracker(selector, @complete) - - complete: (tracker) => - @elements = @elements.filter (e) -> e isnt tracker - -class ElementTracker - constructor: (@selector, @completeCallback) -> - @progress = 0 - - @check() - - check: -> - if document.querySelector(@selector) - @done() - else - setTimeout (=> @check()), - options.elements.checkInterval - - done: -> - @completeCallback(@) - @completeCallback = null - @progress = 100 - -class DocumentMonitor - states: - loading: 0 - interactive: 50 - complete: 100 - - constructor: -> - @progress = @states[document.readyState] ? 100 - - _onreadystatechange = document.onreadystatechange - document.onreadystatechange = => - if @states[document.readyState]? - @progress = @states[document.readyState] - - _onreadystatechange?(arguments...) - -class EventLagMonitor - constructor: -> - @progress = 0 - - avg = 0 - - samples = [] - - points = 0 - last = now() - interval = setInterval => - diff = now() - last - 50 - last = now() - - samples.push diff - - if samples.length > options.eventLag.sampleCount - samples.shift() - - avg = avgAmplitude samples - - if ++points >= options.eventLag.minSamples and avg < options.eventLag.lagThreshold - @progress = 100 - - clearInterval interval - else - @progress = 100 * (3 / (avg + 3)) - - , 50 - -class Scaler - constructor: (@source) -> - @last = @sinceLastUpdate = 0 - @rate = options.initialRate - @catchup = 0 - @progress = @lastProgress = 0 - - if @source? - @progress = result(@source, 'progress') - - tick: (frameTime, val) -> - val ?= result(@source, 'progress') - - if val >= 100 - @done = true - - if val == @last - @sinceLastUpdate += frameTime - else - if @sinceLastUpdate - @rate = (val - @last) / @sinceLastUpdate - - @catchup = (val - @progress) / options.catchupTime - - @sinceLastUpdate = 0 - @last = val - - if val > @progress - # After we've got a datapoint, we have catchupTime to - # get the progress bar to reflect that new data - @progress += @catchup * frameTime - - scaling = (1 - Math.pow(@progress / 100, options.easeFactor)) - - # Based on the rate of the last update, we preemptively update - # the progress bar, scaling it so it can never hit 100% until we - # know it's done. - @progress += scaling * @rate * frameTime - - @progress = Math.min(@lastProgress + options.maxProgressPerFrame, @progress) - - @progress = Math.max(0, @progress) - @progress = Math.min(100, @progress) - - @lastProgress = @progress - - @progress - -sources = null -scalers = null -bar = null -uniScaler = null -animation = null -cancelAnimation = null -Pace.running = false - -handlePushState = -> - if options.restartOnPushState - Pace.restart() - -# We reset the bar whenever it looks like an ajax navigation has occured. -if window.history.pushState? - _pushState = window.history.pushState - window.history.pushState = -> - handlePushState() - - _pushState.apply window.history, arguments - -if window.history.replaceState? - _replaceState = window.history.replaceState - window.history.replaceState = -> - handlePushState() - - _replaceState.apply window.history, arguments - -SOURCE_KEYS = - ajax: AjaxMonitor - elements: ElementMonitor - document: DocumentMonitor - eventLag: EventLagMonitor - -do init = -> - Pace.sources = sources = [] - - for type in ['ajax', 'elements', 'document', 'eventLag'] - if options[type] isnt false - sources.push new SOURCE_KEYS[type](options[type]) - - for source in options.extraSources ? [] - sources.push new source(options) - - Pace.bar = bar = new Bar - - # Each source of progress data has it's own scaler to smooth its output - scalers = [] - - # We have an extra scaler for the final output to keep things looking nice as we add and - # remove sources - uniScaler = new Scaler - -Pace.stop = -> - Pace.trigger 'stop' - Pace.running = false - - bar.destroy() - - # Not all browsers support cancelAnimationFrame - cancelAnimation = true - - if animation? - cancelAnimationFrame? animation - animation = null - - init() - -Pace.restart = -> - Pace.trigger 'restart' - Pace.stop() - Pace.start() - -Pace.go = -> - Pace.running = true - - bar.render() - - start = now() - - cancelAnimation = false - animation = runAnimation (frameTime, enqueueNextFrame) -> - # Every source gives us a progress number from 0 - 100 - # It's up to us to figure out how to turn that into a smoothly moving bar - # - # Their progress numbers can only increment. We try to interpolate - # between the numbers. - - remaining = 100 - bar.progress - - count = sum = 0 - done = true - # A source is composed of a bunch of elements, each with a raw, unscaled progress - for source, i in sources - scalerList = scalers[i] ?= [] - - elements = source.elements ? [source] - - # Each element is given it's own scaler, which turns its value into something - # smoothed for display - for element, j in elements - scaler = scalerList[j] ?= new Scaler element - - done &= scaler.done - - continue if scaler.done - - count++ - sum += scaler.tick(frameTime) - - avg = sum / count - - bar.update uniScaler.tick(frameTime, avg) - - if bar.done() or done or cancelAnimation - bar.update 100 - - Pace.trigger 'done' - - setTimeout -> - bar.finish() - - Pace.running = false - - Pace.trigger 'hide' - , Math.max(options.ghostTime, Math.max(options.minTime - (now() - start), 0)) - else - enqueueNextFrame() - -Pace.start = (_options) -> - extend options, _options - - Pace.running = true - - try - bar.render() - catch NoTargetError - - # It's usually possible to render a bit before the document declares itself ready - if not document.querySelector('.pace') - setTimeout Pace.start, 50 - else - Pace.trigger 'start' - Pace.go() - -if typeof define is 'function' and define.amd - # AMD - define -> Pace -else if typeof exports is 'object' - # CommonJS - module.exports = Pace -else - # Global - if options.startOnPageLoad - Pace.start() diff --git a/package.json b/package.json deleted file mode 100644 index 88cda8e9..00000000 --- a/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "pace-progress", - "version": "1.0.2", - "description": "Automatic page load progress bar", - "authors": [ - "Zack Bloom ", - "Adam Schwartz " - ], - "license": "MIT", - "main": "pace.js", - "repository": { - "type": "git", - "url": "git://github.com/HubSpot/pace.git" - }, - "devDependencies": { - "grunt-contrib-coffee": "~0.7.0", - "coffee-script": "~1.6.3", - "grunt-contrib-uglify": "~0.2.4", - "grunt-cli": "~0.1.9", - "grunt": "~0.4.1", - "grunt-contrib-watch": "~0.5.3", - "color": "~0.4.4" - } -} diff --git a/templates/pace-theme-barber-shop.tmpl.css b/templates/pace-theme-barber-shop.tmpl.css deleted file mode 100644 index f1f098a7..00000000 --- a/templates/pace-theme-barber-shop.tmpl.css +++ /dev/null @@ -1,84 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - overflow: hidden; - position: fixed; - top: 0; - left: 0; - z-index: 2000; - width: 100%; - height: 12px; - background: #fff; -} - -.pace-inactive { - display: none; -} - -.pace .pace-progress { - background-color: `args.color || "#29d"`; - position: fixed; - top: 0; - bottom: 0; - right: 100%; - width: 100%; - overflow: hidden; - height: 12px; -} - -.pace .pace-activity { - position: fixed; - top: 0; - right: -32px; - bottom: 0; - left: 0; - height: 12px; - - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); - -webkit-background-size: 32px 32px; - -moz-background-size: 32px 32px; - -o-background-size: 32px 32px; - background-size: 32px 32px; - - -webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite; - -moz-animation: pace-theme-barber-shop-motion 500ms linear infinite; - -ms-animation: pace-theme-barber-shop-motion 500ms linear infinite; - -o-animation: pace-theme-barber-shop-motion 500ms linear infinite; - animation: pace-theme-barber-shop-motion 500ms linear infinite; -} - -@-webkit-keyframes pace-theme-barber-shop-motion { - 0% { -webkit-transform: none; transform: none; } - 100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); } -} -@-moz-keyframes pace-theme-barber-shop-motion { - 0% { -moz-transform: none; transform: none; } - 100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); } -} -@-o-keyframes pace-theme-barber-shop-motion { - 0% { -o-transform: none; transform: none; } - 100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); } -} -@-ms-keyframes pace-theme-barber-shop-motion { - 0% { -ms-transform: none; transform: none; } - 100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); } -} -@keyframes pace-theme-barber-shop-motion { - 0% { transform: none; transform: none; } - 100% { transform: translate(-32px, 0); transform: translate(-32px, 0); } -} diff --git a/templates/pace-theme-big-counter.tmpl.css b/templates/pace-theme-big-counter.tmpl.css deleted file mode 100644 index eb293405..00000000 --- a/templates/pace-theme-big-counter.tmpl.css +++ /dev/null @@ -1,39 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.pace.pace-inactive .pace-progress { - display: none; -} - -.pace .pace-progress { - position: fixed; - z-index: 2000; - top: 0; - right: 0; - height: 5rem; - width: 5rem; - - -webkit-transform: translate3d(0, 0, 0) !important; - -ms-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; -} - -.pace .pace-progress:after { - display: block; - position: absolute; - top: 0; - right: .5rem; - content: attr(data-progress-text); - font-family: "Helvetica Neue", sans-serif; - font-weight: 100; - font-size: 5rem; - line-height: 1; - text-align: right; - color: `Color(args.color || '#000').clearer(0.8).rgbString()`; -} diff --git a/templates/pace-theme-bounce.tmpl.css b/templates/pace-theme-bounce.tmpl.css deleted file mode 100644 index 9c442c49..00000000 --- a/templates/pace-theme-bounce.tmpl.css +++ /dev/null @@ -1,230 +0,0 @@ -.pace { - width: 140px; - height: 300px; - position: fixed; - top: -90px; - right: -20px; - z-index: 2000; - -webkit-transform: scale(0); - -moz-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - opacity: 0; - -webkit-transition: all 2s linear 0s; - -moz-transition: all 2s linear 0s; - transition: all 2s linear 0s; -} - -.pace.pace-active { - -webkit-transform: scale(.25); - -moz-transform: scale(.25); - -ms-transform: scale(.25); - -o-transform: scale(.25); - transform: scale(.25); - opacity: 1; -} - -.pace .pace-activity { - width: 140px; - height: 140px; - border-radius: 70px; - background: `args.color || "#29d"`; - position: absolute; - top: 0; - z-index: 1911; - -webkit-animation: pace-bounce 1s infinite; - -moz-animation: pace-bounce 1s infinite; - -o-animation: pace-bounce 1s infinite; - -ms-animation: pace-bounce 1s infinite; - animation: pace-bounce 1s infinite; -} - -.pace .pace-progress { - position: absolute; - display: block; - left: 50%; - bottom: 0; - z-index: 1910; - margin-left: -30px; - width: 60px; - height: 75px; - background: rgba(20, 20, 20, .1); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); - border-radius: 30px / 40px; - -webkit-transform: scaleY(.3) !important; - -moz-transform: scaleY(.3) !important; - -ms-transform: scaleY(.3) !important; - -o-transform: scaleY(.3) !important; - transform: scaleY(.3) !important; - -webkit-animation: pace-compress .5s infinite alternate; - -moz-animation: pace-compress .5s infinite alternate; - -o-animation: pace-compress .5s infinite alternate; - -ms-animation: pace-compress .5s infinite alternate; - animation: pace-compress .5s infinite alternate; -} - -@-webkit-keyframes pace-bounce { - 0% { - top: 0; - -webkit-animation-timing-function: ease-in; - } - 40% {} - 50% { - top: 140px; - height: 140px; - -webkit-animation-timing-function: ease-out; - } - 55% { - top: 160px; - height: 120px; - border-radius: 70px / 60px; - -webkit-animation-timing-function: ease-in; - } - 65% { - top: 120px; - height: 140px; - border-radius: 70px; - -webkit-animation-timing-function: ease-out; - } - 95% { - top: 0; - -webkit-animation-timing-function: ease-in; - } - 100% { - top: 0; - -webkit-animation-timing-function: ease-in; - } -} - -@-moz-keyframes pace-bounce { - 0% { - top: 0; - -moz-animation-timing-function: ease-in; - } - 40% {} - 50% { - top: 140px; - height: 140px; - -moz-animation-timing-function: ease-out; - } - 55% { - top: 160px; - height: 120px; - border-radius: 70px / 60px; - -moz-animation-timing-function: ease-in; - } - 65% { - top: 120px; - height: 140px; - border-radius: 70px; - -moz-animation-timing-function: ease-out;} - 95% { - top: 0; - -moz-animation-timing-function: ease-in; - } - 100% {top: 0; - -moz-animation-timing-function: ease-in; - } -} - -@keyframes pace-bounce { - 0% { - top: 0; - animation-timing-function: ease-in; - } - 50% { - top: 140px; - height: 140px; - animation-timing-function: ease-out; - } - 55% { - top: 160px; - height: 120px; - border-radius: 70px / 60px; - animation-timing-function: ease-in; - } - 65% { - top: 120px; - height: 140px; - border-radius: 70px; - animation-timing-function: ease-out; - } - 95% { - top: 0; - animation-timing-function: ease-in; - } - 100% { - top: 0; - animation-timing-function: ease-in; - } -} - -@-webkit-keyframes pace-compress { - 0% { - bottom: 0; - margin-left: -30px; - width: 60px; - height: 75px; - background: rgba(20, 20, 20, .1); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); - border-radius: 30px / 40px; - -webkit-animation-timing-function: ease-in; - } - 100% { - bottom: 30px; - margin-left: -10px; - width: 20px; - height: 5px; - background: rgba(20, 20, 20, .3); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); - border-radius: 20px / 20px; - -webkit-animation-timing-function: ease-out; - } -} - -@-moz-keyframes pace-compress { - 0% { - bottom: 0; - margin-left: -30px; - width: 60px; - height: 75px; - background: rgba(20, 20, 20, .1); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); - border-radius: 30px / 40px; - -moz-animation-timing-function: ease-in; - } - 100% { - bottom: 30px; - margin-left: -10px; - width: 20px; - height: 5px; - background: rgba(20, 20, 20, .3); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); - border-radius: 20px / 20px; - -moz-animation-timing-function: ease-out; - } -} - -@keyframes pace-compress { - 0% { - bottom: 0; - margin-left: -30px; - width: 60px; - height: 75px; - background: rgba(20, 20, 20, .1); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); - border-radius: 30px / 40px; - animation-timing-function: ease-in; - } - 100% { - bottom: 30px; - margin-left: -10px; - width: 20px; - height: 5px; - background: rgba(20, 20, 20, .3); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); - border-radius: 20px / 20px; - animation-timing-function: ease-out; - } -} \ No newline at end of file diff --git a/templates/pace-theme-center-atom.tmpl.css b/templates/pace-theme-center-atom.tmpl.css deleted file mode 100644 index b2fd2ce3..00000000 --- a/templates/pace-theme-center-atom.tmpl.css +++ /dev/null @@ -1,130 +0,0 @@ -.pace.pace-inactive { - display: none; -} - -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - z-index: 2000; - position: fixed; - height: 60px; - width: 100px; - margin: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; -} - -.pace .pace-progress { - z-index: 2000; - position: absolute; - height: 60px; - width: 100px; - - -webkit-transform: translate3d(0, 0, 0) !important; - -ms-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; -} - -.pace .pace-progress:before { - content: attr(data-progress-text); - text-align: center; - color: #fff; - background: `args.color || "#29d"`; - border-radius: 50%; - font-family: "Helvetica Neue", sans-serif; - font-size: 14px; - font-weight: 100; - line-height: 1; - padding: 20% 0 7px; - width: 50%; - height: 40%; - margin: 10px 0 0 30px; - display: block; - z-index: 999; - position: absolute; -} - -.pace .pace-activity { - font-size: 15px; - line-height: 1; - z-index: 2000; - position: absolute; - height: 60px; - width: 100px; - - display: block; - -webkit-animation: pace-theme-center-atom-spin 2s linear infinite; - -moz-animation: pace-theme-center-atom-spin 2s linear infinite; - -o-animation: pace-theme-center-atom-spin 2s linear infinite; - animation: pace-theme-center-atom-spin 2s linear infinite; -} - -.pace .pace-activity { - border-radius: 50%; - border: 5px solid `args.color || "#29d"`; - content: ' '; - display: block; - position: absolute; - top: 0; - left: 0; - height: 60px; - width: 100px; -} - -.pace .pace-activity:after { - border-radius: 50%; - border: 5px solid `args.color || "#29d"`; - content: ' '; - display: block; - position: absolute; - top: -5px; - left: -5px; - height: 60px; - width: 100px; - - -webkit-transform: rotate(60deg); - -moz-transform: rotate(60deg); - -o-transform: rotate(60deg); - transform: rotate(60deg); -} - -.pace .pace-activity:before { - border-radius: 50%; - border: 5px solid `args.color || "#29d"`; - content: ' '; - display: block; - position: absolute; - top: -5px; - left: -5px; - height: 60px; - width: 100px; - - -webkit-transform: rotate(120deg); - -moz-transform: rotate(120deg); - -o-transform: rotate(120deg); - transform: rotate(120deg); -} - -@-webkit-keyframes pace-theme-center-atom-spin { - 0% { -webkit-transform: rotate(0deg) } - 100% { -webkit-transform: rotate(359deg) } -} -@-moz-keyframes pace-theme-center-atom-spin { - 0% { -moz-transform: rotate(0deg) } - 100% { -moz-transform: rotate(359deg) } -} -@-o-keyframes pace-theme-center-atom-spin { - 0% { -o-transform: rotate(0deg) } - 100% { -o-transform: rotate(359deg) } -} -@keyframes pace-theme-center-atom-spin { - 0% { transform: rotate(0deg) } - 100% { transform: rotate(359deg) } -} diff --git a/templates/pace-theme-center-circle.tmpl.css b/templates/pace-theme-center-circle.tmpl.css deleted file mode 100644 index 2493612d..00000000 --- a/templates/pace-theme-center-circle.tmpl.css +++ /dev/null @@ -1,89 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - -webkit-perspective: 12rem; - -moz-perspective: 12rem; - -ms-perspective: 12rem; - -o-perspective: 12rem; - perspective: 12rem; - - z-index: 2000; - position: fixed; - height: 6rem; - width: 6rem; - margin: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; -} - -.pace.pace-inactive .pace-progress { - display: none; -} - -.pace .pace-progress { - position: fixed; - z-index: 2000; - display: block; - position: absolute; - left: 0; - top: 0; - height: 6rem; - width: 6rem !important; - line-height: 6rem; - font-size: 2rem; - border-radius: 50%; - background: `Color(args.color || '#29d').clearer(0.2).rgbString()`; - color: #fff; - font-family: "Helvetica Neue", sans-serif; - font-weight: 100; - text-align: center; - - -webkit-animation: pace-theme-center-circle-spin linear infinite 2s; - -moz-animation: pace-theme-center-circle-spin linear infinite 2s; - -ms-animation: pace-theme-center-circle-spin linear infinite 2s; - -o-animation: pace-theme-center-circle-spin linear infinite 2s; - animation: pace-theme-center-circle-spin linear infinite 2s; - - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - -o-transform-style: preserve-3d; - transform-style: preserve-3d; -} - -.pace .pace-progress:after { - content: attr(data-progress-text); - display: block; -} - -@-webkit-keyframes pace-theme-center-circle-spin { - from { -webkit-transform: rotateY(0deg) } - to { -webkit-transform: rotateY(360deg) } -} - -@-moz-keyframes pace-theme-center-circle-spin { - from { -moz-transform: rotateY(0deg) } - to { -moz-transform: rotateY(360deg) } -} - -@-ms-keyframes pace-theme-center-circle-spin { - from { -ms-transform: rotateY(0deg) } - to { -ms-transform: rotateY(360deg) } -} - -@-o-keyframes pace-theme-center-circle-spin { - from { -o-transform: rotateY(0deg) } - to { -o-transform: rotateY(360deg) } -} - -@keyframes pace-theme-center-circle-spin { - from { transform: rotateY(0deg) } - to { transform: rotateY(360deg) } -} diff --git a/templates/pace-theme-center-radar.tmpl.css b/templates/pace-theme-center-radar.tmpl.css deleted file mode 100644 index e50db3c1..00000000 --- a/templates/pace-theme-center-radar.tmpl.css +++ /dev/null @@ -1,81 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - z-index: 2000; - position: fixed; - height: 90px; - width: 90px; - margin: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; -} - -.pace.pace-inactive .pace-activity { - display: none; -} - -.pace .pace-activity { - position: fixed; - z-index: 2000; - display: block; - position: absolute; - left: -30px; - top: -30px; - height: 90px; - width: 90px; - display: block; - border-width: 30px; - border-style: double; - border-color: `args.color || "#29d"` transparent transparent; - border-radius: 50%; - - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - - -webkit-animation: spin 1s linear infinite; - -moz-animation: spin 1s linear infinite; - -o-animation: spin 1s linear infinite; - animation: spin 1s linear infinite; -} - -.pace .pace-activity:before { - content: ' '; - position: absolute; - top: 10px; - left: 10px; - height: 50px; - width: 50px; - display: block; - border-width: 10px; - border-style: solid; - border-color: `args.color || "#29d"` transparent transparent; - border-radius: 50%; - - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -@-webkit-keyframes spin { - 100% { -webkit-transform: rotate(359deg); } -} - -@-moz-keyframes spin { - 100% { -moz-transform: rotate(359deg); } -} - -@-o-keyframes spin { - 100% { -moz-transform: rotate(359deg); } -} - -@keyframes spin { - 100% { transform: rotate(359deg); } -} diff --git a/templates/pace-theme-center-simple.tmpl.css b/templates/pace-theme-center-simple.tmpl.css deleted file mode 100644 index a92c2518..00000000 --- a/templates/pace-theme-center-simple.tmpl.css +++ /dev/null @@ -1,51 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - z-index: 2000; - position: fixed; - margin: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; - height: 5px; - width: 200px; - background: #fff; - border: 1px solid `args.color || "#29d"`; - - overflow: hidden; -} - -.pace .pace-progress { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; - - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - - max-width: 200px; - position: fixed; - z-index: 2000; - display: block; - position: absolute; - top: 0; - right: 100%; - height: 100%; - width: 100%; - background: `args.color || "#29d"`; -} - -.pace.pace-inactive { - display: none; -} \ No newline at end of file diff --git a/templates/pace-theme-corner-indicator.tmpl.css b/templates/pace-theme-corner-indicator.tmpl.css deleted file mode 100644 index 22e95982..00000000 --- a/templates/pace-theme-corner-indicator.tmpl.css +++ /dev/null @@ -1,72 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.pace .pace-activity { - display: block; - position: fixed; - z-index: 2000; - top: 0; - right: 0; - width: 300px; - height: 300px; - background: `args.color || "#29d"`; - -webkit-transition: -webkit-transform 0.3s; - transition: transform 0.3s; - -webkit-transform: translateX(100%) translateY(-100%) rotate(45deg); - transform: translateX(100%) translateY(-100%) rotate(45deg); - pointer-events: none; -} - -.pace.pace-active .pace-activity { - -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg); - transform: translateX(50%) translateY(-50%) rotate(45deg); -} - -.pace .pace-activity::before, -.pace .pace-activity::after { - -moz-box-sizing: border-box; - box-sizing: border-box; - position: absolute; - bottom: 30px; - left: 50%; - display: block; - border: 5px solid #fff; - border-radius: 50%; - content: ''; -} - -.pace .pace-activity::before { - margin-left: -40px; - width: 80px; - height: 80px; - border-right-color: rgba(0, 0, 0, .2); - border-left-color: rgba(0, 0, 0, .2); - -webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite; - animation: pace-theme-corner-indicator-spin 3s linear infinite; -} - -.pace .pace-activity::after { - bottom: 50px; - margin-left: -20px; - width: 40px; - height: 40px; - border-top-color: rgba(0, 0, 0, .2); - border-bottom-color: rgba(0, 0, 0, .2); - -webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite; - animation: pace-theme-corner-indicator-spin 1s linear infinite; -} - -@-webkit-keyframes pace-theme-corner-indicator-spin { - 0% { -webkit-transform: rotate(0deg); } - 100% { -webkit-transform: rotate(359deg); } -} -@keyframes pace-theme-corner-indicator-spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(359deg); } -} diff --git a/templates/pace-theme-fill-left.tmpl.css b/templates/pace-theme-fill-left.tmpl.css deleted file mode 100644 index 0f72cb02..00000000 --- a/templates/pace-theme-fill-left.tmpl.css +++ /dev/null @@ -1,21 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.pace-inactive { - display: none; -} - -.pace .pace-progress { - background-color: `Color(args.color).clearer(0.8).rgbString() || "rgba(0, 0, 0, 0.2)"`; - position: fixed; - z-index: -1; - top: 0; - right: 100%; - bottom: 0; - width: 100%; -} diff --git a/templates/pace-theme-flash.tmpl.css b/templates/pace-theme-flash.tmpl.css deleted file mode 100644 index 705fce62..00000000 --- a/templates/pace-theme-flash.tmpl.css +++ /dev/null @@ -1,76 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.pace-inactive { - display: none; -} - -.pace .pace-progress { - background: `args.color || "#29d"`; - position: fixed; - z-index: 2000; - top: 0; - right: 100%; - width: 100%; - height: 2px; -} - -.pace .pace-progress-inner { - display: block; - position: absolute; - right: 0px; - width: 100px; - height: 100%; - box-shadow: 0 0 10px `args.color || '#29d'`, 0 0 5px `args.color || '#29d'`; - opacity: 1.0; - -webkit-transform: rotate(3deg) translate(0px, -4px); - -moz-transform: rotate(3deg) translate(0px, -4px); - -ms-transform: rotate(3deg) translate(0px, -4px); - -o-transform: rotate(3deg) translate(0px, -4px); - transform: rotate(3deg) translate(0px, -4px); -} - -.pace .pace-activity { - display: block; - position: fixed; - z-index: 2000; - top: 15px; - right: 15px; - width: 14px; - height: 14px; - border: solid 2px transparent; - border-top-color: `args.color || '#29d'`; - border-left-color: `args.color || '#29d'`; - border-radius: 10px; - -webkit-animation: pace-spinner 400ms linear infinite; - -moz-animation: pace-spinner 400ms linear infinite; - -ms-animation: pace-spinner 400ms linear infinite; - -o-animation: pace-spinner 400ms linear infinite; - animation: pace-spinner 400ms linear infinite; -} - -@-webkit-keyframes pace-spinner { - 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } -} -@-moz-keyframes pace-spinner { - 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } -} -@-o-keyframes pace-spinner { - 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } -} -@-ms-keyframes pace-spinner { - 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } -} -@keyframes pace-spinner { - 0% { transform: rotate(0deg); transform: rotate(0deg); } - 100% { transform: rotate(360deg); transform: rotate(360deg); } -} diff --git a/templates/pace-theme-flat-top.tmpl.css b/templates/pace-theme-flat-top.tmpl.css deleted file mode 100644 index 938922a9..00000000 --- a/templates/pace-theme-flat-top.tmpl.css +++ /dev/null @@ -1,40 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - position: fixed; - top: 0; - left: 0; - width: 100%; - - -webkit-transform: translate3d(0, -50px, 0); - -ms-transform: translate3d(0, -50px, 0); - transform: translate3d(0, -50px, 0); - - -webkit-transition: transform .5s ease-out; - -ms-transition: transform .5s ease-out; - transition: transform .5s ease-out; -} - -.pace.pace-active { - -webkit-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.pace .pace-progress { - display: block; - position: fixed; - z-index: 2000; - top: 0; - right: 100%; - width: 100%; - height: 10px; - background: `args.color || "#29d"`; - - pointer-events: none; -} diff --git a/templates/pace-theme-loading-bar.tmpl.css b/templates/pace-theme-loading-bar.tmpl.css deleted file mode 100644 index 04438400..00000000 --- a/templates/pace-theme-loading-bar.tmpl.css +++ /dev/null @@ -1,104 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; - - -webkit-border-radius: 10px; - -moz-border-radius: 10px; - border-radius: 10px; - - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - - z-index: 2000; - position: fixed; - margin: auto; - top: 12px; - left: 0; - right: 0; - bottom: 0; - width: 200px; - height: 50px; - overflow: hidden; -} - -.pace .pace-progress { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; - - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - - display: block; - position: absolute; - right: 100%; - margin-right: -7px; - width: 93%; - top: 7px; - height: 14px; - font-size: 12px; - background: `args.color || "#29d"`; - color: `args.color || "#29d"`; - line-height: 60px; - font-weight: bold; - font-family: Helvetica, Arial, "Lucida Grande", sans-serif; - - -webkit-box-shadow: 120px 0 #fff, 240px 0 #fff; - -ms-box-shadow: 120px 0 #fff, 240px 0 #fff; - box-shadow: 120px 0 #fff, 240px 0 #fff; -} - -.pace .pace-progress:after { - content: attr(data-progress-text); - display: inline-block; - position: fixed; - width: 45px; - text-align: right; - right: 0; - padding-right: 16px; - top: 4px; -} - -` -var out = ''; - -for (var i = 0; i < 101 ; i++) { - out += ".pace .pace-progress[data-progress-text=\"" + i + "%\"]:after { right: -" + (200 - (i * 2) + ((i * 14) / 100)) + "px }\n"; -} - -out -` - -.pace .pace-activity { - position: absolute; - width: 100%; - height: 28px; - z-index: 2001; - box-shadow: inset 0 0 0 2px `args.color || "#29d"`, inset 0 0 0 7px #FFF; - border-radius: 10px; -} - -.pace.pace-inactive { - display: none; -} diff --git a/templates/pace-theme-mac-osx.tmpl.css b/templates/pace-theme-mac-osx.tmpl.css deleted file mode 100644 index b3145243..00000000 --- a/templates/pace-theme-mac-osx.tmpl.css +++ /dev/null @@ -1,86 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - overflow: hidden; - position: fixed; - top: 0; - left: 0; - z-index: 2000; - width: 100%; - height: 12px; - background: #fff; -} - -.pace-inactive { - display: none; -} - -.pace .pace-progress { - background-color: `Color(args.color || "#29d").darken(.2).saturate(.65).hexString();`; - position: fixed; - top: 0; - right: 100%; - width: 100%; - height: 12px; - overflow: hidden; - - -webkit-border-radius: 0 0 4px 0; - -moz-border-radius: 0 0 4px 0; - -o-border-radius: 0 0 4px 0; - border-radius: 0 0 4px 0; - - -webkit-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); - -moz-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); - -o-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); - box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); -} - -.pace .pace-activity { - position: fixed; - top: 0; - left: 0; - right: -28px; - bottom: 0; - - -webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); - -moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); - -o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); - background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); - - -webkit-background-size: 28px 100%; - -moz-background-size: 28px 100%; - -o-background-size: 28px 100%; - background-size: 28px 100%; - - -webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite; - -moz-animation: pace-theme-mac-osx-motion 500ms linear infinite; - -ms-animation: pace-theme-mac-osx-motion 500ms linear infinite; - -o-animation: pace-theme-mac-osx-motion 500ms linear infinite; - animation: pace-theme-mac-osx-motion 500ms linear infinite; -} - -@-webkit-keyframes pace-theme-mac-osx-motion { - 0% { -webkit-transform: none; transform: none; } - 100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); } -} -@-moz-keyframes pace-theme-mac-osx-motion { - 0% { -moz-transform: none; transform: none; } - 100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); } -} -@-o-keyframes pace-theme-mac-osx-motion { - 0% { -o-transform: none; transform: none; } - 100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); } -} -@-ms-keyframes pace-theme-mac-osx-motion { - 0% { -ms-transform: none; transform: none; } - 100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); } -} -@keyframes pace-theme-mac-osx-motion { - 0% { transform: none; transform: none; } - 100% { transform: translate(-28px, 0); transform: translate(-28px, 0); } -} diff --git a/templates/pace-theme-material.tmpl.css b/templates/pace-theme-material.tmpl.css deleted file mode 100644 index 82c18b08..00000000 --- a/templates/pace-theme-material.tmpl.css +++ /dev/null @@ -1,292 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - color: `args.color || "#2196F3"`; -} - -.pace-progress { - position: fixed; - z-index: 2000; - top: 50%; - left: 50%; - margin-left: -2.5rem; - margin-top: -2.5rem; - height: 5rem; - width: 5rem; - opacity: 1; - -webkit-transition: opacity 0.1s; - transition: opacity 0.1s; - - -webkit-transform: translate3d(0, 0, 0) !important; - -ms-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; -} - -.pace-inactive .pace-progress, -.pace-progress[data-progress="00"] { - opacity: 0; -} - -.pace-progress:after { - height: 5rem; - width: 5rem; - text-align: center; - line-height: 5rem; - content: attr(data-progress); - display: block; - font-size: 1.8rem; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: 300; -} - -.pace-progress .pace-progress-inner { - overflow: hidden; - position: absolute; - width: 2.5rem; - height: 5rem; - -webkit-transform-origin: left center; - -ms-transform-origin: left center; - transform-origin: left center; - -webkit-transition: -webkit-transform 0.1s; - transition: transform 0.1s; - left: 2.5rem; - top: 0; -} -.pace-progress .pace-progress-inner:before, -.pace-progress .pace-progress-inner:after { - position: absolute; - width: 5rem; - height: 5rem; - content: ' '; - left: -2.5rem; - top: 0; - box-sizing: border-box; - border: 1px solid; - border-radius: 5rem; -} -.pace-progress .pace-progress-inner:before { - border-right-color: transparent; - border-bottom-color: transparent; - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} -.pace-progress .pace-progress-inner:after { - border-left-color: transparent; - border-top-color: transparent; - display: none; - -webkit-transform: rotate(315deg); - -ms-transform: rotate(315deg); - transform: rotate(315deg); -} - -.pace-progress[data-progress="00"] .pace-progress-inner:before { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } -.pace-progress[data-progress="01"] .pace-progress-inner:before { -webkit-transform: rotate(-41deg); -ms-transform: rotate(-41deg); transform: rotate(-41deg); } -.pace-progress[data-progress="02"] .pace-progress-inner:before { -webkit-transform: rotate(-38deg); -ms-transform: rotate(-38deg); transform: rotate(-38deg); } -.pace-progress[data-progress="03"] .pace-progress-inner:before { -webkit-transform: rotate(-34deg); -ms-transform: rotate(-34deg); transform: rotate(-34deg); } -.pace-progress[data-progress="04"] .pace-progress-inner:before { -webkit-transform: rotate(-31deg); -ms-transform: rotate(-31deg); transform: rotate(-31deg); } -.pace-progress[data-progress="05"] .pace-progress-inner:before { -webkit-transform: rotate(-27deg); -ms-transform: rotate(-27deg); transform: rotate(-27deg); } -.pace-progress[data-progress="06"] .pace-progress-inner:before { -webkit-transform: rotate(-23deg); -ms-transform: rotate(-23deg); transform: rotate(-23deg); } -.pace-progress[data-progress="07"] .pace-progress-inner:before { -webkit-transform: rotate(-20deg); -ms-transform: rotate(-20deg); transform: rotate(-20deg); } -.pace-progress[data-progress="08"] .pace-progress-inner:before { -webkit-transform: rotate(-16deg); -ms-transform: rotate(-16deg); transform: rotate(-16deg); } -.pace-progress[data-progress="09"] .pace-progress-inner:before { -webkit-transform: rotate(-13deg); -ms-transform: rotate(-13deg); transform: rotate(-13deg); } -.pace-progress[data-progress="10"] .pace-progress-inner:before { -webkit-transform: rotate(-9deg); -ms-transform: rotate(-9deg); transform: rotate(-9deg); } -.pace-progress[data-progress="11"] .pace-progress-inner:before { -webkit-transform: rotate(-5deg); -ms-transform: rotate(-5deg); transform: rotate(-5deg); } -.pace-progress[data-progress="12"] .pace-progress-inner:before { -webkit-transform: rotate(-2deg); -ms-transform: rotate(-2deg); transform: rotate(-2deg); } -.pace-progress[data-progress="13"] .pace-progress-inner:before { -webkit-transform: rotate(2deg); -ms-transform: rotate(2deg); transform: rotate(2deg); } -.pace-progress[data-progress="14"] .pace-progress-inner:before { -webkit-transform: rotate(5deg); -ms-transform: rotate(5deg); transform: rotate(5deg); } -.pace-progress[data-progress="15"] .pace-progress-inner:before { -webkit-transform: rotate(9deg); -ms-transform: rotate(9deg); transform: rotate(9deg); } -.pace-progress[data-progress="16"] .pace-progress-inner:before { -webkit-transform: rotate(13deg); -ms-transform: rotate(13deg); transform: rotate(13deg); } -.pace-progress[data-progress="17"] .pace-progress-inner:before { -webkit-transform: rotate(16deg); -ms-transform: rotate(16deg); transform: rotate(16deg); } -.pace-progress[data-progress="18"] .pace-progress-inner:before { -webkit-transform: rotate(20deg); -ms-transform: rotate(20deg); transform: rotate(20deg); } -.pace-progress[data-progress="19"] .pace-progress-inner:before { -webkit-transform: rotate(23deg); -ms-transform: rotate(23deg); transform: rotate(23deg); } -.pace-progress[data-progress="20"] .pace-progress-inner:before { -webkit-transform: rotate(27deg); -ms-transform: rotate(27deg); transform: rotate(27deg); } -.pace-progress[data-progress="21"] .pace-progress-inner:before { -webkit-transform: rotate(31deg); -ms-transform: rotate(31deg); transform: rotate(31deg); } -.pace-progress[data-progress="22"] .pace-progress-inner:before { -webkit-transform: rotate(34deg); -ms-transform: rotate(34deg); transform: rotate(34deg); } -.pace-progress[data-progress="23"] .pace-progress-inner:before { -webkit-transform: rotate(38deg); -ms-transform: rotate(38deg); transform: rotate(38deg); } -.pace-progress[data-progress="24"] .pace-progress-inner:before { -webkit-transform: rotate(41deg); -ms-transform: rotate(41deg); transform: rotate(41deg); } -.pace-progress[data-progress="25"] .pace-progress-inner:before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } -.pace-progress[data-progress="26"] .pace-progress-inner:before { -webkit-transform: rotate(49deg); -ms-transform: rotate(49deg); transform: rotate(49deg); } -.pace-progress[data-progress="27"] .pace-progress-inner:before { -webkit-transform: rotate(52deg); -ms-transform: rotate(52deg); transform: rotate(52deg); } -.pace-progress[data-progress="28"] .pace-progress-inner:before { -webkit-transform: rotate(56deg); -ms-transform: rotate(56deg); transform: rotate(56deg); } -.pace-progress[data-progress="29"] .pace-progress-inner:before { -webkit-transform: rotate(59deg); -ms-transform: rotate(59deg); transform: rotate(59deg); } -.pace-progress[data-progress="30"] .pace-progress-inner:before { -webkit-transform: rotate(63deg); -ms-transform: rotate(63deg); transform: rotate(63deg); } -.pace-progress[data-progress="31"] .pace-progress-inner:before { -webkit-transform: rotate(67deg); -ms-transform: rotate(67deg); transform: rotate(67deg); } -.pace-progress[data-progress="32"] .pace-progress-inner:before { -webkit-transform: rotate(70deg); -ms-transform: rotate(70deg); transform: rotate(70deg); } -.pace-progress[data-progress="33"] .pace-progress-inner:before { -webkit-transform: rotate(74deg); -ms-transform: rotate(74deg); transform: rotate(74deg); } -.pace-progress[data-progress="34"] .pace-progress-inner:before { -webkit-transform: rotate(77deg); -ms-transform: rotate(77deg); transform: rotate(77deg); } -.pace-progress[data-progress="35"] .pace-progress-inner:before { -webkit-transform: rotate(81deg); -ms-transform: rotate(81deg); transform: rotate(81deg); } -.pace-progress[data-progress="36"] .pace-progress-inner:before { -webkit-transform: rotate(85deg); -ms-transform: rotate(85deg); transform: rotate(85deg); } -.pace-progress[data-progress="37"] .pace-progress-inner:before { -webkit-transform: rotate(88deg); -ms-transform: rotate(88deg); transform: rotate(88deg); } -.pace-progress[data-progress="38"] .pace-progress-inner:before { -webkit-transform: rotate(92deg); -ms-transform: rotate(92deg); transform: rotate(92deg); } -.pace-progress[data-progress="39"] .pace-progress-inner:before { -webkit-transform: rotate(95deg); -ms-transform: rotate(95deg); transform: rotate(95deg); } -.pace-progress[data-progress="40"] .pace-progress-inner:before { -webkit-transform: rotate(99deg); -ms-transform: rotate(99deg); transform: rotate(99deg); } -.pace-progress[data-progress="41"] .pace-progress-inner:before { -webkit-transform: rotate(103deg); -ms-transform: rotate(103deg); transform: rotate(103deg); } -.pace-progress[data-progress="42"] .pace-progress-inner:before { -webkit-transform: rotate(106deg); -ms-transform: rotate(106deg); transform: rotate(106deg); } -.pace-progress[data-progress="43"] .pace-progress-inner:before { -webkit-transform: rotate(110deg); -ms-transform: rotate(110deg); transform: rotate(110deg); } -.pace-progress[data-progress="44"] .pace-progress-inner:before { -webkit-transform: rotate(113deg); -ms-transform: rotate(113deg); transform: rotate(113deg); } -.pace-progress[data-progress="45"] .pace-progress-inner:before { -webkit-transform: rotate(117deg); -ms-transform: rotate(117deg); transform: rotate(117deg); } -.pace-progress[data-progress="46"] .pace-progress-inner:before { -webkit-transform: rotate(121deg); -ms-transform: rotate(121deg); transform: rotate(121deg); } -.pace-progress[data-progress="47"] .pace-progress-inner:before { -webkit-transform: rotate(124deg); -ms-transform: rotate(124deg); transform: rotate(124deg); } -.pace-progress[data-progress="48"] .pace-progress-inner:before { -webkit-transform: rotate(128deg); -ms-transform: rotate(128deg); transform: rotate(128deg); } -.pace-progress[data-progress="49"] .pace-progress-inner:before { -webkit-transform: rotate(131deg); -ms-transform: rotate(131deg); transform: rotate(131deg); } -.pace-progress[data-progress="50"] .pace-progress-inner:before { -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); } - -.pace-progress[data-progress="50"] .pace-progress-inner:after { -webkit-transform: rotate(315deg); -ms-transform: rotate(315deg); transform: rotate(315deg); display: block; } -.pace-progress[data-progress="51"] .pace-progress-inner:after { -webkit-transform: rotate(319deg); -ms-transform: rotate(319deg); transform: rotate(319deg); display: block; } -.pace-progress[data-progress="52"] .pace-progress-inner:after { -webkit-transform: rotate(322deg); -ms-transform: rotate(322deg); transform: rotate(322deg); display: block; } -.pace-progress[data-progress="53"] .pace-progress-inner:after { -webkit-transform: rotate(326deg); -ms-transform: rotate(326deg); transform: rotate(326deg); display: block; } -.pace-progress[data-progress="54"] .pace-progress-inner:after { -webkit-transform: rotate(329deg); -ms-transform: rotate(329deg); transform: rotate(329deg); display: block; } -.pace-progress[data-progress="55"] .pace-progress-inner:after { -webkit-transform: rotate(333deg); -ms-transform: rotate(333deg); transform: rotate(333deg); display: block; } -.pace-progress[data-progress="56"] .pace-progress-inner:after { -webkit-transform: rotate(337deg); -ms-transform: rotate(337deg); transform: rotate(337deg); display: block; } -.pace-progress[data-progress="57"] .pace-progress-inner:after { -webkit-transform: rotate(340deg); -ms-transform: rotate(340deg); transform: rotate(340deg); display: block; } -.pace-progress[data-progress="58"] .pace-progress-inner:after { -webkit-transform: rotate(344deg); -ms-transform: rotate(344deg); transform: rotate(344deg); display: block; } -.pace-progress[data-progress="59"] .pace-progress-inner:after { -webkit-transform: rotate(347deg); -ms-transform: rotate(347deg); transform: rotate(347deg); display: block; } -.pace-progress[data-progress="60"] .pace-progress-inner:after { -webkit-transform: rotate(351deg); -ms-transform: rotate(351deg); transform: rotate(351deg); display: block; } -.pace-progress[data-progress="61"] .pace-progress-inner:after { -webkit-transform: rotate(355deg); -ms-transform: rotate(355deg); transform: rotate(355deg); display: block; } -.pace-progress[data-progress="62"] .pace-progress-inner:after { -webkit-transform: rotate(358deg); -ms-transform: rotate(358deg); transform: rotate(358deg); display: block; } -.pace-progress[data-progress="63"] .pace-progress-inner:after { -webkit-transform: rotate(362deg); -ms-transform: rotate(362deg); transform: rotate(362deg); display: block; } -.pace-progress[data-progress="64"] .pace-progress-inner:after { -webkit-transform: rotate(365deg); -ms-transform: rotate(365deg); transform: rotate(365deg); display: block; } -.pace-progress[data-progress="65"] .pace-progress-inner:after { -webkit-transform: rotate(369deg); -ms-transform: rotate(369deg); transform: rotate(369deg); display: block; } -.pace-progress[data-progress="66"] .pace-progress-inner:after { -webkit-transform: rotate(373deg); -ms-transform: rotate(373deg); transform: rotate(373deg); display: block; } -.pace-progress[data-progress="67"] .pace-progress-inner:after { -webkit-transform: rotate(376deg); -ms-transform: rotate(376deg); transform: rotate(376deg); display: block; } -.pace-progress[data-progress="68"] .pace-progress-inner:after { -webkit-transform: rotate(380deg); -ms-transform: rotate(380deg); transform: rotate(380deg); display: block; } -.pace-progress[data-progress="69"] .pace-progress-inner:after { -webkit-transform: rotate(383deg); -ms-transform: rotate(383deg); transform: rotate(383deg); display: block; } -.pace-progress[data-progress="70"] .pace-progress-inner:after { -webkit-transform: rotate(387deg); -ms-transform: rotate(387deg); transform: rotate(387deg); display: block; } -.pace-progress[data-progress="71"] .pace-progress-inner:after { -webkit-transform: rotate(391deg); -ms-transform: rotate(391deg); transform: rotate(391deg); display: block; } -.pace-progress[data-progress="72"] .pace-progress-inner:after { -webkit-transform: rotate(394deg); -ms-transform: rotate(394deg); transform: rotate(394deg); display: block; } -.pace-progress[data-progress="73"] .pace-progress-inner:after { -webkit-transform: rotate(398deg); -ms-transform: rotate(398deg); transform: rotate(398deg); display: block; } -.pace-progress[data-progress="74"] .pace-progress-inner:after { -webkit-transform: rotate(401deg); -ms-transform: rotate(401deg); transform: rotate(401deg); display: block; } -.pace-progress[data-progress="75"] .pace-progress-inner:after { -webkit-transform: rotate(405deg); -ms-transform: rotate(405deg); transform: rotate(405deg); display: block; } -.pace-progress[data-progress="76"] .pace-progress-inner:after { -webkit-transform: rotate(409deg); -ms-transform: rotate(409deg); transform: rotate(409deg); display: block; } -.pace-progress[data-progress="77"] .pace-progress-inner:after { -webkit-transform: rotate(412deg); -ms-transform: rotate(412deg); transform: rotate(412deg); display: block; } -.pace-progress[data-progress="78"] .pace-progress-inner:after { -webkit-transform: rotate(416deg); -ms-transform: rotate(416deg); transform: rotate(416deg); display: block; } -.pace-progress[data-progress="79"] .pace-progress-inner:after { -webkit-transform: rotate(419deg); -ms-transform: rotate(419deg); transform: rotate(419deg); display: block; } -.pace-progress[data-progress="80"] .pace-progress-inner:after { -webkit-transform: rotate(423deg); -ms-transform: rotate(423deg); transform: rotate(423deg); display: block; } -.pace-progress[data-progress="81"] .pace-progress-inner:after { -webkit-transform: rotate(427deg); -ms-transform: rotate(427deg); transform: rotate(427deg); display: block; } -.pace-progress[data-progress="82"] .pace-progress-inner:after { -webkit-transform: rotate(430deg); -ms-transform: rotate(430deg); transform: rotate(430deg); display: block; } -.pace-progress[data-progress="83"] .pace-progress-inner:after { -webkit-transform: rotate(434deg); -ms-transform: rotate(434deg); transform: rotate(434deg); display: block; } -.pace-progress[data-progress="84"] .pace-progress-inner:after { -webkit-transform: rotate(437deg); -ms-transform: rotate(437deg); transform: rotate(437deg); display: block; } -.pace-progress[data-progress="85"] .pace-progress-inner:after { -webkit-transform: rotate(441deg); -ms-transform: rotate(441deg); transform: rotate(441deg); display: block; } -.pace-progress[data-progress="86"] .pace-progress-inner:after { -webkit-transform: rotate(445deg); -ms-transform: rotate(445deg); transform: rotate(445deg); display: block; } -.pace-progress[data-progress="87"] .pace-progress-inner:after { -webkit-transform: rotate(448deg); -ms-transform: rotate(448deg); transform: rotate(448deg); display: block; } -.pace-progress[data-progress="88"] .pace-progress-inner:after { -webkit-transform: rotate(452deg); -ms-transform: rotate(452deg); transform: rotate(452deg); display: block; } -.pace-progress[data-progress="89"] .pace-progress-inner:after { -webkit-transform: rotate(455deg); -ms-transform: rotate(455deg); transform: rotate(455deg); display: block; } -.pace-progress[data-progress="90"] .pace-progress-inner:after { -webkit-transform: rotate(459deg); -ms-transform: rotate(459deg); transform: rotate(459deg); display: block; } -.pace-progress[data-progress="91"] .pace-progress-inner:after { -webkit-transform: rotate(463deg); -ms-transform: rotate(463deg); transform: rotate(463deg); display: block; } -.pace-progress[data-progress="92"] .pace-progress-inner:after { -webkit-transform: rotate(466deg); -ms-transform: rotate(466deg); transform: rotate(466deg); display: block; } -.pace-progress[data-progress="93"] .pace-progress-inner:after { -webkit-transform: rotate(470deg); -ms-transform: rotate(470deg); transform: rotate(470deg); display: block; } -.pace-progress[data-progress="94"] .pace-progress-inner:after { -webkit-transform: rotate(473deg); -ms-transform: rotate(473deg); transform: rotate(473deg); display: block; } -.pace-progress[data-progress="95"] .pace-progress-inner:after { -webkit-transform: rotate(477deg); -ms-transform: rotate(477deg); transform: rotate(477deg); display: block; } -.pace-progress[data-progress="96"] .pace-progress-inner:after { -webkit-transform: rotate(481deg); -ms-transform: rotate(481deg); transform: rotate(481deg); display: block; } -.pace-progress[data-progress="97"] .pace-progress-inner:after { -webkit-transform: rotate(484deg); -ms-transform: rotate(484deg); transform: rotate(484deg); display: block; } -.pace-progress[data-progress="98"] .pace-progress-inner:after { -webkit-transform: rotate(488deg); -ms-transform: rotate(488deg); transform: rotate(488deg); display: block; } -.pace-progress[data-progress="99"] .pace-progress-inner:after { -webkit-transform: rotate(491deg); -ms-transform: rotate(491deg); transform: rotate(491deg); display: block; } -.pace-progress[data-progress="100"] .pace-progress-inner:after { -webkit-transform: rotate(495deg); -ms-transform: rotate(495deg); transform: rotate(495deg); display: block; } - -.pace-progress[data-progress="00"] .pace-progress-inner { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg);} -.pace-progress[data-progress="01"] .pace-progress-inner { -webkit-transform: rotate(4deg); -ms-transform: rotate(4deg); transform: rotate(4deg);} -.pace-progress[data-progress="02"] .pace-progress-inner { -webkit-transform: rotate(7deg); -ms-transform: rotate(7deg); transform: rotate(7deg);} -.pace-progress[data-progress="03"] .pace-progress-inner { -webkit-transform: rotate(11deg); -ms-transform: rotate(11deg); transform: rotate(11deg);} -.pace-progress[data-progress="04"] .pace-progress-inner { -webkit-transform: rotate(14deg); -ms-transform: rotate(14deg); transform: rotate(14deg);} -.pace-progress[data-progress="05"] .pace-progress-inner { -webkit-transform: rotate(18deg); -ms-transform: rotate(18deg); transform: rotate(18deg);} -.pace-progress[data-progress="06"] .pace-progress-inner { -webkit-transform: rotate(22deg); -ms-transform: rotate(22deg); transform: rotate(22deg);} -.pace-progress[data-progress="07"] .pace-progress-inner { -webkit-transform: rotate(25deg); -ms-transform: rotate(25deg); transform: rotate(25deg);} -.pace-progress[data-progress="08"] .pace-progress-inner { -webkit-transform: rotate(29deg); -ms-transform: rotate(29deg); transform: rotate(29deg);} -.pace-progress[data-progress="09"] .pace-progress-inner { -webkit-transform: rotate(32deg); -ms-transform: rotate(32deg); transform: rotate(32deg);} -.pace-progress[data-progress="10"] .pace-progress-inner { -webkit-transform: rotate(36deg); -ms-transform: rotate(36deg); transform: rotate(36deg);} -.pace-progress[data-progress="11"] .pace-progress-inner { -webkit-transform: rotate(40deg); -ms-transform: rotate(40deg); transform: rotate(40deg);} -.pace-progress[data-progress="12"] .pace-progress-inner { -webkit-transform: rotate(43deg); -ms-transform: rotate(43deg); transform: rotate(43deg);} -.pace-progress[data-progress="13"] .pace-progress-inner { -webkit-transform: rotate(47deg); -ms-transform: rotate(47deg); transform: rotate(47deg);} -.pace-progress[data-progress="14"] .pace-progress-inner { -webkit-transform: rotate(50deg); -ms-transform: rotate(50deg); transform: rotate(50deg);} -.pace-progress[data-progress="15"] .pace-progress-inner { -webkit-transform: rotate(54deg); -ms-transform: rotate(54deg); transform: rotate(54deg);} -.pace-progress[data-progress="16"] .pace-progress-inner { -webkit-transform: rotate(58deg); -ms-transform: rotate(58deg); transform: rotate(58deg);} -.pace-progress[data-progress="17"] .pace-progress-inner { -webkit-transform: rotate(61deg); -ms-transform: rotate(61deg); transform: rotate(61deg);} -.pace-progress[data-progress="18"] .pace-progress-inner { -webkit-transform: rotate(65deg); -ms-transform: rotate(65deg); transform: rotate(65deg);} -.pace-progress[data-progress="19"] .pace-progress-inner { -webkit-transform: rotate(68deg); -ms-transform: rotate(68deg); transform: rotate(68deg);} -.pace-progress[data-progress="20"] .pace-progress-inner { -webkit-transform: rotate(72deg); -ms-transform: rotate(72deg); transform: rotate(72deg);} -.pace-progress[data-progress="21"] .pace-progress-inner { -webkit-transform: rotate(76deg); -ms-transform: rotate(76deg); transform: rotate(76deg);} -.pace-progress[data-progress="22"] .pace-progress-inner { -webkit-transform: rotate(79deg); -ms-transform: rotate(79deg); transform: rotate(79deg);} -.pace-progress[data-progress="23"] .pace-progress-inner { -webkit-transform: rotate(83deg); -ms-transform: rotate(83deg); transform: rotate(83deg);} -.pace-progress[data-progress="24"] .pace-progress-inner { -webkit-transform: rotate(86deg); -ms-transform: rotate(86deg); transform: rotate(86deg);} -.pace-progress[data-progress="25"] .pace-progress-inner { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg);} -.pace-progress[data-progress="26"] .pace-progress-inner { -webkit-transform: rotate(94deg); -ms-transform: rotate(94deg); transform: rotate(94deg);} -.pace-progress[data-progress="27"] .pace-progress-inner { -webkit-transform: rotate(97deg); -ms-transform: rotate(97deg); transform: rotate(97deg);} -.pace-progress[data-progress="28"] .pace-progress-inner { -webkit-transform: rotate(101deg); -ms-transform: rotate(101deg); transform: rotate(101deg);} -.pace-progress[data-progress="29"] .pace-progress-inner { -webkit-transform: rotate(104deg); -ms-transform: rotate(104deg); transform: rotate(104deg);} -.pace-progress[data-progress="30"] .pace-progress-inner { -webkit-transform: rotate(108deg); -ms-transform: rotate(108deg); transform: rotate(108deg);} -.pace-progress[data-progress="31"] .pace-progress-inner { -webkit-transform: rotate(112deg); -ms-transform: rotate(112deg); transform: rotate(112deg);} -.pace-progress[data-progress="32"] .pace-progress-inner { -webkit-transform: rotate(115deg); -ms-transform: rotate(115deg); transform: rotate(115deg);} -.pace-progress[data-progress="33"] .pace-progress-inner { -webkit-transform: rotate(119deg); -ms-transform: rotate(119deg); transform: rotate(119deg);} -.pace-progress[data-progress="34"] .pace-progress-inner { -webkit-transform: rotate(122deg); -ms-transform: rotate(122deg); transform: rotate(122deg);} -.pace-progress[data-progress="35"] .pace-progress-inner { -webkit-transform: rotate(126deg); -ms-transform: rotate(126deg); transform: rotate(126deg);} -.pace-progress[data-progress="36"] .pace-progress-inner { -webkit-transform: rotate(130deg); -ms-transform: rotate(130deg); transform: rotate(130deg);} -.pace-progress[data-progress="37"] .pace-progress-inner { -webkit-transform: rotate(133deg); -ms-transform: rotate(133deg); transform: rotate(133deg);} -.pace-progress[data-progress="38"] .pace-progress-inner { -webkit-transform: rotate(137deg); -ms-transform: rotate(137deg); transform: rotate(137deg);} -.pace-progress[data-progress="39"] .pace-progress-inner { -webkit-transform: rotate(140deg); -ms-transform: rotate(140deg); transform: rotate(140deg);} -.pace-progress[data-progress="40"] .pace-progress-inner { -webkit-transform: rotate(144deg); -ms-transform: rotate(144deg); transform: rotate(144deg);} -.pace-progress[data-progress="41"] .pace-progress-inner { -webkit-transform: rotate(148deg); -ms-transform: rotate(148deg); transform: rotate(148deg);} -.pace-progress[data-progress="42"] .pace-progress-inner { -webkit-transform: rotate(151deg); -ms-transform: rotate(151deg); transform: rotate(151deg);} -.pace-progress[data-progress="43"] .pace-progress-inner { -webkit-transform: rotate(155deg); -ms-transform: rotate(155deg); transform: rotate(155deg);} -.pace-progress[data-progress="44"] .pace-progress-inner { -webkit-transform: rotate(158deg); -ms-transform: rotate(158deg); transform: rotate(158deg);} -.pace-progress[data-progress="45"] .pace-progress-inner { -webkit-transform: rotate(162deg); -ms-transform: rotate(162deg); transform: rotate(162deg);} -.pace-progress[data-progress="46"] .pace-progress-inner { -webkit-transform: rotate(166deg); -ms-transform: rotate(166deg); transform: rotate(166deg);} -.pace-progress[data-progress="47"] .pace-progress-inner { -webkit-transform: rotate(169deg); -ms-transform: rotate(169deg); transform: rotate(169deg);} -.pace-progress[data-progress="48"] .pace-progress-inner { -webkit-transform: rotate(173deg); -ms-transform: rotate(173deg); transform: rotate(173deg);} -.pace-progress[data-progress="49"] .pace-progress-inner { -webkit-transform: rotate(176deg); -ms-transform: rotate(176deg); transform: rotate(176deg);} -.pace-progress[data-progress="50"] .pace-progress-inner { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg);} -.pace-progress[data-progress="51"] .pace-progress-inner { -webkit-transform: rotate(184deg); -ms-transform: rotate(184deg); transform: rotate(184deg); overflow: visible;} -.pace-progress[data-progress="52"] .pace-progress-inner { -webkit-transform: rotate(187deg); -ms-transform: rotate(187deg); transform: rotate(187deg); overflow: visible;} -.pace-progress[data-progress="53"] .pace-progress-inner { -webkit-transform: rotate(191deg); -ms-transform: rotate(191deg); transform: rotate(191deg); overflow: visible;} -.pace-progress[data-progress="54"] .pace-progress-inner { -webkit-transform: rotate(194deg); -ms-transform: rotate(194deg); transform: rotate(194deg); overflow: visible;} -.pace-progress[data-progress="55"] .pace-progress-inner { -webkit-transform: rotate(198deg); -ms-transform: rotate(198deg); transform: rotate(198deg); overflow: visible;} -.pace-progress[data-progress="56"] .pace-progress-inner { -webkit-transform: rotate(202deg); -ms-transform: rotate(202deg); transform: rotate(202deg); overflow: visible;} -.pace-progress[data-progress="57"] .pace-progress-inner { -webkit-transform: rotate(205deg); -ms-transform: rotate(205deg); transform: rotate(205deg); overflow: visible;} -.pace-progress[data-progress="58"] .pace-progress-inner { -webkit-transform: rotate(209deg); -ms-transform: rotate(209deg); transform: rotate(209deg); overflow: visible;} -.pace-progress[data-progress="59"] .pace-progress-inner { -webkit-transform: rotate(212deg); -ms-transform: rotate(212deg); transform: rotate(212deg); overflow: visible;} -.pace-progress[data-progress="60"] .pace-progress-inner { -webkit-transform: rotate(216deg); -ms-transform: rotate(216deg); transform: rotate(216deg); overflow: visible;} -.pace-progress[data-progress="61"] .pace-progress-inner { -webkit-transform: rotate(220deg); -ms-transform: rotate(220deg); transform: rotate(220deg); overflow: visible;} -.pace-progress[data-progress="62"] .pace-progress-inner { -webkit-transform: rotate(223deg); -ms-transform: rotate(223deg); transform: rotate(223deg); overflow: visible;} -.pace-progress[data-progress="63"] .pace-progress-inner { -webkit-transform: rotate(227deg); -ms-transform: rotate(227deg); transform: rotate(227deg); overflow: visible;} -.pace-progress[data-progress="64"] .pace-progress-inner { -webkit-transform: rotate(230deg); -ms-transform: rotate(230deg); transform: rotate(230deg); overflow: visible;} -.pace-progress[data-progress="65"] .pace-progress-inner { -webkit-transform: rotate(234deg); -ms-transform: rotate(234deg); transform: rotate(234deg); overflow: visible;} -.pace-progress[data-progress="66"] .pace-progress-inner { -webkit-transform: rotate(238deg); -ms-transform: rotate(238deg); transform: rotate(238deg); overflow: visible;} -.pace-progress[data-progress="67"] .pace-progress-inner { -webkit-transform: rotate(241deg); -ms-transform: rotate(241deg); transform: rotate(241deg); overflow: visible;} -.pace-progress[data-progress="68"] .pace-progress-inner { -webkit-transform: rotate(245deg); -ms-transform: rotate(245deg); transform: rotate(245deg); overflow: visible;} -.pace-progress[data-progress="69"] .pace-progress-inner { -webkit-transform: rotate(248deg); -ms-transform: rotate(248deg); transform: rotate(248deg); overflow: visible;} -.pace-progress[data-progress="70"] .pace-progress-inner { -webkit-transform: rotate(252deg); -ms-transform: rotate(252deg); transform: rotate(252deg); overflow: visible;} -.pace-progress[data-progress="71"] .pace-progress-inner { -webkit-transform: rotate(256deg); -ms-transform: rotate(256deg); transform: rotate(256deg); overflow: visible;} -.pace-progress[data-progress="72"] .pace-progress-inner { -webkit-transform: rotate(259deg); -ms-transform: rotate(259deg); transform: rotate(259deg); overflow: visible;} -.pace-progress[data-progress="73"] .pace-progress-inner { -webkit-transform: rotate(263deg); -ms-transform: rotate(263deg); transform: rotate(263deg); overflow: visible;} -.pace-progress[data-progress="74"] .pace-progress-inner { -webkit-transform: rotate(266deg); -ms-transform: rotate(266deg); transform: rotate(266deg); overflow: visible;} -.pace-progress[data-progress="75"] .pace-progress-inner { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); overflow: visible;} -.pace-progress[data-progress="76"] .pace-progress-inner { -webkit-transform: rotate(274deg); -ms-transform: rotate(274deg); transform: rotate(274deg); overflow: visible;} -.pace-progress[data-progress="77"] .pace-progress-inner { -webkit-transform: rotate(277deg); -ms-transform: rotate(277deg); transform: rotate(277deg); overflow: visible;} -.pace-progress[data-progress="78"] .pace-progress-inner { -webkit-transform: rotate(281deg); -ms-transform: rotate(281deg); transform: rotate(281deg); overflow: visible;} -.pace-progress[data-progress="79"] .pace-progress-inner { -webkit-transform: rotate(284deg); -ms-transform: rotate(284deg); transform: rotate(284deg); overflow: visible;} -.pace-progress[data-progress="80"] .pace-progress-inner { -webkit-transform: rotate(288deg); -ms-transform: rotate(288deg); transform: rotate(288deg); overflow: visible;} -.pace-progress[data-progress="81"] .pace-progress-inner { -webkit-transform: rotate(292deg); -ms-transform: rotate(292deg); transform: rotate(292deg); overflow: visible;} -.pace-progress[data-progress="82"] .pace-progress-inner { -webkit-transform: rotate(295deg); -ms-transform: rotate(295deg); transform: rotate(295deg); overflow: visible;} -.pace-progress[data-progress="83"] .pace-progress-inner { -webkit-transform: rotate(299deg); -ms-transform: rotate(299deg); transform: rotate(299deg); overflow: visible;} -.pace-progress[data-progress="84"] .pace-progress-inner { -webkit-transform: rotate(302deg); -ms-transform: rotate(302deg); transform: rotate(302deg); overflow: visible;} -.pace-progress[data-progress="85"] .pace-progress-inner { -webkit-transform: rotate(306deg); -ms-transform: rotate(306deg); transform: rotate(306deg); overflow: visible;} -.pace-progress[data-progress="86"] .pace-progress-inner { -webkit-transform: rotate(310deg); -ms-transform: rotate(310deg); transform: rotate(310deg); overflow: visible;} -.pace-progress[data-progress="87"] .pace-progress-inner { -webkit-transform: rotate(313deg); -ms-transform: rotate(313deg); transform: rotate(313deg); overflow: visible;} -.pace-progress[data-progress="88"] .pace-progress-inner { -webkit-transform: rotate(317deg); -ms-transform: rotate(317deg); transform: rotate(317deg); overflow: visible;} -.pace-progress[data-progress="89"] .pace-progress-inner { -webkit-transform: rotate(320deg); -ms-transform: rotate(320deg); transform: rotate(320deg); overflow: visible;} -.pace-progress[data-progress="90"] .pace-progress-inner { -webkit-transform: rotate(324deg); -ms-transform: rotate(324deg); transform: rotate(324deg); overflow: visible;} -.pace-progress[data-progress="91"] .pace-progress-inner { -webkit-transform: rotate(328deg); -ms-transform: rotate(328deg); transform: rotate(328deg); overflow: visible;} -.pace-progress[data-progress="92"] .pace-progress-inner { -webkit-transform: rotate(331deg); -ms-transform: rotate(331deg); transform: rotate(331deg); overflow: visible;} -.pace-progress[data-progress="93"] .pace-progress-inner { -webkit-transform: rotate(335deg); -ms-transform: rotate(335deg); transform: rotate(335deg); overflow: visible;} -.pace-progress[data-progress="94"] .pace-progress-inner { -webkit-transform: rotate(338deg); -ms-transform: rotate(338deg); transform: rotate(338deg); overflow: visible;} -.pace-progress[data-progress="95"] .pace-progress-inner { -webkit-transform: rotate(342deg); -ms-transform: rotate(342deg); transform: rotate(342deg); overflow: visible;} -.pace-progress[data-progress="96"] .pace-progress-inner { -webkit-transform: rotate(346deg); -ms-transform: rotate(346deg); transform: rotate(346deg); overflow: visible;} -.pace-progress[data-progress="97"] .pace-progress-inner { -webkit-transform: rotate(349deg); -ms-transform: rotate(349deg); transform: rotate(349deg); overflow: visible;} -.pace-progress[data-progress="98"] .pace-progress-inner { -webkit-transform: rotate(353deg); -ms-transform: rotate(353deg); transform: rotate(353deg); overflow: visible;} -.pace-progress[data-progress="99"] .pace-progress-inner { -webkit-transform: rotate(356deg); -ms-transform: rotate(356deg); transform: rotate(356deg); overflow: visible;} -.pace-progress[data-progress="100"] .pace-progress-inner { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); overflow: visible;} diff --git a/templates/pace-theme-minimal.tmpl.css b/templates/pace-theme-minimal.tmpl.css deleted file mode 100644 index 815a31da..00000000 --- a/templates/pace-theme-minimal.tmpl.css +++ /dev/null @@ -1,22 +0,0 @@ -.pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.pace-inactive { - display: none; -} - -.pace .pace-progress { - background: `args.color || "#29d"`; - position: fixed; - z-index: 2000; - top: 0; - right: 100%; - width: 100%; - height: 2px; -} diff --git a/tests/demo.html b/tests/demo.html deleted file mode 100644 index 4230a0ec..00000000 --- a/tests/demo.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index dfe4bec2..00000000 --- a/yarn.lock +++ /dev/null @@ -1,376 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -abbrev@1: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -"argparse@~ 0.1.11": - version "0.1.16" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" - dependencies: - underscore "~1.7.0" - underscore.string "~2.4.0" - -async@~0.1.22: - version "0.1.22" - resolved "https://registry.yarnpkg.com/async/-/async-0.1.22.tgz#0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061" - -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -coffee-script@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.3.3.tgz#150d6b4cb522894369efed6a2101c20bc7f4a4f4" - -coffee-script@~1.6.2, coffee-script@~1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.6.3.tgz#6355d32cf1b04cdff6b484e5e711782b2f0c39be" - -color-convert@0.2.x: - version "0.2.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.2.1.tgz#363cab23c94b31a0d64db71048b8c6a940f8c68c" - -color-string@0.1.x: - version "0.1.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.1.3.tgz#e865d2e3e59f665c3af0de14383f6bf0705685f3" - dependencies: - color-convert "0.2.x" - -color@~0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/color/-/color-0.4.4.tgz#f8bae8a848854616328704e64ce4a94ab336b7b5" - dependencies: - color-convert "0.2.x" - color-string "0.1.x" - -colors@~0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" - -dateformat@1.0.2-1.2.3: - version "1.0.2-1.2.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.2-1.2.3.tgz#b0220c02de98617433b72851cf47de3df2cdbee9" - -debug@~0.7.0: - version "0.7.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" - -decamelize@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -"esprima@~ 1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" - -eventemitter2@~0.4.13: - version "0.4.14" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" - -exit@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - -faye-websocket@~0.4.3: - version "0.4.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.4.4.tgz#c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc" - -findup-sync@~0.1.0, findup-sync@~0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.1.3.tgz#7f3e7a97b82392c653bf06589bd85190e93c3683" - dependencies: - glob "~3.2.9" - lodash "~2.4.1" - -gaze@~0.4.0: - version "0.4.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.4.3.tgz#e538f4ff5e4fe648f473a97e1ebb253d2de127b5" - dependencies: - globule "~0.1.0" - -getobject@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" - -glob@~3.1.21: - version "3.1.21" - resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" - dependencies: - graceful-fs "~1.2.0" - inherits "1" - minimatch "~0.2.11" - -glob@~3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" - dependencies: - inherits "2" - minimatch "0.3" - -globule@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" - dependencies: - glob "~3.1.21" - lodash "~1.0.1" - minimatch "~0.2.11" - -graceful-fs@~1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" - -grunt-cli@~0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-0.1.13.tgz#e9ebc4047631f5012d922770c39378133cad10f4" - dependencies: - findup-sync "~0.1.0" - nopt "~1.0.10" - resolve "~0.3.1" - -grunt-contrib-coffee@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-coffee/-/grunt-contrib-coffee-0.7.0.tgz#8b12267b74e7338b1f29c5b8b718fb9f89982f13" - dependencies: - coffee-script "~1.6.2" - -grunt-contrib-uglify@~0.2.4: - version "0.2.7" - resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz#e6bda51e0c40a1459f6cead423c65efd725a1bf7" - dependencies: - grunt-lib-contrib "~0.6.1" - uglify-js "~2.4.0" - -grunt-contrib-watch@~0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-0.5.3.tgz#7d9eb5465d506fa14faaca47e6e8790a82c1c9ee" - dependencies: - gaze "~0.4.0" - tiny-lr "0.0.4" - -grunt-legacy-log-utils@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz#c0706b9dd9064e116f36f23fe4e6b048672c0f7e" - dependencies: - colors "~0.6.2" - lodash "~2.4.1" - underscore.string "~2.3.3" - -grunt-legacy-log@~0.1.0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz#ec29426e803021af59029f87d2f9cd7335a05531" - dependencies: - colors "~0.6.2" - grunt-legacy-log-utils "~0.1.1" - hooker "~0.2.3" - lodash "~2.4.1" - underscore.string "~2.3.3" - -grunt-legacy-util@~0.2.0: - version "0.2.0" - resolved "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz#93324884dbf7e37a9ff7c026dff451d94a9e554b" - dependencies: - async "~0.1.22" - exit "~0.1.1" - getobject "~0.1.0" - hooker "~0.2.3" - lodash "~0.9.2" - underscore.string "~2.2.1" - which "~1.0.5" - -grunt-lib-contrib@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz#3f56adb7da06e814795ee2415b0ebe5fb8903ebb" - dependencies: - zlib-browserify "0.0.1" - -grunt@~0.4.1: - version "0.4.5" - resolved "https://registry.yarnpkg.com/grunt/-/grunt-0.4.5.tgz#56937cd5194324adff6d207631832a9d6ba4e7f0" - dependencies: - async "~0.1.22" - coffee-script "~1.3.3" - colors "~0.6.2" - dateformat "1.0.2-1.2.3" - eventemitter2 "~0.4.13" - exit "~0.1.1" - findup-sync "~0.1.2" - getobject "~0.1.0" - glob "~3.1.21" - grunt-legacy-log "~0.1.0" - grunt-legacy-util "~0.2.0" - hooker "~0.2.3" - iconv-lite "~0.2.11" - js-yaml "~2.0.5" - lodash "~0.9.2" - minimatch "~0.2.12" - nopt "~1.0.10" - rimraf "~2.2.8" - underscore.string "~2.2.1" - which "~1.0.5" - -hooker@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" - -iconv-lite@~0.2.11: - version "0.2.11" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.2.11.tgz#1ce60a3a57864a292d1321ff4609ca4bb965adc8" - -inherits@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" - -inherits@2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -js-yaml@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-2.0.5.tgz#a25ae6509999e97df278c6719da11bd0687743a8" - dependencies: - argparse "~ 0.1.11" - esprima "~ 1.0.2" - -lodash@~0.9.2: - version "0.9.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-0.9.2.tgz#8f3499c5245d346d682e5b0d3b40767e09f1a92c" - -lodash@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" - -lodash@~2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" - -lru-cache@2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" - -minimatch@0.3: - version "0.3.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - -minimatch@~0.2.11, minimatch@~0.2.12: - version "0.2.14" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - dependencies: - abbrev "1" - -nopt@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.0.0.tgz#ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d" - dependencies: - abbrev "1" - -noptify@latest: - version "0.0.3" - resolved "https://registry.yarnpkg.com/noptify/-/noptify-0.0.3.tgz#58f654a73d9753df0c51d9686dc92104a67f4bbb" - dependencies: - nopt "~2.0.0" - -qs@~0.5.2: - version "0.5.6" - resolved "https://registry.yarnpkg.com/qs/-/qs-0.5.6.tgz#31b1ad058567651c526921506b9a8793911a0384" - -resolve@~0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.3.1.tgz#34c63447c664c70598d1c9b126fc43b2a24310a4" - -rimraf@~2.2.8: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - -sigmund@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - -source-map@0.1.34: - version "0.1.34" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.34.tgz#a7cfe89aec7b1682c3b198d0acfb47d7d090566b" - dependencies: - amdefine ">=0.0.4" - -tiny-lr@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.0.4.tgz#80618547f63f697d05cb40c4c2c4b083521aefb6" - dependencies: - debug "~0.7.0" - faye-websocket "~0.4.3" - noptify latest - qs "~0.5.2" - -uglify-js@~2.4.0: - version "2.4.24" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.4.24.tgz#fad5755c1e1577658bb06ff9ab6e548c95bebd6e" - dependencies: - async "~0.2.6" - source-map "0.1.34" - uglify-to-browserify "~1.0.0" - yargs "~3.5.4" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -underscore.string@~2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.2.1.tgz#d7c0fa2af5d5a1a67f4253daee98132e733f0f19" - -underscore.string@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.3.3.tgz#71c08bf6b428b1133f37e78fa3a21c82f7329b0d" - -underscore.string@~2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" - -underscore@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" - -which@~1.0.5: - version "1.0.9" - resolved "https://registry.yarnpkg.com/which/-/which-1.0.9.tgz#460c1da0f810103d0321a9b633af9e575e64486f" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -yargs@~3.5.4: - version "3.5.4" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.5.4.tgz#d8aff8f665e94c34bd259bdebd1bfaf0ddd35361" - dependencies: - camelcase "^1.0.2" - decamelize "^1.0.0" - window-size "0.1.0" - wordwrap "0.0.2" - -zlib-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/zlib-browserify/-/zlib-browserify-0.0.1.tgz#4fa6a45d00dbc15f318a4afa1d9afc0258e176cc" From fa2c1e03d246a7a7fc0fdd3eea9765e8ab75b9d0 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 01:52:45 -0400 Subject: [PATCH 29/62] upgrade --- .../css}/barber-pole-orange.css | 0 .../{resources => assets/css}/flash-white.css | 0 docs/{lib => assets/js}/color.js | 0 docs/{lib => assets/js}/themes.js | 0 docs/lib/themes.coffee | 27 ------------------- docs/resources/templates/index.jade | 5 ---- docs/resources/templates/page.jade | 5 ---- docs/welcome/index.html | 6 ++--- 8 files changed, 3 insertions(+), 40 deletions(-) rename docs/{resources => assets/css}/barber-pole-orange.css (100%) rename docs/{resources => assets/css}/flash-white.css (100%) rename docs/{lib => assets/js}/color.js (100%) rename docs/{lib => assets/js}/themes.js (100%) delete mode 100644 docs/lib/themes.coffee delete mode 100644 docs/resources/templates/index.jade delete mode 100644 docs/resources/templates/page.jade diff --git a/docs/resources/barber-pole-orange.css b/docs/assets/css/barber-pole-orange.css similarity index 100% rename from docs/resources/barber-pole-orange.css rename to docs/assets/css/barber-pole-orange.css diff --git a/docs/resources/flash-white.css b/docs/assets/css/flash-white.css similarity index 100% rename from docs/resources/flash-white.css rename to docs/assets/css/flash-white.css diff --git a/docs/lib/color.js b/docs/assets/js/color.js similarity index 100% rename from docs/lib/color.js rename to docs/assets/js/color.js diff --git a/docs/lib/themes.js b/docs/assets/js/themes.js similarity index 100% rename from docs/lib/themes.js rename to docs/assets/js/themes.js diff --git a/docs/lib/themes.coffee b/docs/lib/themes.coffee deleted file mode 100644 index b8e5e768..00000000 --- a/docs/lib/themes.coffee +++ /dev/null @@ -1,27 +0,0 @@ -if module? - vm = require('vm') - - # Used by the eval'd code - Color = require('color') - -loadTheme = (name, cb) -> - $.ajax - url: "/pace/templates/pace-theme-#{ name }.tmpl.css" - success: cb - -compileTheme = (body, args={}) -> - body.replace /`([\s\S]*?)`/gm, (match, code) -> - if module? - val = vm.runInNewContext code, {args, Color} - else - # It matters that args is in the context - Color = window.Color - val = eval(code) - - val - -if module? - module.exports = {compileTheme} -else - window.loadTheme = loadTheme - window.compileTheme = compileTheme diff --git a/docs/resources/templates/index.jade b/docs/resources/templates/index.jade deleted file mode 100644 index 2d4023fe..00000000 --- a/docs/resources/templates/index.jade +++ /dev/null @@ -1,5 +0,0 @@ -extends index - -append early-head - - diff --git a/docs/resources/templates/page.jade b/docs/resources/templates/page.jade deleted file mode 100644 index 2d4023fe..00000000 --- a/docs/resources/templates/page.jade +++ /dev/null @@ -1,5 +0,0 @@ -extends index - -append early-head - - diff --git a/docs/welcome/index.html b/docs/welcome/index.html index 70316e69..0a5ee4ec 100644 --- a/docs/welcome/index.html +++ b/docs/welcome/index.html @@ -15,10 +15,10 @@ - - + + - + - - -
-
-
-

pace

-

pace

-
-
-

Automatic page load progress bar

-
-
-
-
- -
-
-

What is Pace?

-

Include pace.js and a CSS theme of your choice, and you get a beautiful progress indicator for your page load and ajax navigation.

-

No need to hook into any of your code, progress is detected automatically.

-
-

Install

-

The easiest way to add Pace to your site is with Eager. -

Click Install to see a live preview of Pace on your website.

- -
-
-

Download

-

If you’re a developer, download Pace directly here:

-

Pace.js

-
-

Themes

- - -
-

Submit a theme! Fork us on GitHub

-

Documentation

-
-

HubSpot

-
-
- -
-
- - - - - - -
- - - -
-
- -
- - - - - - - - -
- - diff --git a/pace.js b/pace.js index 78b8485b..d10055ec 100644 --- a/pace.js +++ b/pace.js @@ -1,3 +1,8 @@ +/*! + * pace.js v1.2.0 + * https://github.com/EatBreatheCode/pace/ + * Licensed MIT © HubSpot, Inc. + */ (function() { var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, Pace, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, addEventListener, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState, __slice = [].slice, diff --git a/docs/assets/css/barber-pole-orange.css b/templates/pace-theme-barber-shop.tmpl.css similarity index 67% rename from docs/assets/css/barber-pole-orange.css rename to templates/pace-theme-barber-shop.tmpl.css index 361998d9..f1f098a7 100644 --- a/docs/assets/css/barber-pole-orange.css +++ b/templates/pace-theme-barber-shop.tmpl.css @@ -1,9 +1,19 @@ .pace { -webkit-pointer-events: none; pointer-events: none; + -webkit-user-select: none; -moz-user-select: none; user-select: none; + + overflow: hidden; + position: fixed; + top: 0; + left: 0; + z-index: 2000; + width: 100%; + height: 12px; + background: #fff; } .pace-inactive { @@ -11,23 +21,29 @@ } .pace .pace-progress { - background-color: #EE5C00; - position: absolute; - z-index: 100; + background-color: `args.color || "#29d"`; + position: fixed; top: 0; - left: 0; - height: 42px; + bottom: 0; + right: 100%; + width: 100%; overflow: hidden; - pointer-events: none; - opacity: 0.5; + height: 12px; } -.pace .pace-progress-inner { - position: absolute; +.pace .pace-activity { + position: fixed; top: 0; - left: 0; right: -32px; bottom: 0; + left: 0; + height: 12px; + + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); @@ -39,30 +55,30 @@ -o-background-size: 32px 32px; background-size: 32px 32px; - -webkit-animation: pace-stripe-animation 500ms linear infinite; - -moz-animation: pace-stripe-animation 500ms linear infinite; - -ms-animation: pace-stripe-animation 500ms linear infinite; - -o-animation: pace-stripe-animation 500ms linear infinite; - animation: pace-stripe-animation 500ms linear infinite; + -webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite; + -moz-animation: pace-theme-barber-shop-motion 500ms linear infinite; + -ms-animation: pace-theme-barber-shop-motion 500ms linear infinite; + -o-animation: pace-theme-barber-shop-motion 500ms linear infinite; + animation: pace-theme-barber-shop-motion 500ms linear infinite; } -@-webkit-keyframes pace-stripe-animation { +@-webkit-keyframes pace-theme-barber-shop-motion { 0% { -webkit-transform: none; transform: none; } 100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); } } -@-moz-keyframes pace-stripe-animation { +@-moz-keyframes pace-theme-barber-shop-motion { 0% { -moz-transform: none; transform: none; } 100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); } } -@-o-keyframes pace-stripe-animation { +@-o-keyframes pace-theme-barber-shop-motion { 0% { -o-transform: none; transform: none; } 100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); } } -@-ms-keyframes pace-stripe-animation { +@-ms-keyframes pace-theme-barber-shop-motion { 0% { -ms-transform: none; transform: none; } 100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); } } -@keyframes pace-stripe-animation { +@keyframes pace-theme-barber-shop-motion { 0% { transform: none; transform: none; } 100% { transform: translate(-32px, 0); transform: translate(-32px, 0); } } diff --git a/templates/pace-theme-big-counter.tmpl.css b/templates/pace-theme-big-counter.tmpl.css new file mode 100644 index 00000000..eb293405 --- /dev/null +++ b/templates/pace-theme-big-counter.tmpl.css @@ -0,0 +1,39 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.pace.pace-inactive .pace-progress { + display: none; +} + +.pace .pace-progress { + position: fixed; + z-index: 2000; + top: 0; + right: 0; + height: 5rem; + width: 5rem; + + -webkit-transform: translate3d(0, 0, 0) !important; + -ms-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} + +.pace .pace-progress:after { + display: block; + position: absolute; + top: 0; + right: .5rem; + content: attr(data-progress-text); + font-family: "Helvetica Neue", sans-serif; + font-weight: 100; + font-size: 5rem; + line-height: 1; + text-align: right; + color: `Color(args.color || '#000').clearer(0.8).rgbString()`; +} diff --git a/templates/pace-theme-bounce.tmpl.css b/templates/pace-theme-bounce.tmpl.css new file mode 100644 index 00000000..9c442c49 --- /dev/null +++ b/templates/pace-theme-bounce.tmpl.css @@ -0,0 +1,230 @@ +.pace { + width: 140px; + height: 300px; + position: fixed; + top: -90px; + right: -20px; + z-index: 2000; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); + opacity: 0; + -webkit-transition: all 2s linear 0s; + -moz-transition: all 2s linear 0s; + transition: all 2s linear 0s; +} + +.pace.pace-active { + -webkit-transform: scale(.25); + -moz-transform: scale(.25); + -ms-transform: scale(.25); + -o-transform: scale(.25); + transform: scale(.25); + opacity: 1; +} + +.pace .pace-activity { + width: 140px; + height: 140px; + border-radius: 70px; + background: `args.color || "#29d"`; + position: absolute; + top: 0; + z-index: 1911; + -webkit-animation: pace-bounce 1s infinite; + -moz-animation: pace-bounce 1s infinite; + -o-animation: pace-bounce 1s infinite; + -ms-animation: pace-bounce 1s infinite; + animation: pace-bounce 1s infinite; +} + +.pace .pace-progress { + position: absolute; + display: block; + left: 50%; + bottom: 0; + z-index: 1910; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -webkit-transform: scaleY(.3) !important; + -moz-transform: scaleY(.3) !important; + -ms-transform: scaleY(.3) !important; + -o-transform: scaleY(.3) !important; + transform: scaleY(.3) !important; + -webkit-animation: pace-compress .5s infinite alternate; + -moz-animation: pace-compress .5s infinite alternate; + -o-animation: pace-compress .5s infinite alternate; + -ms-animation: pace-compress .5s infinite alternate; + animation: pace-compress .5s infinite alternate; +} + +@-webkit-keyframes pace-bounce { + 0% { + top: 0; + -webkit-animation-timing-function: ease-in; + } + 40% {} + 50% { + top: 140px; + height: 140px; + -webkit-animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + -webkit-animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + -webkit-animation-timing-function: ease-out; + } + 95% { + top: 0; + -webkit-animation-timing-function: ease-in; + } + 100% { + top: 0; + -webkit-animation-timing-function: ease-in; + } +} + +@-moz-keyframes pace-bounce { + 0% { + top: 0; + -moz-animation-timing-function: ease-in; + } + 40% {} + 50% { + top: 140px; + height: 140px; + -moz-animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + -moz-animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + -moz-animation-timing-function: ease-out;} + 95% { + top: 0; + -moz-animation-timing-function: ease-in; + } + 100% {top: 0; + -moz-animation-timing-function: ease-in; + } +} + +@keyframes pace-bounce { + 0% { + top: 0; + animation-timing-function: ease-in; + } + 50% { + top: 140px; + height: 140px; + animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + animation-timing-function: ease-out; + } + 95% { + top: 0; + animation-timing-function: ease-in; + } + 100% { + top: 0; + animation-timing-function: ease-in; + } +} + +@-webkit-keyframes pace-compress { + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -webkit-animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + -webkit-animation-timing-function: ease-out; + } +} + +@-moz-keyframes pace-compress { + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -moz-animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + -moz-animation-timing-function: ease-out; + } +} + +@keyframes pace-compress { + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + animation-timing-function: ease-out; + } +} \ No newline at end of file diff --git a/templates/pace-theme-center-atom.tmpl.css b/templates/pace-theme-center-atom.tmpl.css new file mode 100644 index 00000000..b2fd2ce3 --- /dev/null +++ b/templates/pace-theme-center-atom.tmpl.css @@ -0,0 +1,130 @@ +.pace.pace-inactive { + display: none; +} + +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + z-index: 2000; + position: fixed; + height: 60px; + width: 100px; + margin: auto; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.pace .pace-progress { + z-index: 2000; + position: absolute; + height: 60px; + width: 100px; + + -webkit-transform: translate3d(0, 0, 0) !important; + -ms-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} + +.pace .pace-progress:before { + content: attr(data-progress-text); + text-align: center; + color: #fff; + background: `args.color || "#29d"`; + border-radius: 50%; + font-family: "Helvetica Neue", sans-serif; + font-size: 14px; + font-weight: 100; + line-height: 1; + padding: 20% 0 7px; + width: 50%; + height: 40%; + margin: 10px 0 0 30px; + display: block; + z-index: 999; + position: absolute; +} + +.pace .pace-activity { + font-size: 15px; + line-height: 1; + z-index: 2000; + position: absolute; + height: 60px; + width: 100px; + + display: block; + -webkit-animation: pace-theme-center-atom-spin 2s linear infinite; + -moz-animation: pace-theme-center-atom-spin 2s linear infinite; + -o-animation: pace-theme-center-atom-spin 2s linear infinite; + animation: pace-theme-center-atom-spin 2s linear infinite; +} + +.pace .pace-activity { + border-radius: 50%; + border: 5px solid `args.color || "#29d"`; + content: ' '; + display: block; + position: absolute; + top: 0; + left: 0; + height: 60px; + width: 100px; +} + +.pace .pace-activity:after { + border-radius: 50%; + border: 5px solid `args.color || "#29d"`; + content: ' '; + display: block; + position: absolute; + top: -5px; + left: -5px; + height: 60px; + width: 100px; + + -webkit-transform: rotate(60deg); + -moz-transform: rotate(60deg); + -o-transform: rotate(60deg); + transform: rotate(60deg); +} + +.pace .pace-activity:before { + border-radius: 50%; + border: 5px solid `args.color || "#29d"`; + content: ' '; + display: block; + position: absolute; + top: -5px; + left: -5px; + height: 60px; + width: 100px; + + -webkit-transform: rotate(120deg); + -moz-transform: rotate(120deg); + -o-transform: rotate(120deg); + transform: rotate(120deg); +} + +@-webkit-keyframes pace-theme-center-atom-spin { + 0% { -webkit-transform: rotate(0deg) } + 100% { -webkit-transform: rotate(359deg) } +} +@-moz-keyframes pace-theme-center-atom-spin { + 0% { -moz-transform: rotate(0deg) } + 100% { -moz-transform: rotate(359deg) } +} +@-o-keyframes pace-theme-center-atom-spin { + 0% { -o-transform: rotate(0deg) } + 100% { -o-transform: rotate(359deg) } +} +@keyframes pace-theme-center-atom-spin { + 0% { transform: rotate(0deg) } + 100% { transform: rotate(359deg) } +} diff --git a/templates/pace-theme-center-circle.tmpl.css b/templates/pace-theme-center-circle.tmpl.css new file mode 100644 index 00000000..2493612d --- /dev/null +++ b/templates/pace-theme-center-circle.tmpl.css @@ -0,0 +1,89 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + -webkit-perspective: 12rem; + -moz-perspective: 12rem; + -ms-perspective: 12rem; + -o-perspective: 12rem; + perspective: 12rem; + + z-index: 2000; + position: fixed; + height: 6rem; + width: 6rem; + margin: auto; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.pace.pace-inactive .pace-progress { + display: none; +} + +.pace .pace-progress { + position: fixed; + z-index: 2000; + display: block; + position: absolute; + left: 0; + top: 0; + height: 6rem; + width: 6rem !important; + line-height: 6rem; + font-size: 2rem; + border-radius: 50%; + background: `Color(args.color || '#29d').clearer(0.2).rgbString()`; + color: #fff; + font-family: "Helvetica Neue", sans-serif; + font-weight: 100; + text-align: center; + + -webkit-animation: pace-theme-center-circle-spin linear infinite 2s; + -moz-animation: pace-theme-center-circle-spin linear infinite 2s; + -ms-animation: pace-theme-center-circle-spin linear infinite 2s; + -o-animation: pace-theme-center-circle-spin linear infinite 2s; + animation: pace-theme-center-circle-spin linear infinite 2s; + + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + -o-transform-style: preserve-3d; + transform-style: preserve-3d; +} + +.pace .pace-progress:after { + content: attr(data-progress-text); + display: block; +} + +@-webkit-keyframes pace-theme-center-circle-spin { + from { -webkit-transform: rotateY(0deg) } + to { -webkit-transform: rotateY(360deg) } +} + +@-moz-keyframes pace-theme-center-circle-spin { + from { -moz-transform: rotateY(0deg) } + to { -moz-transform: rotateY(360deg) } +} + +@-ms-keyframes pace-theme-center-circle-spin { + from { -ms-transform: rotateY(0deg) } + to { -ms-transform: rotateY(360deg) } +} + +@-o-keyframes pace-theme-center-circle-spin { + from { -o-transform: rotateY(0deg) } + to { -o-transform: rotateY(360deg) } +} + +@keyframes pace-theme-center-circle-spin { + from { transform: rotateY(0deg) } + to { transform: rotateY(360deg) } +} diff --git a/templates/pace-theme-center-radar.tmpl.css b/templates/pace-theme-center-radar.tmpl.css new file mode 100644 index 00000000..e50db3c1 --- /dev/null +++ b/templates/pace-theme-center-radar.tmpl.css @@ -0,0 +1,81 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + z-index: 2000; + position: fixed; + height: 90px; + width: 90px; + margin: auto; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.pace.pace-inactive .pace-activity { + display: none; +} + +.pace .pace-activity { + position: fixed; + z-index: 2000; + display: block; + position: absolute; + left: -30px; + top: -30px; + height: 90px; + width: 90px; + display: block; + border-width: 30px; + border-style: double; + border-color: `args.color || "#29d"` transparent transparent; + border-radius: 50%; + + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + + -webkit-animation: spin 1s linear infinite; + -moz-animation: spin 1s linear infinite; + -o-animation: spin 1s linear infinite; + animation: spin 1s linear infinite; +} + +.pace .pace-activity:before { + content: ' '; + position: absolute; + top: 10px; + left: 10px; + height: 50px; + width: 50px; + display: block; + border-width: 10px; + border-style: solid; + border-color: `args.color || "#29d"` transparent transparent; + border-radius: 50%; + + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +@-webkit-keyframes spin { + 100% { -webkit-transform: rotate(359deg); } +} + +@-moz-keyframes spin { + 100% { -moz-transform: rotate(359deg); } +} + +@-o-keyframes spin { + 100% { -moz-transform: rotate(359deg); } +} + +@keyframes spin { + 100% { transform: rotate(359deg); } +} diff --git a/templates/pace-theme-center-simple.tmpl.css b/templates/pace-theme-center-simple.tmpl.css new file mode 100644 index 00000000..a92c2518 --- /dev/null +++ b/templates/pace-theme-center-simple.tmpl.css @@ -0,0 +1,51 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + z-index: 2000; + position: fixed; + margin: auto; + top: 0; + left: 0; + right: 0; + bottom: 0; + height: 5px; + width: 200px; + background: #fff; + border: 1px solid `args.color || "#29d"`; + + overflow: hidden; +} + +.pace .pace-progress { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + + max-width: 200px; + position: fixed; + z-index: 2000; + display: block; + position: absolute; + top: 0; + right: 100%; + height: 100%; + width: 100%; + background: `args.color || "#29d"`; +} + +.pace.pace-inactive { + display: none; +} \ No newline at end of file diff --git a/templates/pace-theme-corner-indicator.tmpl.css b/templates/pace-theme-corner-indicator.tmpl.css new file mode 100644 index 00000000..22e95982 --- /dev/null +++ b/templates/pace-theme-corner-indicator.tmpl.css @@ -0,0 +1,72 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.pace .pace-activity { + display: block; + position: fixed; + z-index: 2000; + top: 0; + right: 0; + width: 300px; + height: 300px; + background: `args.color || "#29d"`; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + -webkit-transform: translateX(100%) translateY(-100%) rotate(45deg); + transform: translateX(100%) translateY(-100%) rotate(45deg); + pointer-events: none; +} + +.pace.pace-active .pace-activity { + -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg); + transform: translateX(50%) translateY(-50%) rotate(45deg); +} + +.pace .pace-activity::before, +.pace .pace-activity::after { + -moz-box-sizing: border-box; + box-sizing: border-box; + position: absolute; + bottom: 30px; + left: 50%; + display: block; + border: 5px solid #fff; + border-radius: 50%; + content: ''; +} + +.pace .pace-activity::before { + margin-left: -40px; + width: 80px; + height: 80px; + border-right-color: rgba(0, 0, 0, .2); + border-left-color: rgba(0, 0, 0, .2); + -webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite; + animation: pace-theme-corner-indicator-spin 3s linear infinite; +} + +.pace .pace-activity::after { + bottom: 50px; + margin-left: -20px; + width: 40px; + height: 40px; + border-top-color: rgba(0, 0, 0, .2); + border-bottom-color: rgba(0, 0, 0, .2); + -webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite; + animation: pace-theme-corner-indicator-spin 1s linear infinite; +} + +@-webkit-keyframes pace-theme-corner-indicator-spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} +@keyframes pace-theme-corner-indicator-spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} diff --git a/templates/pace-theme-fill-left.tmpl.css b/templates/pace-theme-fill-left.tmpl.css new file mode 100644 index 00000000..0f72cb02 --- /dev/null +++ b/templates/pace-theme-fill-left.tmpl.css @@ -0,0 +1,21 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.pace-inactive { + display: none; +} + +.pace .pace-progress { + background-color: `Color(args.color).clearer(0.8).rgbString() || "rgba(0, 0, 0, 0.2)"`; + position: fixed; + z-index: -1; + top: 0; + right: 100%; + bottom: 0; + width: 100%; +} diff --git a/docs/assets/css/flash-white.css b/templates/pace-theme-flash.tmpl.css similarity index 87% rename from docs/assets/css/flash-white.css rename to templates/pace-theme-flash.tmpl.css index 7d613e5c..705fce62 100644 --- a/docs/assets/css/flash-white.css +++ b/templates/pace-theme-flash.tmpl.css @@ -11,11 +11,12 @@ } .pace .pace-progress { - background: #fcfffc; + background: `args.color || "#29d"`; position: fixed; - z-index: 100; + z-index: 2000; top: 0; - left: 0; + right: 100%; + width: 100%; height: 2px; } @@ -25,7 +26,7 @@ right: 0px; width: 100px; height: 100%; - box-shadow: 0 0 10px #fcfffc, 0 0 5px #fcfffc; + box-shadow: 0 0 10px `args.color || '#29d'`, 0 0 5px `args.color || '#29d'`; opacity: 1.0; -webkit-transform: rotate(3deg) translate(0px, -4px); -moz-transform: rotate(3deg) translate(0px, -4px); @@ -37,14 +38,14 @@ .pace .pace-activity { display: block; position: fixed; - z-index: 100; + z-index: 2000; top: 15px; right: 15px; width: 14px; height: 14px; border: solid 2px transparent; - border-top-color: #fcfffc; - border-left-color: #fcfffc; + border-top-color: `args.color || '#29d'`; + border-left-color: `args.color || '#29d'`; border-radius: 10px; -webkit-animation: pace-spinner 400ms linear infinite; -moz-animation: pace-spinner 400ms linear infinite; diff --git a/templates/pace-theme-flat-top.tmpl.css b/templates/pace-theme-flat-top.tmpl.css new file mode 100644 index 00000000..938922a9 --- /dev/null +++ b/templates/pace-theme-flat-top.tmpl.css @@ -0,0 +1,40 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + position: fixed; + top: 0; + left: 0; + width: 100%; + + -webkit-transform: translate3d(0, -50px, 0); + -ms-transform: translate3d(0, -50px, 0); + transform: translate3d(0, -50px, 0); + + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; + transition: transform .5s ease-out; +} + +.pace.pace-active { + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.pace .pace-progress { + display: block; + position: fixed; + z-index: 2000; + top: 0; + right: 100%; + width: 100%; + height: 10px; + background: `args.color || "#29d"`; + + pointer-events: none; +} diff --git a/templates/pace-theme-loading-bar.tmpl.css b/templates/pace-theme-loading-bar.tmpl.css new file mode 100644 index 00000000..04438400 --- /dev/null +++ b/templates/pace-theme-loading-bar.tmpl.css @@ -0,0 +1,104 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + z-index: 2000; + position: fixed; + margin: auto; + top: 12px; + left: 0; + right: 0; + bottom: 0; + width: 200px; + height: 50px; + overflow: hidden; +} + +.pace .pace-progress { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + + display: block; + position: absolute; + right: 100%; + margin-right: -7px; + width: 93%; + top: 7px; + height: 14px; + font-size: 12px; + background: `args.color || "#29d"`; + color: `args.color || "#29d"`; + line-height: 60px; + font-weight: bold; + font-family: Helvetica, Arial, "Lucida Grande", sans-serif; + + -webkit-box-shadow: 120px 0 #fff, 240px 0 #fff; + -ms-box-shadow: 120px 0 #fff, 240px 0 #fff; + box-shadow: 120px 0 #fff, 240px 0 #fff; +} + +.pace .pace-progress:after { + content: attr(data-progress-text); + display: inline-block; + position: fixed; + width: 45px; + text-align: right; + right: 0; + padding-right: 16px; + top: 4px; +} + +` +var out = ''; + +for (var i = 0; i < 101 ; i++) { + out += ".pace .pace-progress[data-progress-text=\"" + i + "%\"]:after { right: -" + (200 - (i * 2) + ((i * 14) / 100)) + "px }\n"; +} + +out +` + +.pace .pace-activity { + position: absolute; + width: 100%; + height: 28px; + z-index: 2001; + box-shadow: inset 0 0 0 2px `args.color || "#29d"`, inset 0 0 0 7px #FFF; + border-radius: 10px; +} + +.pace.pace-inactive { + display: none; +} diff --git a/templates/pace-theme-mac-osx.tmpl.css b/templates/pace-theme-mac-osx.tmpl.css new file mode 100644 index 00000000..b3145243 --- /dev/null +++ b/templates/pace-theme-mac-osx.tmpl.css @@ -0,0 +1,86 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + overflow: hidden; + position: fixed; + top: 0; + left: 0; + z-index: 2000; + width: 100%; + height: 12px; + background: #fff; +} + +.pace-inactive { + display: none; +} + +.pace .pace-progress { + background-color: `Color(args.color || "#29d").darken(.2).saturate(.65).hexString();`; + position: fixed; + top: 0; + right: 100%; + width: 100%; + height: 12px; + overflow: hidden; + + -webkit-border-radius: 0 0 4px 0; + -moz-border-radius: 0 0 4px 0; + -o-border-radius: 0 0 4px 0; + border-radius: 0 0 4px 0; + + -webkit-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); + -moz-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); + -o-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); + box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); +} + +.pace .pace-activity { + position: fixed; + top: 0; + left: 0; + right: -28px; + bottom: 0; + + -webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); + -moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); + -o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); + background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); + + -webkit-background-size: 28px 100%; + -moz-background-size: 28px 100%; + -o-background-size: 28px 100%; + background-size: 28px 100%; + + -webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite; + -moz-animation: pace-theme-mac-osx-motion 500ms linear infinite; + -ms-animation: pace-theme-mac-osx-motion 500ms linear infinite; + -o-animation: pace-theme-mac-osx-motion 500ms linear infinite; + animation: pace-theme-mac-osx-motion 500ms linear infinite; +} + +@-webkit-keyframes pace-theme-mac-osx-motion { + 0% { -webkit-transform: none; transform: none; } + 100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); } +} +@-moz-keyframes pace-theme-mac-osx-motion { + 0% { -moz-transform: none; transform: none; } + 100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); } +} +@-o-keyframes pace-theme-mac-osx-motion { + 0% { -o-transform: none; transform: none; } + 100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); } +} +@-ms-keyframes pace-theme-mac-osx-motion { + 0% { -ms-transform: none; transform: none; } + 100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); } +} +@keyframes pace-theme-mac-osx-motion { + 0% { transform: none; transform: none; } + 100% { transform: translate(-28px, 0); transform: translate(-28px, 0); } +} diff --git a/templates/pace-theme-material.tmpl.css b/templates/pace-theme-material.tmpl.css new file mode 100644 index 00000000..82c18b08 --- /dev/null +++ b/templates/pace-theme-material.tmpl.css @@ -0,0 +1,292 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: `args.color || "#2196F3"`; +} + +.pace-progress { + position: fixed; + z-index: 2000; + top: 50%; + left: 50%; + margin-left: -2.5rem; + margin-top: -2.5rem; + height: 5rem; + width: 5rem; + opacity: 1; + -webkit-transition: opacity 0.1s; + transition: opacity 0.1s; + + -webkit-transform: translate3d(0, 0, 0) !important; + -ms-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; +} + +.pace-inactive .pace-progress, +.pace-progress[data-progress="00"] { + opacity: 0; +} + +.pace-progress:after { + height: 5rem; + width: 5rem; + text-align: center; + line-height: 5rem; + content: attr(data-progress); + display: block; + font-size: 1.8rem; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-weight: 300; +} + +.pace-progress .pace-progress-inner { + overflow: hidden; + position: absolute; + width: 2.5rem; + height: 5rem; + -webkit-transform-origin: left center; + -ms-transform-origin: left center; + transform-origin: left center; + -webkit-transition: -webkit-transform 0.1s; + transition: transform 0.1s; + left: 2.5rem; + top: 0; +} +.pace-progress .pace-progress-inner:before, +.pace-progress .pace-progress-inner:after { + position: absolute; + width: 5rem; + height: 5rem; + content: ' '; + left: -2.5rem; + top: 0; + box-sizing: border-box; + border: 1px solid; + border-radius: 5rem; +} +.pace-progress .pace-progress-inner:before { + border-right-color: transparent; + border-bottom-color: transparent; + -webkit-transform: rotate(135deg); + -ms-transform: rotate(135deg); + transform: rotate(135deg); +} +.pace-progress .pace-progress-inner:after { + border-left-color: transparent; + border-top-color: transparent; + display: none; + -webkit-transform: rotate(315deg); + -ms-transform: rotate(315deg); + transform: rotate(315deg); +} + +.pace-progress[data-progress="00"] .pace-progress-inner:before { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } +.pace-progress[data-progress="01"] .pace-progress-inner:before { -webkit-transform: rotate(-41deg); -ms-transform: rotate(-41deg); transform: rotate(-41deg); } +.pace-progress[data-progress="02"] .pace-progress-inner:before { -webkit-transform: rotate(-38deg); -ms-transform: rotate(-38deg); transform: rotate(-38deg); } +.pace-progress[data-progress="03"] .pace-progress-inner:before { -webkit-transform: rotate(-34deg); -ms-transform: rotate(-34deg); transform: rotate(-34deg); } +.pace-progress[data-progress="04"] .pace-progress-inner:before { -webkit-transform: rotate(-31deg); -ms-transform: rotate(-31deg); transform: rotate(-31deg); } +.pace-progress[data-progress="05"] .pace-progress-inner:before { -webkit-transform: rotate(-27deg); -ms-transform: rotate(-27deg); transform: rotate(-27deg); } +.pace-progress[data-progress="06"] .pace-progress-inner:before { -webkit-transform: rotate(-23deg); -ms-transform: rotate(-23deg); transform: rotate(-23deg); } +.pace-progress[data-progress="07"] .pace-progress-inner:before { -webkit-transform: rotate(-20deg); -ms-transform: rotate(-20deg); transform: rotate(-20deg); } +.pace-progress[data-progress="08"] .pace-progress-inner:before { -webkit-transform: rotate(-16deg); -ms-transform: rotate(-16deg); transform: rotate(-16deg); } +.pace-progress[data-progress="09"] .pace-progress-inner:before { -webkit-transform: rotate(-13deg); -ms-transform: rotate(-13deg); transform: rotate(-13deg); } +.pace-progress[data-progress="10"] .pace-progress-inner:before { -webkit-transform: rotate(-9deg); -ms-transform: rotate(-9deg); transform: rotate(-9deg); } +.pace-progress[data-progress="11"] .pace-progress-inner:before { -webkit-transform: rotate(-5deg); -ms-transform: rotate(-5deg); transform: rotate(-5deg); } +.pace-progress[data-progress="12"] .pace-progress-inner:before { -webkit-transform: rotate(-2deg); -ms-transform: rotate(-2deg); transform: rotate(-2deg); } +.pace-progress[data-progress="13"] .pace-progress-inner:before { -webkit-transform: rotate(2deg); -ms-transform: rotate(2deg); transform: rotate(2deg); } +.pace-progress[data-progress="14"] .pace-progress-inner:before { -webkit-transform: rotate(5deg); -ms-transform: rotate(5deg); transform: rotate(5deg); } +.pace-progress[data-progress="15"] .pace-progress-inner:before { -webkit-transform: rotate(9deg); -ms-transform: rotate(9deg); transform: rotate(9deg); } +.pace-progress[data-progress="16"] .pace-progress-inner:before { -webkit-transform: rotate(13deg); -ms-transform: rotate(13deg); transform: rotate(13deg); } +.pace-progress[data-progress="17"] .pace-progress-inner:before { -webkit-transform: rotate(16deg); -ms-transform: rotate(16deg); transform: rotate(16deg); } +.pace-progress[data-progress="18"] .pace-progress-inner:before { -webkit-transform: rotate(20deg); -ms-transform: rotate(20deg); transform: rotate(20deg); } +.pace-progress[data-progress="19"] .pace-progress-inner:before { -webkit-transform: rotate(23deg); -ms-transform: rotate(23deg); transform: rotate(23deg); } +.pace-progress[data-progress="20"] .pace-progress-inner:before { -webkit-transform: rotate(27deg); -ms-transform: rotate(27deg); transform: rotate(27deg); } +.pace-progress[data-progress="21"] .pace-progress-inner:before { -webkit-transform: rotate(31deg); -ms-transform: rotate(31deg); transform: rotate(31deg); } +.pace-progress[data-progress="22"] .pace-progress-inner:before { -webkit-transform: rotate(34deg); -ms-transform: rotate(34deg); transform: rotate(34deg); } +.pace-progress[data-progress="23"] .pace-progress-inner:before { -webkit-transform: rotate(38deg); -ms-transform: rotate(38deg); transform: rotate(38deg); } +.pace-progress[data-progress="24"] .pace-progress-inner:before { -webkit-transform: rotate(41deg); -ms-transform: rotate(41deg); transform: rotate(41deg); } +.pace-progress[data-progress="25"] .pace-progress-inner:before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } +.pace-progress[data-progress="26"] .pace-progress-inner:before { -webkit-transform: rotate(49deg); -ms-transform: rotate(49deg); transform: rotate(49deg); } +.pace-progress[data-progress="27"] .pace-progress-inner:before { -webkit-transform: rotate(52deg); -ms-transform: rotate(52deg); transform: rotate(52deg); } +.pace-progress[data-progress="28"] .pace-progress-inner:before { -webkit-transform: rotate(56deg); -ms-transform: rotate(56deg); transform: rotate(56deg); } +.pace-progress[data-progress="29"] .pace-progress-inner:before { -webkit-transform: rotate(59deg); -ms-transform: rotate(59deg); transform: rotate(59deg); } +.pace-progress[data-progress="30"] .pace-progress-inner:before { -webkit-transform: rotate(63deg); -ms-transform: rotate(63deg); transform: rotate(63deg); } +.pace-progress[data-progress="31"] .pace-progress-inner:before { -webkit-transform: rotate(67deg); -ms-transform: rotate(67deg); transform: rotate(67deg); } +.pace-progress[data-progress="32"] .pace-progress-inner:before { -webkit-transform: rotate(70deg); -ms-transform: rotate(70deg); transform: rotate(70deg); } +.pace-progress[data-progress="33"] .pace-progress-inner:before { -webkit-transform: rotate(74deg); -ms-transform: rotate(74deg); transform: rotate(74deg); } +.pace-progress[data-progress="34"] .pace-progress-inner:before { -webkit-transform: rotate(77deg); -ms-transform: rotate(77deg); transform: rotate(77deg); } +.pace-progress[data-progress="35"] .pace-progress-inner:before { -webkit-transform: rotate(81deg); -ms-transform: rotate(81deg); transform: rotate(81deg); } +.pace-progress[data-progress="36"] .pace-progress-inner:before { -webkit-transform: rotate(85deg); -ms-transform: rotate(85deg); transform: rotate(85deg); } +.pace-progress[data-progress="37"] .pace-progress-inner:before { -webkit-transform: rotate(88deg); -ms-transform: rotate(88deg); transform: rotate(88deg); } +.pace-progress[data-progress="38"] .pace-progress-inner:before { -webkit-transform: rotate(92deg); -ms-transform: rotate(92deg); transform: rotate(92deg); } +.pace-progress[data-progress="39"] .pace-progress-inner:before { -webkit-transform: rotate(95deg); -ms-transform: rotate(95deg); transform: rotate(95deg); } +.pace-progress[data-progress="40"] .pace-progress-inner:before { -webkit-transform: rotate(99deg); -ms-transform: rotate(99deg); transform: rotate(99deg); } +.pace-progress[data-progress="41"] .pace-progress-inner:before { -webkit-transform: rotate(103deg); -ms-transform: rotate(103deg); transform: rotate(103deg); } +.pace-progress[data-progress="42"] .pace-progress-inner:before { -webkit-transform: rotate(106deg); -ms-transform: rotate(106deg); transform: rotate(106deg); } +.pace-progress[data-progress="43"] .pace-progress-inner:before { -webkit-transform: rotate(110deg); -ms-transform: rotate(110deg); transform: rotate(110deg); } +.pace-progress[data-progress="44"] .pace-progress-inner:before { -webkit-transform: rotate(113deg); -ms-transform: rotate(113deg); transform: rotate(113deg); } +.pace-progress[data-progress="45"] .pace-progress-inner:before { -webkit-transform: rotate(117deg); -ms-transform: rotate(117deg); transform: rotate(117deg); } +.pace-progress[data-progress="46"] .pace-progress-inner:before { -webkit-transform: rotate(121deg); -ms-transform: rotate(121deg); transform: rotate(121deg); } +.pace-progress[data-progress="47"] .pace-progress-inner:before { -webkit-transform: rotate(124deg); -ms-transform: rotate(124deg); transform: rotate(124deg); } +.pace-progress[data-progress="48"] .pace-progress-inner:before { -webkit-transform: rotate(128deg); -ms-transform: rotate(128deg); transform: rotate(128deg); } +.pace-progress[data-progress="49"] .pace-progress-inner:before { -webkit-transform: rotate(131deg); -ms-transform: rotate(131deg); transform: rotate(131deg); } +.pace-progress[data-progress="50"] .pace-progress-inner:before { -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); } + +.pace-progress[data-progress="50"] .pace-progress-inner:after { -webkit-transform: rotate(315deg); -ms-transform: rotate(315deg); transform: rotate(315deg); display: block; } +.pace-progress[data-progress="51"] .pace-progress-inner:after { -webkit-transform: rotate(319deg); -ms-transform: rotate(319deg); transform: rotate(319deg); display: block; } +.pace-progress[data-progress="52"] .pace-progress-inner:after { -webkit-transform: rotate(322deg); -ms-transform: rotate(322deg); transform: rotate(322deg); display: block; } +.pace-progress[data-progress="53"] .pace-progress-inner:after { -webkit-transform: rotate(326deg); -ms-transform: rotate(326deg); transform: rotate(326deg); display: block; } +.pace-progress[data-progress="54"] .pace-progress-inner:after { -webkit-transform: rotate(329deg); -ms-transform: rotate(329deg); transform: rotate(329deg); display: block; } +.pace-progress[data-progress="55"] .pace-progress-inner:after { -webkit-transform: rotate(333deg); -ms-transform: rotate(333deg); transform: rotate(333deg); display: block; } +.pace-progress[data-progress="56"] .pace-progress-inner:after { -webkit-transform: rotate(337deg); -ms-transform: rotate(337deg); transform: rotate(337deg); display: block; } +.pace-progress[data-progress="57"] .pace-progress-inner:after { -webkit-transform: rotate(340deg); -ms-transform: rotate(340deg); transform: rotate(340deg); display: block; } +.pace-progress[data-progress="58"] .pace-progress-inner:after { -webkit-transform: rotate(344deg); -ms-transform: rotate(344deg); transform: rotate(344deg); display: block; } +.pace-progress[data-progress="59"] .pace-progress-inner:after { -webkit-transform: rotate(347deg); -ms-transform: rotate(347deg); transform: rotate(347deg); display: block; } +.pace-progress[data-progress="60"] .pace-progress-inner:after { -webkit-transform: rotate(351deg); -ms-transform: rotate(351deg); transform: rotate(351deg); display: block; } +.pace-progress[data-progress="61"] .pace-progress-inner:after { -webkit-transform: rotate(355deg); -ms-transform: rotate(355deg); transform: rotate(355deg); display: block; } +.pace-progress[data-progress="62"] .pace-progress-inner:after { -webkit-transform: rotate(358deg); -ms-transform: rotate(358deg); transform: rotate(358deg); display: block; } +.pace-progress[data-progress="63"] .pace-progress-inner:after { -webkit-transform: rotate(362deg); -ms-transform: rotate(362deg); transform: rotate(362deg); display: block; } +.pace-progress[data-progress="64"] .pace-progress-inner:after { -webkit-transform: rotate(365deg); -ms-transform: rotate(365deg); transform: rotate(365deg); display: block; } +.pace-progress[data-progress="65"] .pace-progress-inner:after { -webkit-transform: rotate(369deg); -ms-transform: rotate(369deg); transform: rotate(369deg); display: block; } +.pace-progress[data-progress="66"] .pace-progress-inner:after { -webkit-transform: rotate(373deg); -ms-transform: rotate(373deg); transform: rotate(373deg); display: block; } +.pace-progress[data-progress="67"] .pace-progress-inner:after { -webkit-transform: rotate(376deg); -ms-transform: rotate(376deg); transform: rotate(376deg); display: block; } +.pace-progress[data-progress="68"] .pace-progress-inner:after { -webkit-transform: rotate(380deg); -ms-transform: rotate(380deg); transform: rotate(380deg); display: block; } +.pace-progress[data-progress="69"] .pace-progress-inner:after { -webkit-transform: rotate(383deg); -ms-transform: rotate(383deg); transform: rotate(383deg); display: block; } +.pace-progress[data-progress="70"] .pace-progress-inner:after { -webkit-transform: rotate(387deg); -ms-transform: rotate(387deg); transform: rotate(387deg); display: block; } +.pace-progress[data-progress="71"] .pace-progress-inner:after { -webkit-transform: rotate(391deg); -ms-transform: rotate(391deg); transform: rotate(391deg); display: block; } +.pace-progress[data-progress="72"] .pace-progress-inner:after { -webkit-transform: rotate(394deg); -ms-transform: rotate(394deg); transform: rotate(394deg); display: block; } +.pace-progress[data-progress="73"] .pace-progress-inner:after { -webkit-transform: rotate(398deg); -ms-transform: rotate(398deg); transform: rotate(398deg); display: block; } +.pace-progress[data-progress="74"] .pace-progress-inner:after { -webkit-transform: rotate(401deg); -ms-transform: rotate(401deg); transform: rotate(401deg); display: block; } +.pace-progress[data-progress="75"] .pace-progress-inner:after { -webkit-transform: rotate(405deg); -ms-transform: rotate(405deg); transform: rotate(405deg); display: block; } +.pace-progress[data-progress="76"] .pace-progress-inner:after { -webkit-transform: rotate(409deg); -ms-transform: rotate(409deg); transform: rotate(409deg); display: block; } +.pace-progress[data-progress="77"] .pace-progress-inner:after { -webkit-transform: rotate(412deg); -ms-transform: rotate(412deg); transform: rotate(412deg); display: block; } +.pace-progress[data-progress="78"] .pace-progress-inner:after { -webkit-transform: rotate(416deg); -ms-transform: rotate(416deg); transform: rotate(416deg); display: block; } +.pace-progress[data-progress="79"] .pace-progress-inner:after { -webkit-transform: rotate(419deg); -ms-transform: rotate(419deg); transform: rotate(419deg); display: block; } +.pace-progress[data-progress="80"] .pace-progress-inner:after { -webkit-transform: rotate(423deg); -ms-transform: rotate(423deg); transform: rotate(423deg); display: block; } +.pace-progress[data-progress="81"] .pace-progress-inner:after { -webkit-transform: rotate(427deg); -ms-transform: rotate(427deg); transform: rotate(427deg); display: block; } +.pace-progress[data-progress="82"] .pace-progress-inner:after { -webkit-transform: rotate(430deg); -ms-transform: rotate(430deg); transform: rotate(430deg); display: block; } +.pace-progress[data-progress="83"] .pace-progress-inner:after { -webkit-transform: rotate(434deg); -ms-transform: rotate(434deg); transform: rotate(434deg); display: block; } +.pace-progress[data-progress="84"] .pace-progress-inner:after { -webkit-transform: rotate(437deg); -ms-transform: rotate(437deg); transform: rotate(437deg); display: block; } +.pace-progress[data-progress="85"] .pace-progress-inner:after { -webkit-transform: rotate(441deg); -ms-transform: rotate(441deg); transform: rotate(441deg); display: block; } +.pace-progress[data-progress="86"] .pace-progress-inner:after { -webkit-transform: rotate(445deg); -ms-transform: rotate(445deg); transform: rotate(445deg); display: block; } +.pace-progress[data-progress="87"] .pace-progress-inner:after { -webkit-transform: rotate(448deg); -ms-transform: rotate(448deg); transform: rotate(448deg); display: block; } +.pace-progress[data-progress="88"] .pace-progress-inner:after { -webkit-transform: rotate(452deg); -ms-transform: rotate(452deg); transform: rotate(452deg); display: block; } +.pace-progress[data-progress="89"] .pace-progress-inner:after { -webkit-transform: rotate(455deg); -ms-transform: rotate(455deg); transform: rotate(455deg); display: block; } +.pace-progress[data-progress="90"] .pace-progress-inner:after { -webkit-transform: rotate(459deg); -ms-transform: rotate(459deg); transform: rotate(459deg); display: block; } +.pace-progress[data-progress="91"] .pace-progress-inner:after { -webkit-transform: rotate(463deg); -ms-transform: rotate(463deg); transform: rotate(463deg); display: block; } +.pace-progress[data-progress="92"] .pace-progress-inner:after { -webkit-transform: rotate(466deg); -ms-transform: rotate(466deg); transform: rotate(466deg); display: block; } +.pace-progress[data-progress="93"] .pace-progress-inner:after { -webkit-transform: rotate(470deg); -ms-transform: rotate(470deg); transform: rotate(470deg); display: block; } +.pace-progress[data-progress="94"] .pace-progress-inner:after { -webkit-transform: rotate(473deg); -ms-transform: rotate(473deg); transform: rotate(473deg); display: block; } +.pace-progress[data-progress="95"] .pace-progress-inner:after { -webkit-transform: rotate(477deg); -ms-transform: rotate(477deg); transform: rotate(477deg); display: block; } +.pace-progress[data-progress="96"] .pace-progress-inner:after { -webkit-transform: rotate(481deg); -ms-transform: rotate(481deg); transform: rotate(481deg); display: block; } +.pace-progress[data-progress="97"] .pace-progress-inner:after { -webkit-transform: rotate(484deg); -ms-transform: rotate(484deg); transform: rotate(484deg); display: block; } +.pace-progress[data-progress="98"] .pace-progress-inner:after { -webkit-transform: rotate(488deg); -ms-transform: rotate(488deg); transform: rotate(488deg); display: block; } +.pace-progress[data-progress="99"] .pace-progress-inner:after { -webkit-transform: rotate(491deg); -ms-transform: rotate(491deg); transform: rotate(491deg); display: block; } +.pace-progress[data-progress="100"] .pace-progress-inner:after { -webkit-transform: rotate(495deg); -ms-transform: rotate(495deg); transform: rotate(495deg); display: block; } + +.pace-progress[data-progress="00"] .pace-progress-inner { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg);} +.pace-progress[data-progress="01"] .pace-progress-inner { -webkit-transform: rotate(4deg); -ms-transform: rotate(4deg); transform: rotate(4deg);} +.pace-progress[data-progress="02"] .pace-progress-inner { -webkit-transform: rotate(7deg); -ms-transform: rotate(7deg); transform: rotate(7deg);} +.pace-progress[data-progress="03"] .pace-progress-inner { -webkit-transform: rotate(11deg); -ms-transform: rotate(11deg); transform: rotate(11deg);} +.pace-progress[data-progress="04"] .pace-progress-inner { -webkit-transform: rotate(14deg); -ms-transform: rotate(14deg); transform: rotate(14deg);} +.pace-progress[data-progress="05"] .pace-progress-inner { -webkit-transform: rotate(18deg); -ms-transform: rotate(18deg); transform: rotate(18deg);} +.pace-progress[data-progress="06"] .pace-progress-inner { -webkit-transform: rotate(22deg); -ms-transform: rotate(22deg); transform: rotate(22deg);} +.pace-progress[data-progress="07"] .pace-progress-inner { -webkit-transform: rotate(25deg); -ms-transform: rotate(25deg); transform: rotate(25deg);} +.pace-progress[data-progress="08"] .pace-progress-inner { -webkit-transform: rotate(29deg); -ms-transform: rotate(29deg); transform: rotate(29deg);} +.pace-progress[data-progress="09"] .pace-progress-inner { -webkit-transform: rotate(32deg); -ms-transform: rotate(32deg); transform: rotate(32deg);} +.pace-progress[data-progress="10"] .pace-progress-inner { -webkit-transform: rotate(36deg); -ms-transform: rotate(36deg); transform: rotate(36deg);} +.pace-progress[data-progress="11"] .pace-progress-inner { -webkit-transform: rotate(40deg); -ms-transform: rotate(40deg); transform: rotate(40deg);} +.pace-progress[data-progress="12"] .pace-progress-inner { -webkit-transform: rotate(43deg); -ms-transform: rotate(43deg); transform: rotate(43deg);} +.pace-progress[data-progress="13"] .pace-progress-inner { -webkit-transform: rotate(47deg); -ms-transform: rotate(47deg); transform: rotate(47deg);} +.pace-progress[data-progress="14"] .pace-progress-inner { -webkit-transform: rotate(50deg); -ms-transform: rotate(50deg); transform: rotate(50deg);} +.pace-progress[data-progress="15"] .pace-progress-inner { -webkit-transform: rotate(54deg); -ms-transform: rotate(54deg); transform: rotate(54deg);} +.pace-progress[data-progress="16"] .pace-progress-inner { -webkit-transform: rotate(58deg); -ms-transform: rotate(58deg); transform: rotate(58deg);} +.pace-progress[data-progress="17"] .pace-progress-inner { -webkit-transform: rotate(61deg); -ms-transform: rotate(61deg); transform: rotate(61deg);} +.pace-progress[data-progress="18"] .pace-progress-inner { -webkit-transform: rotate(65deg); -ms-transform: rotate(65deg); transform: rotate(65deg);} +.pace-progress[data-progress="19"] .pace-progress-inner { -webkit-transform: rotate(68deg); -ms-transform: rotate(68deg); transform: rotate(68deg);} +.pace-progress[data-progress="20"] .pace-progress-inner { -webkit-transform: rotate(72deg); -ms-transform: rotate(72deg); transform: rotate(72deg);} +.pace-progress[data-progress="21"] .pace-progress-inner { -webkit-transform: rotate(76deg); -ms-transform: rotate(76deg); transform: rotate(76deg);} +.pace-progress[data-progress="22"] .pace-progress-inner { -webkit-transform: rotate(79deg); -ms-transform: rotate(79deg); transform: rotate(79deg);} +.pace-progress[data-progress="23"] .pace-progress-inner { -webkit-transform: rotate(83deg); -ms-transform: rotate(83deg); transform: rotate(83deg);} +.pace-progress[data-progress="24"] .pace-progress-inner { -webkit-transform: rotate(86deg); -ms-transform: rotate(86deg); transform: rotate(86deg);} +.pace-progress[data-progress="25"] .pace-progress-inner { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg);} +.pace-progress[data-progress="26"] .pace-progress-inner { -webkit-transform: rotate(94deg); -ms-transform: rotate(94deg); transform: rotate(94deg);} +.pace-progress[data-progress="27"] .pace-progress-inner { -webkit-transform: rotate(97deg); -ms-transform: rotate(97deg); transform: rotate(97deg);} +.pace-progress[data-progress="28"] .pace-progress-inner { -webkit-transform: rotate(101deg); -ms-transform: rotate(101deg); transform: rotate(101deg);} +.pace-progress[data-progress="29"] .pace-progress-inner { -webkit-transform: rotate(104deg); -ms-transform: rotate(104deg); transform: rotate(104deg);} +.pace-progress[data-progress="30"] .pace-progress-inner { -webkit-transform: rotate(108deg); -ms-transform: rotate(108deg); transform: rotate(108deg);} +.pace-progress[data-progress="31"] .pace-progress-inner { -webkit-transform: rotate(112deg); -ms-transform: rotate(112deg); transform: rotate(112deg);} +.pace-progress[data-progress="32"] .pace-progress-inner { -webkit-transform: rotate(115deg); -ms-transform: rotate(115deg); transform: rotate(115deg);} +.pace-progress[data-progress="33"] .pace-progress-inner { -webkit-transform: rotate(119deg); -ms-transform: rotate(119deg); transform: rotate(119deg);} +.pace-progress[data-progress="34"] .pace-progress-inner { -webkit-transform: rotate(122deg); -ms-transform: rotate(122deg); transform: rotate(122deg);} +.pace-progress[data-progress="35"] .pace-progress-inner { -webkit-transform: rotate(126deg); -ms-transform: rotate(126deg); transform: rotate(126deg);} +.pace-progress[data-progress="36"] .pace-progress-inner { -webkit-transform: rotate(130deg); -ms-transform: rotate(130deg); transform: rotate(130deg);} +.pace-progress[data-progress="37"] .pace-progress-inner { -webkit-transform: rotate(133deg); -ms-transform: rotate(133deg); transform: rotate(133deg);} +.pace-progress[data-progress="38"] .pace-progress-inner { -webkit-transform: rotate(137deg); -ms-transform: rotate(137deg); transform: rotate(137deg);} +.pace-progress[data-progress="39"] .pace-progress-inner { -webkit-transform: rotate(140deg); -ms-transform: rotate(140deg); transform: rotate(140deg);} +.pace-progress[data-progress="40"] .pace-progress-inner { -webkit-transform: rotate(144deg); -ms-transform: rotate(144deg); transform: rotate(144deg);} +.pace-progress[data-progress="41"] .pace-progress-inner { -webkit-transform: rotate(148deg); -ms-transform: rotate(148deg); transform: rotate(148deg);} +.pace-progress[data-progress="42"] .pace-progress-inner { -webkit-transform: rotate(151deg); -ms-transform: rotate(151deg); transform: rotate(151deg);} +.pace-progress[data-progress="43"] .pace-progress-inner { -webkit-transform: rotate(155deg); -ms-transform: rotate(155deg); transform: rotate(155deg);} +.pace-progress[data-progress="44"] .pace-progress-inner { -webkit-transform: rotate(158deg); -ms-transform: rotate(158deg); transform: rotate(158deg);} +.pace-progress[data-progress="45"] .pace-progress-inner { -webkit-transform: rotate(162deg); -ms-transform: rotate(162deg); transform: rotate(162deg);} +.pace-progress[data-progress="46"] .pace-progress-inner { -webkit-transform: rotate(166deg); -ms-transform: rotate(166deg); transform: rotate(166deg);} +.pace-progress[data-progress="47"] .pace-progress-inner { -webkit-transform: rotate(169deg); -ms-transform: rotate(169deg); transform: rotate(169deg);} +.pace-progress[data-progress="48"] .pace-progress-inner { -webkit-transform: rotate(173deg); -ms-transform: rotate(173deg); transform: rotate(173deg);} +.pace-progress[data-progress="49"] .pace-progress-inner { -webkit-transform: rotate(176deg); -ms-transform: rotate(176deg); transform: rotate(176deg);} +.pace-progress[data-progress="50"] .pace-progress-inner { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg);} +.pace-progress[data-progress="51"] .pace-progress-inner { -webkit-transform: rotate(184deg); -ms-transform: rotate(184deg); transform: rotate(184deg); overflow: visible;} +.pace-progress[data-progress="52"] .pace-progress-inner { -webkit-transform: rotate(187deg); -ms-transform: rotate(187deg); transform: rotate(187deg); overflow: visible;} +.pace-progress[data-progress="53"] .pace-progress-inner { -webkit-transform: rotate(191deg); -ms-transform: rotate(191deg); transform: rotate(191deg); overflow: visible;} +.pace-progress[data-progress="54"] .pace-progress-inner { -webkit-transform: rotate(194deg); -ms-transform: rotate(194deg); transform: rotate(194deg); overflow: visible;} +.pace-progress[data-progress="55"] .pace-progress-inner { -webkit-transform: rotate(198deg); -ms-transform: rotate(198deg); transform: rotate(198deg); overflow: visible;} +.pace-progress[data-progress="56"] .pace-progress-inner { -webkit-transform: rotate(202deg); -ms-transform: rotate(202deg); transform: rotate(202deg); overflow: visible;} +.pace-progress[data-progress="57"] .pace-progress-inner { -webkit-transform: rotate(205deg); -ms-transform: rotate(205deg); transform: rotate(205deg); overflow: visible;} +.pace-progress[data-progress="58"] .pace-progress-inner { -webkit-transform: rotate(209deg); -ms-transform: rotate(209deg); transform: rotate(209deg); overflow: visible;} +.pace-progress[data-progress="59"] .pace-progress-inner { -webkit-transform: rotate(212deg); -ms-transform: rotate(212deg); transform: rotate(212deg); overflow: visible;} +.pace-progress[data-progress="60"] .pace-progress-inner { -webkit-transform: rotate(216deg); -ms-transform: rotate(216deg); transform: rotate(216deg); overflow: visible;} +.pace-progress[data-progress="61"] .pace-progress-inner { -webkit-transform: rotate(220deg); -ms-transform: rotate(220deg); transform: rotate(220deg); overflow: visible;} +.pace-progress[data-progress="62"] .pace-progress-inner { -webkit-transform: rotate(223deg); -ms-transform: rotate(223deg); transform: rotate(223deg); overflow: visible;} +.pace-progress[data-progress="63"] .pace-progress-inner { -webkit-transform: rotate(227deg); -ms-transform: rotate(227deg); transform: rotate(227deg); overflow: visible;} +.pace-progress[data-progress="64"] .pace-progress-inner { -webkit-transform: rotate(230deg); -ms-transform: rotate(230deg); transform: rotate(230deg); overflow: visible;} +.pace-progress[data-progress="65"] .pace-progress-inner { -webkit-transform: rotate(234deg); -ms-transform: rotate(234deg); transform: rotate(234deg); overflow: visible;} +.pace-progress[data-progress="66"] .pace-progress-inner { -webkit-transform: rotate(238deg); -ms-transform: rotate(238deg); transform: rotate(238deg); overflow: visible;} +.pace-progress[data-progress="67"] .pace-progress-inner { -webkit-transform: rotate(241deg); -ms-transform: rotate(241deg); transform: rotate(241deg); overflow: visible;} +.pace-progress[data-progress="68"] .pace-progress-inner { -webkit-transform: rotate(245deg); -ms-transform: rotate(245deg); transform: rotate(245deg); overflow: visible;} +.pace-progress[data-progress="69"] .pace-progress-inner { -webkit-transform: rotate(248deg); -ms-transform: rotate(248deg); transform: rotate(248deg); overflow: visible;} +.pace-progress[data-progress="70"] .pace-progress-inner { -webkit-transform: rotate(252deg); -ms-transform: rotate(252deg); transform: rotate(252deg); overflow: visible;} +.pace-progress[data-progress="71"] .pace-progress-inner { -webkit-transform: rotate(256deg); -ms-transform: rotate(256deg); transform: rotate(256deg); overflow: visible;} +.pace-progress[data-progress="72"] .pace-progress-inner { -webkit-transform: rotate(259deg); -ms-transform: rotate(259deg); transform: rotate(259deg); overflow: visible;} +.pace-progress[data-progress="73"] .pace-progress-inner { -webkit-transform: rotate(263deg); -ms-transform: rotate(263deg); transform: rotate(263deg); overflow: visible;} +.pace-progress[data-progress="74"] .pace-progress-inner { -webkit-transform: rotate(266deg); -ms-transform: rotate(266deg); transform: rotate(266deg); overflow: visible;} +.pace-progress[data-progress="75"] .pace-progress-inner { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); overflow: visible;} +.pace-progress[data-progress="76"] .pace-progress-inner { -webkit-transform: rotate(274deg); -ms-transform: rotate(274deg); transform: rotate(274deg); overflow: visible;} +.pace-progress[data-progress="77"] .pace-progress-inner { -webkit-transform: rotate(277deg); -ms-transform: rotate(277deg); transform: rotate(277deg); overflow: visible;} +.pace-progress[data-progress="78"] .pace-progress-inner { -webkit-transform: rotate(281deg); -ms-transform: rotate(281deg); transform: rotate(281deg); overflow: visible;} +.pace-progress[data-progress="79"] .pace-progress-inner { -webkit-transform: rotate(284deg); -ms-transform: rotate(284deg); transform: rotate(284deg); overflow: visible;} +.pace-progress[data-progress="80"] .pace-progress-inner { -webkit-transform: rotate(288deg); -ms-transform: rotate(288deg); transform: rotate(288deg); overflow: visible;} +.pace-progress[data-progress="81"] .pace-progress-inner { -webkit-transform: rotate(292deg); -ms-transform: rotate(292deg); transform: rotate(292deg); overflow: visible;} +.pace-progress[data-progress="82"] .pace-progress-inner { -webkit-transform: rotate(295deg); -ms-transform: rotate(295deg); transform: rotate(295deg); overflow: visible;} +.pace-progress[data-progress="83"] .pace-progress-inner { -webkit-transform: rotate(299deg); -ms-transform: rotate(299deg); transform: rotate(299deg); overflow: visible;} +.pace-progress[data-progress="84"] .pace-progress-inner { -webkit-transform: rotate(302deg); -ms-transform: rotate(302deg); transform: rotate(302deg); overflow: visible;} +.pace-progress[data-progress="85"] .pace-progress-inner { -webkit-transform: rotate(306deg); -ms-transform: rotate(306deg); transform: rotate(306deg); overflow: visible;} +.pace-progress[data-progress="86"] .pace-progress-inner { -webkit-transform: rotate(310deg); -ms-transform: rotate(310deg); transform: rotate(310deg); overflow: visible;} +.pace-progress[data-progress="87"] .pace-progress-inner { -webkit-transform: rotate(313deg); -ms-transform: rotate(313deg); transform: rotate(313deg); overflow: visible;} +.pace-progress[data-progress="88"] .pace-progress-inner { -webkit-transform: rotate(317deg); -ms-transform: rotate(317deg); transform: rotate(317deg); overflow: visible;} +.pace-progress[data-progress="89"] .pace-progress-inner { -webkit-transform: rotate(320deg); -ms-transform: rotate(320deg); transform: rotate(320deg); overflow: visible;} +.pace-progress[data-progress="90"] .pace-progress-inner { -webkit-transform: rotate(324deg); -ms-transform: rotate(324deg); transform: rotate(324deg); overflow: visible;} +.pace-progress[data-progress="91"] .pace-progress-inner { -webkit-transform: rotate(328deg); -ms-transform: rotate(328deg); transform: rotate(328deg); overflow: visible;} +.pace-progress[data-progress="92"] .pace-progress-inner { -webkit-transform: rotate(331deg); -ms-transform: rotate(331deg); transform: rotate(331deg); overflow: visible;} +.pace-progress[data-progress="93"] .pace-progress-inner { -webkit-transform: rotate(335deg); -ms-transform: rotate(335deg); transform: rotate(335deg); overflow: visible;} +.pace-progress[data-progress="94"] .pace-progress-inner { -webkit-transform: rotate(338deg); -ms-transform: rotate(338deg); transform: rotate(338deg); overflow: visible;} +.pace-progress[data-progress="95"] .pace-progress-inner { -webkit-transform: rotate(342deg); -ms-transform: rotate(342deg); transform: rotate(342deg); overflow: visible;} +.pace-progress[data-progress="96"] .pace-progress-inner { -webkit-transform: rotate(346deg); -ms-transform: rotate(346deg); transform: rotate(346deg); overflow: visible;} +.pace-progress[data-progress="97"] .pace-progress-inner { -webkit-transform: rotate(349deg); -ms-transform: rotate(349deg); transform: rotate(349deg); overflow: visible;} +.pace-progress[data-progress="98"] .pace-progress-inner { -webkit-transform: rotate(353deg); -ms-transform: rotate(353deg); transform: rotate(353deg); overflow: visible;} +.pace-progress[data-progress="99"] .pace-progress-inner { -webkit-transform: rotate(356deg); -ms-transform: rotate(356deg); transform: rotate(356deg); overflow: visible;} +.pace-progress[data-progress="100"] .pace-progress-inner { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); overflow: visible;} diff --git a/templates/pace-theme-minimal.tmpl.css b/templates/pace-theme-minimal.tmpl.css new file mode 100644 index 00000000..815a31da --- /dev/null +++ b/templates/pace-theme-minimal.tmpl.css @@ -0,0 +1,22 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.pace-inactive { + display: none; +} + +.pace .pace-progress { + background: `args.color || "#29d"`; + position: fixed; + z-index: 2000; + top: 0; + right: 100%; + width: 100%; + height: 2px; +} From 958e729ac76a77fb7baae3f68acbf0432c1c5ec2 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 14:02:11 -0400 Subject: [PATCH 31/62] upgrades --- README.md | 289 ++++++++++++++++++++++++++++++++++++++++++++++-- docs/intro.md | 300 -------------------------------------------------- 2 files changed, 279 insertions(+), 310 deletions(-) delete mode 100644 docs/intro.md diff --git a/README.md b/README.md index c80b8db4..1076a18e 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,23 @@ -Disclaimer, We no longer use this library internally and are focusing our efforts on open sourcing and maintaining projects that we do use and can meaningfully contribute to. Sorry for any frustrations with this project (we're happy to link to any fork that has an excited, commited maintainer). - pace ==== An automatic web page progress bar. -Include [pace.js](https://raw.github.com/HubSpot/pace/v1.0.2/pace.min.js) and a [theme](http://github.hubspot.com/pace/docs/welcome/) of your choice to your page and you are done! +### [Demo](https://eatbreathecode.github.io/pace/) +### [Documentation](https://eatbreathecode.github.io/pace/docs/) -We also have a [Wordpress Plugin](https://wordpress.org/plugins/pace). +Include [pace.js](https://raw.github.com/EatBreatheCode/pace/master/pace.min.js) and the +[theme](https://eatbreathecode.github.io/pace/) css of your choice on your page +(as early as is possible), and you're done! -Pace will automatically monitor your Ajax requests, event loop lag, document ready state and elements on your page to decide on the progress. +Pace will automatically monitor your ajax requests, event loop lag, document +ready state, and elements on your page to decide the progress. On ajax navigation +it will begin again! If you use AMD or Browserify, require pace.js and call `pace.start()` as early in the loading process as is possible. -### [Demo](http://github.hubspot.com/pace/docs/welcome/) - -### [Documentation](http://github.hubspot.com/pace/) - -### Example +Example +------- ```html @@ -25,3 +25,272 @@ If you use AMD or Browserify, require pace.js and call `pace.start()` as early i ``` + +Configuration +------------- + +Pace is fully automatic, no configuration is necessary to get started. + +If you would like to make some tweaks, here's how: + +You can set `window.paceOptions` before bringing in the file: + +```javascript +paceOptions = { + // Disable the 'elements' source + elements: false, + + // Only show the progress on regular and ajax-y page navigation, + // not every request + restartOnRequestAfter: false +} +``` + +You can also put options on the script tag: + +```html + +``` + +If you're using AMD or Browserify, you can pass your options to `start`: + +```javascript +define(['pace'], function(pace){ + pace.start({ + document: false + }); +}); +``` + +Themes +------ + +Pace includes a bunch of [themes](https://eatbreathecode.github.io/pace/) +to get you started. Just include the appropriate css file. Send us a PR with +any interesting themes you create. + +If you have minor styling changes and don't want to extend theme css, you can add custom class names to +the progress bar using the "className" option: + +```javascript +paceOptions = { + className: 'my-custom-class' +} +``` + +Collectors +---------- + +Collectors are the bits of code which gather progress information. Pace includes four default collectors: + +- Ajax + + Monitors all ajax requests on the page + +- Elements + + Checks for the existance of specific elements on the page + +- Document + + Checks the document readyState + +- Event Lag + + Checks for event loop lag signaling that javascript is being executed + +They can each be configured or disabled through configuration options of the same name. + +```javascript +paceOptions = { + ajax: false, // disabled + document: false, // disabled + eventLag: false, // disabled + elements: { + selectors: ['.my-page'] + } +}; +``` + +Add your own classes to `paceOptions.extraSources` to add more sources. Each source should either +have a `.progress` property, or a `.elements` property which is a list of objects with +`.progress` properties. Pace will automatically handle all scaling to make the progress +changes look smooth to the user. + +Elements +-------- + +Elements being rendered to the screen is one way for us to decide that the page has been +rendered. If you would like to use that source of information (not required at all), +specify one or more selectors. You can comma separate the selectors to propertly handle +error states, where the progress bar should disappear, but the element we are looking for +may never appear: + +```javascript +paceOptions = { + elements: { + selectors: ['.timeline,.timeline-error', '.user-profile,.profile-error'] + } +} +``` + +Pace will consider the elements test successful when each selector matches something. For +this example, when either `.timeline` or `.timeline-error` exist, and either `.user-profile` +or `.profile-error` exist. + +Restart Rules +------------- + +Most users want the progress bar to automatically restart when a pushState event occurs +(generally means ajax navigation is occuring). You can disable this: + +```javascript +paceOptions = { + restartOnPushState: false +} +``` + +You can also have pace restart on every ajax request which lasts longer than x ms. You'll want to +disable this if you make ajax requests the user doesn't need to know about, like precaching: + +```javascript +paceOptions = { + restartOnRequestAfter: false +} +``` + +You can always trigger a restart manually by calling `Pace.restart()` + +See [the source](https://github.com/EatBreatheCode/pace/blob/master/pace.js) for a full list of all options. + +API +--- + +Pace exposes the following methods: + +- `Pace.start`: Show the progress bar and start updating. Called automatically if you don't use AMD or CommonJS. + +- `Pace.restart`: Show the progress bar if it's hidden and start reporting the progress from scratch. Called automatically +whenever `pushState` or `replaceState` is called by default. + +- `Pace.stop`: Hide the progress bar and stop updating it. + +- `Pace.track`: Explicitly track one or more requests, see Tracking below + +- `Pace.ignore`: Explicitly ignore one or more requests, see Tracking below + +Events +------ + +Pace fires the following events: + +- `start`: When pace is initially started, or as a part of a restart +- `stop`: When pace is manually stopped, or as a part of a restart +- `restart`: When pace is restarted (manually, or by a new AJAX request) +- `done`: When pace is finished +- `hide`: When the pace is hidden (can be later than `done`, based on `ghostTime` and `minTime`) + +You can bind onto events using the `on`, `off` and `once` methods: + +- `Pace.on(event, handler, [context])`: Call `handler` (optionally with context) when `event` is triggered +- `Pace.off(event, [handler])`: Unbind the provided `event` and `handler` combination. +- `Pace.once(event, handler, [context])`: Bind `handler` to the next (and only the next) incidence of `event` + +Tracking +-------- + +By default, Pace will show any ajax requests which begin as a part of a normal or ajax-y page load, or which last longer than +500ms. + +You can disable all ajax tracking by setting `ajax` to false: + +```javascript +Pace.options = { + ajax: false +} +``` + +You can disable ajax tracking except on page navigation by setting `restartOnRequestAfter` to false: + +```javascript +Pace.options = { + restartOnRequestAfter: false +} +``` + +You can manually disable tracking for a specific request or requests by triggering them within a `Pace.ignore` callback: + +```javascript +Pace.ignore(function(){ + $.ajax(...) +}); +``` + +You can force the progress bar to be shown for a specific request by triggering them within a `Pace.track` callback: + +```javascript +Pace.track(function(){ + $.ajax(...) +}); +``` + +You can also ignore URLs based on a pattern: + +```javascript +Pace.options = { + ajax: { + ignoreURLs: ['some-substring', /some-regexp/] + } +} +``` + +Dependencies +------------ + +None! + +Support +------- + +Pace is designed to support IE8+ (standards mode), FF 3.5+, Chrome, Safari 4+, Opera 10.5+, and all modern +mobile browsers. If you run into a compatibility issue, or can make a case for supporting something else, +please create an issue. + +Size +---- + +pace.js is 4kb minified and gzipped. The themes vary between 0.5 and 4kb. + +Issues +------ + +We have obviously not tested this on every website. If you run into an issue, or find a way the automatic +detection could be better, please [create an Issue](https://github.com/EatBreatheCode/pace/issues/new). If you can include a test case, that's even better. + +Contributing +------------ + +PRs Welcome! + +Building requires node.js. + +```bash +npm install +grunt +``` + +You can also run `grunt watch` to have it automatically build as you make changes. + +There is no need to include compiled files in PRs. + +Credits +------- + +[HubSpot](http://dev.hubspot.com) + +Javascript by [Zack Bloom](http://twitter.com/zackbloom) +CSS by [Adam Schwartz](http://twitter.com/adamfschwartz) + +Themes inspired by [Mary Lou](http://tympanus.net/codrops/2013/09/18/creative-loading-effects/) + +Project inspired by [nprogress](http://ricostacruz.com/nprogress/) diff --git a/docs/intro.md b/docs/intro.md deleted file mode 100644 index d148239f..00000000 --- a/docs/intro.md +++ /dev/null @@ -1,300 +0,0 @@ -pace -==== - -Include [pace.js](https://raw.github.com/HubSpot/pace/v0.5.3/pace.min.js) and the -[theme](http://github.hubspot.com/pace/docs/welcome/) css of your choice on your page -(as early as is possible), and you're done! - -Pace will automatically monitor your ajax requests, event loop lag, document -ready state, and elements on your page to decide the progress. On ajax navigation -it will begin again! - -If you use AMD or Browserify, require in pace.js and call `pace.start()` as early in -the loading process as is possible. - -Install with Eager ------------------- - -The easiest way to add Pace to your site is with [Eager](http://eager.io). -Click Install to see a live preview of Pace on your website. - - - -Example -------- - -```html - - - - -``` - -Configuration -------------- - -Pace is fully automatic, no configuration is necessary to get started. - -If you would like to make some tweaks, here's how: - -You can set `window.paceOptions` before bringing in the file: - -```javascript -paceOptions = { - // Disable the 'elements' source - elements: false, - - // Only show the progress on regular and ajax-y page navigation, - // not every request - restartOnRequestAfter: false -} -``` - -You can also put options on the script tag: - -```html - -``` - -If you're using AMD or Browserify, you can pass your options to `start`: - -```javascript -define(['pace'], function(pace){ - pace.start({ - document: false - }); -}); -``` - -Themes ------- - -Pace includes a bunch of [themes](http://github.hubspot.com/pace/docs/welcome/) -to get you started. Just include the appropriate css file. Send us a PR with -any interesting themes you create. - -If you have minor styling changes and don't want to extend theme css, you can add custom class names to -the progress bar using the "className" option: - -```javascript -paceOptions = { - className: 'my-custom-class' -} -``` - -Collectors ----------- - -Collectors are the bits of code which gather progress information. Pace includes four default collectors: - -- Ajax - - Monitors all ajax requests on the page - -- Elements - - Checks for the existance of specific elements on the page - -- Document - - Checks the document readyState - -- Event Lag - - Checks for event loop lag signaling that javascript is being executed - -They can each be configured or disabled through configuration options of the same name. - -```javascript -paceOptions = { - ajax: false, // disabled - document: false, // disabled - eventLag: false, // disabled - elements: { - selectors: ['.my-page'] - } -}; -``` - -Add your own classes to `paceOptions.extraSources` to add more sources. Each source should either -have a `.progress` property, or a `.elements` property which is a list of objects with -`.progress` properties. Pace will automatically handle all scaling to make the progress -changes look smooth to the user. - -Elements --------- - -Elements being rendered to the screen is one way for us to decide that the page has been -rendered. If you would like to use that source of information (not required at all), -specify one or more selectors. You can comma separate the selectors to propertly handle -error states, where the progress bar should disappear, but the element we are looking for -may never appear: - -```javascript -paceOptions = { - elements: { - selectors: ['.timeline,.timeline-error', '.user-profile,.profile-error'] - } -} -``` - -Pace will consider the elements test successful when each selector matches something. For -this example, when either `.timeline` or `.timeline-error` exist, and either `.user-profile` -or `.profile-error` exist. - -Restart Rules -------------- - -Most users want the progress bar to automatically restart when a pushState event occurs -(generally means ajax navigation is occuring). You can disable this: - -```javascript -paceOptions = { - restartOnPushState: false -} -``` - -You can also have pace restart on every ajax request which lasts longer than x ms. You'll want to -disable this if you make ajax requests the user doesn't need to know about, like precaching: - -```javascript -paceOptions = { - restartOnRequestAfter: false -} -``` - -You can always trigger a restart manually by calling `Pace.restart()` - -See [the source](https://github.com/HubSpot/pace/blob/master/pace.coffee) for a full list of all options. - -API ---- - -Pace exposes the following methods: - -- `Pace.start`: Show the progress bar and start updating. Called automatically if you don't use AMD or CommonJS. - -- `Pace.restart`: Show the progress bar if it's hidden and start reporting the progress from scratch. Called automatically -whenever `pushState` or `replaceState` is called by default. - -- `Pace.stop`: Hide the progress bar and stop updating it. - -- `Pace.track`: Explicitly track one or more requests, see Tracking below - -- `Pace.ignore`: Explicitly ignore one or more requests, see Tracking below - -Events ------- - -Pace fires the following events: - -- `start`: When pace is initially started, or as a part of a restart -- `stop`: When pace is manually stopped, or as a part of a restart -- `restart`: When pace is restarted (manually, or by a new AJAX request) -- `done`: When pace is finished -- `hide`: When the pace is hidden (can be later than `done`, based on `ghostTime` and `minTime`) - -You can bind onto events using the `on`, `off` and `once` methods: - -- `Pace.on(event, handler, [context])`: Call `handler` (optionally with context) when `event` is triggered -- `Pace.off(event, [handler])`: Unbind the provided `event` and `handler` combination. -- `Pace.once(event, handler, [context])`: Bind `handler` to the next (and only the next) incidence of `event` - -Tracking --------- - -By default, Pace will show any ajax requests which begin as a part of a normal or ajax-y page load, or which last longer than -500ms. - -You can disable all ajax tracking by setting `ajax` to false: - -```javascript -Pace.options = { - ajax: false -} -``` - -You can disable ajax tracking except on page navigation by setting `restartOnRequestAfter` to false: - -```javascript -Pace.options = { - restartOnRequestAfter: false -} -``` - -You can manually disable tracking for a specific request or requests by triggering them within a `Pace.ignore` callback: - -```javascript -Pace.ignore(function(){ - $.ajax(...) -}); -``` - -You can force the progress bar to be shown for a specific request by triggering them within a `Pace.track` callback: - -```javascript -Pace.track(function(){ - $.ajax(...) -}); -``` - -You can also ignore URLs based on a pattern: - -```javascript -Pace.options = { - ajax: { - ignoreURLs: ['some-substring', /some-regexp/] - } -} -``` - -Dependencies ------------- - -None! - -Support -------- - -Pace is designed to support IE8+ (standards mode), FF 3.5+, Chrome, Safari 4+, Opera 10.5+, and all modern -mobile browsers. If you run into a compatibility issue, or can make a case for supporting something else, -please create an issue. - -Size ----- - -pace.js is 4kb minified and gzipped. The themes vary between 0.5 and 4kb. - -Issues ------- - -We have obviously not tested this on every website. If you run into an issue, or find a way the automatic -detection could be better, please [create an Issue](https://github.com/HubSpot/pace/issues/new). If you can include a test case, that's even better. - -Contributing ------------- - -PRs Welcome! - -Building requires node.js. - -```bash -npm install -grunt -``` - -You can also run `grunt watch` to have it automatically build as you make changes. - -There is no need to include compiled files in PRs. - -Credits -------- - -[HubSpot](http://dev.hubspot.com) - -Javascript by [Zack Bloom](http://twitter.com/zackbloom) -CSS by [Adam Schwartz](http://twitter.com/adamfschwartz) - -Themes inspired by [Mary Lou](http://tympanus.net/codrops/2013/09/18/creative-loading-effects/) - -Project inspired by [nprogress](http://ricostacruz.com/nprogress/) From f57d8e289d077193b215d059c9ec9cb17d07bc52 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 14:13:00 -0400 Subject: [PATCH 32/62] pass progress --- pace.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pace.js b/pace.js index 2f812e69..e1c893b0 100644 --- a/pace.js +++ b/pace.js @@ -310,7 +310,7 @@ } el.children[0].setAttribute('data-progress', "" + progressStr); } - Pace.trigger('change'); + Pace.trigger('change', this.progress); return this.lastRenderedProgress = this.progress; }; From 8961dc58532b43cacf688f869abd330e79e21848 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 7 Oct 2019 14:32:07 -0400 Subject: [PATCH 33/62] upgraded --- pace.js | 1920 +++++++++++++++++++++++++-------------------------- pace.min.js | 7 +- 2 files changed, 966 insertions(+), 961 deletions(-) diff --git a/pace.js b/pace.js index e1c893b0..9a400990 100644 --- a/pace.js +++ b/pace.js @@ -1,965 +1,965 @@ /*! - * pace.js v1.2.0 + * pace.js v1.2.1 * https://github.com/EatBreatheCode/pace/ * Licensed MIT © HubSpot, Inc. */ (function() { - var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, Pace, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, addEventListener, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState, - __slice = [].slice, - __hasProp = {}.hasOwnProperty, - __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - - defaultOptions = { - className: '', - catchupTime: 100, - initialRate: .03, - minTime: 250, - ghostTime: 100, - maxProgressPerFrame: 20, - easeFactor: 1.25, - startOnPageLoad: true, - restartOnPushState: true, - restartOnRequestAfter: 500, - target: 'body', - elements: { - checkInterval: 100, - selectors: ['body'] - }, - eventLag: { - minSamples: 10, - sampleCount: 3, - lagThreshold: 3 - }, - ajax: { - trackMethods: ['GET'], - trackWebSockets: true, - ignoreURLs: [] - } - }; - - now = function() { - var _ref; - return (_ref = typeof performance !== "undefined" && performance !== null ? typeof performance.now === "function" ? performance.now() : void 0 : void 0) != null ? _ref : +(new Date); - }; - - requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; - - cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame; - - addEventListener = function(obj, event, callback) { - return (typeof obj.addEventListener === "function" ? obj.addEventListener(event, callback, false) : void 0) || (obj["on" + event] = callback); - }; - - if (requestAnimationFrame == null) { - requestAnimationFrame = function(fn) { - return setTimeout(fn, 50); - }; - cancelAnimationFrame = function(id) { - return clearTimeout(id); - }; - } - - runAnimation = function(fn) { - var last, tick; - last = now(); - tick = function() { - var diff; - diff = now() - last; - if (diff >= 33) { - last = now(); - return fn(diff, function() { - return requestAnimationFrame(tick); - }); - } else { - return setTimeout(tick, 33 - diff); - } - }; - return tick(); - }; - - result = function() { - var args, key, obj; - obj = arguments[0], key = arguments[1], args = 3 <= arguments.length ? __slice.call(arguments, 2) : []; - if (typeof obj[key] === 'function') { - return obj[key].apply(obj, args); - } else { - return obj[key]; - } - }; - - extend = function() { - var key, out, source, sources, val, _i, _len; - out = arguments[0], sources = 2 <= arguments.length ? __slice.call(arguments, 1) : []; - for (_i = 0, _len = sources.length; _i < _len; _i++) { - source = sources[_i]; - if (source) { - for (key in source) { - if (!__hasProp.call(source, key)) continue; - val = source[key]; - if ((out[key] != null) && typeof out[key] === 'object' && (val != null) && typeof val === 'object') { - extend(out[key], val); - } else { - out[key] = val; - } - } - } - } - return out; - }; - - avgAmplitude = function(arr) { - var count, sum, v, _i, _len; - sum = count = 0; - for (_i = 0, _len = arr.length; _i < _len; _i++) { - v = arr[_i]; - sum += Math.abs(v); - count++; - } - return sum / count; - }; - - getFromDOM = function(key, json) { - var data, e, el; - if (key == null) { - key = 'options'; - } - if (json == null) { - json = true; - } - el = document.querySelector("[data-pace-" + key + "]"); - if (!el) { - return; - } - data = el.getAttribute("data-pace-" + key); - if (!json) { - return data; - } - try { - return JSON.parse(data); - } catch (_error) { - e = _error; - return typeof console !== "undefined" && console !== null ? console.error("Error parsing inline pace options", e) : void 0; - } - }; - - Evented = (function() { - function Evented() {} - - Evented.prototype.on = function(event, handler, ctx, once) { - var _base; - if (once == null) { - once = false; - } - if (this.bindings == null) { - this.bindings = {}; - } - if ((_base = this.bindings)[event] == null) { - _base[event] = []; - } - return this.bindings[event].push({ - handler: handler, - ctx: ctx, - once: once - }); - }; - - Evented.prototype.once = function(event, handler, ctx) { - return this.on(event, handler, ctx, true); - }; - - Evented.prototype.off = function(event, handler) { - var i, _ref, _results; - if (((_ref = this.bindings) != null ? _ref[event] : void 0) == null) { - return; - } - if (handler == null) { - return delete this.bindings[event]; - } else { - i = 0; - _results = []; - while (i < this.bindings[event].length) { - if (this.bindings[event][i].handler === handler) { - _results.push(this.bindings[event].splice(i, 1)); - } else { - _results.push(i++); - } - } - return _results; - } - }; - - Evented.prototype.trigger = function() { - var args, ctx, event, handler, i, once, _ref, _ref1, _results; - event = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; - if ((_ref = this.bindings) != null ? _ref[event] : void 0) { - i = 0; - _results = []; - while (i < this.bindings[event].length) { - _ref1 = this.bindings[event][i], handler = _ref1.handler, ctx = _ref1.ctx, once = _ref1.once; - handler.apply(ctx != null ? ctx : this, args); - if (once) { - _results.push(this.bindings[event].splice(i, 1)); - } else { - _results.push(i++); - } - } - return _results; - } - }; - - return Evented; - - })(); - - Pace = window.Pace || {}; - - window.Pace = Pace; - - extend(Pace, Evented.prototype); - - options = Pace.options = extend({}, defaultOptions, window.paceOptions, getFromDOM()); - - _ref = ['ajax', 'document', 'eventLag', 'elements']; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - source = _ref[_i]; - if (options[source] === true) { - options[source] = defaultOptions[source]; - } - } - - NoTargetError = (function(_super) { - __extends(NoTargetError, _super); - - function NoTargetError() { - _ref1 = NoTargetError.__super__.constructor.apply(this, arguments); - return _ref1; - } - - return NoTargetError; - - })(Error); - - Bar = (function() { - function Bar() { - this.progress = 0; - } - - Bar.prototype.getElement = function() { - var targetElement; - if (this.el == null) { - targetElement = document.querySelector(options.target); - if (!targetElement) { - throw new NoTargetError; - } - this.el = document.createElement('div'); - this.el.className = "pace pace-active"; - document.body.className = document.body.className.replace(/(pace-done)|/, 'pace-running'); - var _custom_class_name = (options.className !== '') ? ' '+options.className : ''; - this.el.innerHTML = '
\n
\n
\n
'; - if (targetElement.firstChild != null) { - targetElement.insertBefore(this.el, targetElement.firstChild); - } else { - targetElement.appendChild(this.el); - } - } - return this.el; - }; - - Bar.prototype.finish = function() { - var el; - el = this.getElement(); - el.className = el.className.replace('pace-active', 'pace-inactive'); - return document.body.className = document.body.className.replace('pace-running', 'pace-done'); - }; - - Bar.prototype.update = function(prog) { - this.progress = prog; - return this.render(); - }; - - Bar.prototype.destroy = function() { - try { - this.getElement().parentNode.removeChild(this.getElement()); - } catch (_error) { - NoTargetError = _error; - } - return this.el = void 0; - }; - - Bar.prototype.render = function() { - var el, key, progressStr, transform, _j, _len1, _ref2; - if (document.querySelector(options.target) == null) { - return false; - } - el = this.getElement(); - transform = "translate3d(" + this.progress + "%, 0, 0)"; - _ref2 = ['webkitTransform', 'msTransform', 'transform']; - for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { - key = _ref2[_j]; - el.children[0].style[key] = transform; - } - if (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) { - el.children[0].setAttribute('data-progress-text', "" + (this.progress | 0) + "%"); - if (this.progress >= 100) { - progressStr = '99'; - } else { - progressStr = this.progress < 10 ? "0" : ""; - progressStr += this.progress | 0; - } - el.children[0].setAttribute('data-progress', "" + progressStr); - } - Pace.trigger('change', this.progress); - return this.lastRenderedProgress = this.progress; - }; - - Bar.prototype.done = function() { - return this.progress >= 100; - }; - - return Bar; - - })(); - - Events = (function() { - function Events() { - this.bindings = {}; - } - - Events.prototype.trigger = function(name, val) { - var binding, _j, _len1, _ref2, _results; - if (this.bindings[name] != null) { - _ref2 = this.bindings[name]; - _results = []; - for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { - binding = _ref2[_j]; - _results.push(binding.call(this, val)); - } - return _results; - } - }; - - Events.prototype.on = function(name, fn) { - var _base; - if ((_base = this.bindings)[name] == null) { - _base[name] = []; - } - return this.bindings[name].push(fn); - }; - - return Events; - - })(); - - _XMLHttpRequest = window.XMLHttpRequest; - - _XDomainRequest = window.XDomainRequest; - - _WebSocket = window.WebSocket; - - extendNative = function(to, from) { - var e, key, _results; - _results = []; - for (key in from.prototype) { - try { - if ((to[key] == null) && typeof from[key] !== 'function') { - if (typeof Object.defineProperty === 'function') { - _results.push(Object.defineProperty(to, key, { - get: function() { - return from.prototype[key]; - }, - configurable: true, - enumerable: true - })); - } else { - _results.push(to[key] = from.prototype[key]); - } - } else { - _results.push(void 0); - } - } catch (_error) { - e = _error; - } - } - return _results; - }; - - ignoreStack = []; - - Pace.ignore = function() { - var args, fn, ret; - fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; - ignoreStack.unshift('ignore'); - ret = fn.apply(null, args); - ignoreStack.shift(); - return ret; - }; - - Pace.track = function() { - var args, fn, ret; - fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; - ignoreStack.unshift('track'); - ret = fn.apply(null, args); - ignoreStack.shift(); - return ret; - }; - - shouldTrack = function(method) { - var _ref2; - if (method == null) { - method = 'GET'; - } - if (ignoreStack[0] === 'track') { - return 'force'; - } - if (!ignoreStack.length && options.ajax) { - if (method === 'socket' && options.ajax.trackWebSockets) { - return true; - } else if (_ref2 = method.toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref2) >= 0) { - return true; - } - } - return false; - }; - - RequestIntercept = (function(_super) { - __extends(RequestIntercept, _super); - - function RequestIntercept() { - var monitorXHR, - _this = this; - RequestIntercept.__super__.constructor.apply(this, arguments); - monitorXHR = function(req) { - var _open; - _open = req.open; - return req.open = function(type, url, async) { - if (shouldTrack(type)) { - _this.trigger('request', { - type: type, - url: url, - request: req - }); - } - return _open.apply(req, arguments); - }; - }; - window.XMLHttpRequest = function(flags) { - var req; - req = new _XMLHttpRequest(flags); - monitorXHR(req); - return req; - }; - try { - extendNative(window.XMLHttpRequest, _XMLHttpRequest); - } catch (_error) {} - if (_XDomainRequest != null) { - window.XDomainRequest = function() { - var req; - req = new _XDomainRequest; - monitorXHR(req); - return req; - }; - try { - extendNative(window.XDomainRequest, _XDomainRequest); - } catch (_error) {} - } - if ((_WebSocket != null) && options.ajax.trackWebSockets) { - window.WebSocket = function(url, protocols) { - var req; - if (protocols != null) { - req = new _WebSocket(url, protocols); - } else { - req = new _WebSocket(url); - } - if (shouldTrack('socket')) { - _this.trigger('request', { - type: 'socket', - url: url, - protocols: protocols, - request: req - }); - } - return req; - }; - try { - extendNative(window.WebSocket, _WebSocket); - } catch (_error) {} - } - } - - return RequestIntercept; - - })(Events); - - _intercept = null; - - getIntercept = function() { - if (_intercept == null) { - _intercept = new RequestIntercept; - } - return _intercept; - }; - - shouldIgnoreURL = function(url) { - var pattern, _j, _len1, _ref2; - _ref2 = options.ajax.ignoreURLs; - for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { - pattern = _ref2[_j]; - if (typeof pattern === 'string') { - if (url.indexOf(pattern) !== -1) { - return true; - } - } else { - if (pattern.test(url)) { - return true; - } - } - } - return false; - }; - - getIntercept().on('request', function(_arg) { - var after, args, request, type, url; - type = _arg.type, request = _arg.request, url = _arg.url; - if (shouldIgnoreURL(url)) { - return; - } - if (!Pace.running && (options.restartOnRequestAfter !== false || shouldTrack(type) === 'force')) { - args = arguments; - after = options.restartOnRequestAfter || 0; - if (typeof after === 'boolean') { - after = 0; - } - return setTimeout(function() { - var stillActive, _j, _len1, _ref2, _ref3, _results; - if (type === 'socket') { - stillActive = request.readyState < 1; - } else { - stillActive = (0 < (_ref2 = request.readyState) && _ref2 < 4); - } - if (stillActive) { - Pace.restart(); - _ref3 = Pace.sources; - _results = []; - for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) { - source = _ref3[_j]; - if (source instanceof AjaxMonitor) { - source.watch.apply(source, args); - break; - } else { - _results.push(void 0); - } - } - return _results; - } - }, after); - } - }); - - AjaxMonitor = (function() { - function AjaxMonitor() { - this.complete = __bind(this.complete, this); - var _this = this; - this.elements = []; - getIntercept().on('request', function() { - return _this.watch.apply(_this, arguments); - }); - } - - AjaxMonitor.prototype.watch = function(_arg) { - var request, tracker, type, url; - type = _arg.type, request = _arg.request, url = _arg.url; - if (shouldIgnoreURL(url)) { - return; - } - if (type === 'socket') { - tracker = new SocketRequestTracker(request, this.complete); - } else { - tracker = new XHRRequestTracker(request, this.complete); - } - return this.elements.push(tracker); - }; - - AjaxMonitor.prototype.complete = function(tracker) { - return this.elements = this.elements.filter(function(e) { - return e !== tracker; - }); - }; - - return AjaxMonitor; - - })(); - - XHRRequestTracker = (function() { - function XHRRequestTracker(request, completeCallback) { - var event, size, _j, _len1, _onreadystatechange, _ref2, - _this = this; - this.progress = 0; - if (window.ProgressEvent != null) { - size = null; - addEventListener(request, 'progress', function(evt) { - if (evt.lengthComputable) { - return _this.progress = 100 * evt.loaded / evt.total; - } else { - return _this.progress = _this.progress + (100 - _this.progress) / 2; - } - }, false); - _ref2 = ['load', 'abort', 'timeout', 'error']; - for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { - event = _ref2[_j]; - addEventListener(request, event, function() { - completeCallback(_this); - return _this.progress = 100; - }, false); - } - } else { - _onreadystatechange = request.onreadystatechange; - request.onreadystatechange = function() { - var _ref3; - if ((_ref3 = request.readyState) === 0 || _ref3 === 4) { - completeCallback(_this); - _this.progress = 100; - } else if (request.readyState === 3) { - _this.progress = 50; - } - return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0; - }; - } - } - - return XHRRequestTracker; - - })(); - - SocketRequestTracker = (function() { - function SocketRequestTracker(request, completeCallback) { - var event, _j, _len1, _ref2, - _this = this; - this.progress = 0; - _ref2 = ['error', 'open']; - for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { - event = _ref2[_j]; - addEventListener(request, event, function() { - completeCallback(_this); - return _this.progress = 100; - }, false); - } - } - - return SocketRequestTracker; - - })(); - - ElementMonitor = (function() { - function ElementMonitor(options) { - var selector, _j, _len1, _ref2; - if (options == null) { - options = {}; - } - this.complete = __bind(this.complete, this); - this.elements = []; - if (options.selectors == null) { - options.selectors = []; - } - _ref2 = options.selectors; - for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { - selector = _ref2[_j]; - this.elements.push(new ElementTracker(selector, this.complete)); - } - } - - ElementMonitor.prototype.complete = function(tracker) { - return this.elements = this.elements.filter(function(e) { - return e !== tracker; - }); - }; - - return ElementMonitor; - - })(); - - ElementTracker = (function() { - function ElementTracker(selector, completeCallback) { - this.selector = selector; - this.completeCallback = completeCallback; - this.progress = 0; - this.check(); - } - - ElementTracker.prototype.check = function() { - var _this = this; - if (document.querySelector(this.selector)) { - return this.done(); - } else { - return setTimeout((function() { - return _this.check(); - }), options.elements.checkInterval); - } - }; - - ElementTracker.prototype.done = function() { - this.completeCallback(this); - this.completeCallback = null; - return this.progress = 100; - }; - - return ElementTracker; - - })(); - - DocumentMonitor = (function() { - DocumentMonitor.prototype.states = { - loading: 0, - interactive: 50, - complete: 100 - }; - - function DocumentMonitor() { - var _onreadystatechange, _ref2, - _this = this; - this.progress = (_ref2 = this.states[document.readyState]) != null ? _ref2 : 100; - _onreadystatechange = document.onreadystatechange; - document.onreadystatechange = function() { - if (_this.states[document.readyState] != null) { - _this.progress = _this.states[document.readyState]; - } - return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0; - }; - } - - return DocumentMonitor; - - })(); - - EventLagMonitor = (function() { - function EventLagMonitor() { - var avg, interval, last, points, samples, - _this = this; - this.progress = 0; - avg = 0; - samples = []; - points = 0; - last = now(); - interval = setInterval(function() { - var diff; - diff = now() - last - 50; - last = now(); - samples.push(diff); - if (samples.length > options.eventLag.sampleCount) { - samples.shift(); - } - avg = avgAmplitude(samples); - if (++points >= options.eventLag.minSamples && avg < options.eventLag.lagThreshold) { - _this.progress = 100; - return clearInterval(interval); - } else { - return _this.progress = 100 * (3 / (avg + 3)); - } - }, 50); - } - - return EventLagMonitor; - - })(); - - Scaler = (function() { - function Scaler(source) { - this.source = source; - this.last = this.sinceLastUpdate = 0; - this.rate = options.initialRate; - this.catchup = 0; - this.progress = this.lastProgress = 0; - if (this.source != null) { - this.progress = result(this.source, 'progress'); - } - } - - Scaler.prototype.tick = function(frameTime, val) { - var scaling; - if (val == null) { - val = result(this.source, 'progress'); - } - if (val >= 100) { - this.done = true; - } - if (val === this.last) { - this.sinceLastUpdate += frameTime; - } else { - if (this.sinceLastUpdate) { - this.rate = (val - this.last) / this.sinceLastUpdate; - } - this.catchup = (val - this.progress) / options.catchupTime; - this.sinceLastUpdate = 0; - this.last = val; - } - if (val > this.progress) { - this.progress += this.catchup * frameTime; - } - scaling = 1 - Math.pow(this.progress / 100, options.easeFactor); - this.progress += scaling * this.rate * frameTime; - this.progress = Math.min(this.lastProgress + options.maxProgressPerFrame, this.progress); - this.progress = Math.max(0, this.progress); - this.progress = Math.min(100, this.progress); - this.lastProgress = this.progress; - return this.progress; - }; - - return Scaler; - - })(); - - sources = null; - - scalers = null; - - bar = null; - - uniScaler = null; - - animation = null; - - cancelAnimation = null; - - Pace.running = false; - - handlePushState = function() { - if (options.restartOnPushState) { - return Pace.restart(); - } - }; - - if (window.history.pushState != null) { - _pushState = window.history.pushState; - window.history.pushState = function() { - handlePushState(); - return _pushState.apply(window.history, arguments); - }; - } - - if (window.history.replaceState != null) { - _replaceState = window.history.replaceState; - window.history.replaceState = function() { - handlePushState(); - return _replaceState.apply(window.history, arguments); - }; - } - - SOURCE_KEYS = { - ajax: AjaxMonitor, - elements: ElementMonitor, - document: DocumentMonitor, - eventLag: EventLagMonitor - }; - - (init = function() { - var type, _j, _k, _len1, _len2, _ref2, _ref3, _ref4; - Pace.sources = sources = []; - _ref2 = ['ajax', 'elements', 'document', 'eventLag']; - for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { - type = _ref2[_j]; - if (options[type] !== false) { - sources.push(new SOURCE_KEYS[type](options[type])); - } - } - _ref4 = (_ref3 = options.extraSources) != null ? _ref3 : []; - for (_k = 0, _len2 = _ref4.length; _k < _len2; _k++) { - source = _ref4[_k]; - sources.push(new source(options)); - } - Pace.bar = bar = new Bar; - scalers = []; - return uniScaler = new Scaler; - })(); - - Pace.stop = function() { - Pace.trigger('stop'); - Pace.running = false; - bar.destroy(); - cancelAnimation = true; - if (animation != null) { - if (typeof cancelAnimationFrame === "function") { - cancelAnimationFrame(animation); - } - animation = null; - } - return init(); - }; - - Pace.restart = function() { - Pace.trigger('restart'); - Pace.stop(); - return Pace.start(); - }; - - Pace.go = function() { - var start; - Pace.running = true; - bar.render(); - start = now(); - cancelAnimation = false; - return animation = runAnimation(function(frameTime, enqueueNextFrame) { - var avg, count, done, element, elements, i, j, remaining, scaler, scalerList, sum, _j, _k, _len1, _len2, _ref2; - remaining = 100 - bar.progress; - count = sum = 0; - done = true; - for (i = _j = 0, _len1 = sources.length; _j < _len1; i = ++_j) { - source = sources[i]; - scalerList = scalers[i] != null ? scalers[i] : scalers[i] = []; - elements = (_ref2 = source.elements) != null ? _ref2 : [source]; - for (j = _k = 0, _len2 = elements.length; _k < _len2; j = ++_k) { - element = elements[j]; - scaler = scalerList[j] != null ? scalerList[j] : scalerList[j] = new Scaler(element); - done &= scaler.done; - if (scaler.done) { - continue; - } - count++; - sum += scaler.tick(frameTime); - } - } - avg = sum / count; - bar.update(uniScaler.tick(frameTime, avg)); - if (bar.done() || done || cancelAnimation) { - bar.update(100); - Pace.trigger('done'); - return setTimeout(function() { - bar.finish(); - Pace.running = false; - return Pace.trigger('hide'); - }, Math.max(options.ghostTime, Math.max(options.minTime - (now() - start), 0))); - } else { - return enqueueNextFrame(); - } - }); - }; - - Pace.start = function(_options) { - extend(options, _options); - Pace.running = true; - try { - bar.render(); - } catch (_error) { - NoTargetError = _error; - } - if (!document.querySelector('.pace')) { - return setTimeout(Pace.start, 50); - } else { - Pace.trigger('start'); - return Pace.go(); - } - }; - - if (typeof define === 'function' && define.amd) { - define(function() { - return Pace; - }); - } else if (typeof exports === 'object') { - module.exports = Pace; - } else { - if (options.startOnPageLoad) { - Pace.start(); - } - } - -}).call(this); + var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, Pace, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, addEventListener, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState, + __slice = [].slice, + __hasProp = {}.hasOwnProperty, + __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, + __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + + defaultOptions = { + className: '', + catchupTime: 100, + initialRate: .03, + minTime: 250, + ghostTime: 100, + maxProgressPerFrame: 20, + easeFactor: 1.25, + startOnPageLoad: true, + restartOnPushState: true, + restartOnRequestAfter: 500, + target: 'body', + elements: { + checkInterval: 100, + selectors: ['body'] + }, + eventLag: { + minSamples: 10, + sampleCount: 3, + lagThreshold: 3 + }, + ajax: { + trackMethods: ['GET'], + trackWebSockets: true, + ignoreURLs: [] + } + }; + + now = function() { + var _ref; + return (_ref = typeof performance !== "undefined" && performance !== null ? typeof performance.now === "function" ? performance.now() : void 0 : void 0) != null ? _ref : +(new Date); + }; + + requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; + + cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame; + + addEventListener = function(obj, event, callback) { + return (typeof obj.addEventListener === "function" ? obj.addEventListener(event, callback, false) : void 0) || (obj["on" + event] = callback); + }; + + if (requestAnimationFrame == null) { + requestAnimationFrame = function(fn) { + return setTimeout(fn, 50); + }; + cancelAnimationFrame = function(id) { + return clearTimeout(id); + }; + } + + runAnimation = function(fn) { + var last, tick; + last = now(); + tick = function() { + var diff; + diff = now() - last; + if (diff >= 33) { + last = now(); + return fn(diff, function() { + return requestAnimationFrame(tick); + }); + } else { + return setTimeout(tick, 33 - diff); + } + }; + return tick(); + }; + + result = function() { + var args, key, obj; + obj = arguments[0], key = arguments[1], args = 3 <= arguments.length ? __slice.call(arguments, 2) : []; + if (typeof obj[key] === 'function') { + return obj[key].apply(obj, args); + } else { + return obj[key]; + } + }; + + extend = function() { + var key, out, source, sources, val, _i, _len; + out = arguments[0], sources = 2 <= arguments.length ? __slice.call(arguments, 1) : []; + for (_i = 0, _len = sources.length; _i < _len; _i++) { + source = sources[_i]; + if (source) { + for (key in source) { + if (!__hasProp.call(source, key)) continue; + val = source[key]; + if ((out[key] != null) && typeof out[key] === 'object' && (val != null) && typeof val === 'object') { + extend(out[key], val); + } else { + out[key] = val; + } + } + } + } + return out; + }; + + avgAmplitude = function(arr) { + var count, sum, v, _i, _len; + sum = count = 0; + for (_i = 0, _len = arr.length; _i < _len; _i++) { + v = arr[_i]; + sum += Math.abs(v); + count++; + } + return sum / count; + }; + + getFromDOM = function(key, json) { + var data, e, el; + if (key == null) { + key = 'options'; + } + if (json == null) { + json = true; + } + el = document.querySelector("[data-pace-" + key + "]"); + if (!el) { + return; + } + data = el.getAttribute("data-pace-" + key); + if (!json) { + return data; + } + try { + return JSON.parse(data); + } catch (_error) { + e = _error; + return typeof console !== "undefined" && console !== null ? console.error("Error parsing inline pace options", e) : void 0; + } + }; + + Evented = (function() { + function Evented() {} + + Evented.prototype.on = function(event, handler, ctx, once) { + var _base; + if (once == null) { + once = false; + } + if (this.bindings == null) { + this.bindings = {}; + } + if ((_base = this.bindings)[event] == null) { + _base[event] = []; + } + return this.bindings[event].push({ + handler: handler, + ctx: ctx, + once: once + }); + }; + + Evented.prototype.once = function(event, handler, ctx) { + return this.on(event, handler, ctx, true); + }; + + Evented.prototype.off = function(event, handler) { + var i, _ref, _results; + if (((_ref = this.bindings) != null ? _ref[event] : void 0) == null) { + return; + } + if (handler == null) { + return delete this.bindings[event]; + } else { + i = 0; + _results = []; + while (i < this.bindings[event].length) { + if (this.bindings[event][i].handler === handler) { + _results.push(this.bindings[event].splice(i, 1)); + } else { + _results.push(i++); + } + } + return _results; + } + }; + + Evented.prototype.trigger = function() { + var args, ctx, event, handler, i, once, _ref, _ref1, _results; + event = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; + if ((_ref = this.bindings) != null ? _ref[event] : void 0) { + i = 0; + _results = []; + while (i < this.bindings[event].length) { + _ref1 = this.bindings[event][i], handler = _ref1.handler, ctx = _ref1.ctx, once = _ref1.once; + handler.apply(ctx != null ? ctx : this, args); + if (once) { + _results.push(this.bindings[event].splice(i, 1)); + } else { + _results.push(i++); + } + } + return _results; + } + }; + + return Evented; + + })(); + + Pace = window.Pace || {}; + + window.Pace = Pace; + + extend(Pace, Evented.prototype); + + options = Pace.options = extend({}, defaultOptions, window.paceOptions, getFromDOM()); + + _ref = ['ajax', 'document', 'eventLag', 'elements']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + source = _ref[_i]; + if (options[source] === true) { + options[source] = defaultOptions[source]; + } + } + + NoTargetError = (function(_super) { + __extends(NoTargetError, _super); + + function NoTargetError() { + _ref1 = NoTargetError.__super__.constructor.apply(this, arguments); + return _ref1; + } + + return NoTargetError; + + })(Error); + + Bar = (function() { + function Bar() { + this.progress = 0; + } + + Bar.prototype.getElement = function() { + var targetElement; + if (this.el == null) { + targetElement = document.querySelector(options.target); + if (!targetElement) { + throw new NoTargetError; + } + this.el = document.createElement('div'); + this.el.className = "pace pace-active"; + document.body.className = document.body.className.replace(/(pace-done)|/, 'pace-running'); + var _custom_class_name = (options.className !== '') ? ' '+options.className : ''; + this.el.innerHTML = '
\n
\n
\n
'; + if (targetElement.firstChild != null) { + targetElement.insertBefore(this.el, targetElement.firstChild); + } else { + targetElement.appendChild(this.el); + } + } + return this.el; + }; + + Bar.prototype.finish = function() { + var el; + el = this.getElement(); + el.className = el.className.replace('pace-active', 'pace-inactive'); + return document.body.className = document.body.className.replace('pace-running', 'pace-done'); + }; + + Bar.prototype.update = function(prog) { + this.progress = prog; + return this.render(); + }; + + Bar.prototype.destroy = function() { + try { + this.getElement().parentNode.removeChild(this.getElement()); + } catch (_error) { + NoTargetError = _error; + } + return this.el = void 0; + }; + + Bar.prototype.render = function() { + var el, key, progressStr, transform, _j, _len1, _ref2; + if (document.querySelector(options.target) == null) { + return false; + } + el = this.getElement(); + transform = "translate3d(" + this.progress + "%, 0, 0)"; + _ref2 = ['webkitTransform', 'msTransform', 'transform']; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + key = _ref2[_j]; + el.children[0].style[key] = transform; + } + if (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) { + el.children[0].setAttribute('data-progress-text', "" + (this.progress | 0) + "%"); + if (this.progress >= 100) { + progressStr = '99'; + } else { + progressStr = this.progress < 10 ? "0" : ""; + progressStr += this.progress | 0; + } + el.children[0].setAttribute('data-progress', "" + progressStr); + } + Pace.trigger('change', this.progress); + return this.lastRenderedProgress = this.progress; + }; + + Bar.prototype.done = function() { + return this.progress >= 100; + }; + + return Bar; + + })(); + + Events = (function() { + function Events() { + this.bindings = {}; + } + + Events.prototype.trigger = function(name, val) { + var binding, _j, _len1, _ref2, _results; + if (this.bindings[name] != null) { + _ref2 = this.bindings[name]; + _results = []; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + binding = _ref2[_j]; + _results.push(binding.call(this, val)); + } + return _results; + } + }; + + Events.prototype.on = function(name, fn) { + var _base; + if ((_base = this.bindings)[name] == null) { + _base[name] = []; + } + return this.bindings[name].push(fn); + }; + + return Events; + + })(); + + _XMLHttpRequest = window.XMLHttpRequest; + + _XDomainRequest = window.XDomainRequest; + + _WebSocket = window.WebSocket; + + extendNative = function(to, from) { + var e, key, _results; + _results = []; + for (key in from.prototype) { + try { + if ((to[key] == null) && typeof from[key] !== 'function') { + if (typeof Object.defineProperty === 'function') { + _results.push(Object.defineProperty(to, key, { + get: function() { + return from.prototype[key]; + }, + configurable: true, + enumerable: true + })); + } else { + _results.push(to[key] = from.prototype[key]); + } + } else { + _results.push(void 0); + } + } catch (_error) { + e = _error; + } + } + return _results; + }; + + ignoreStack = []; + + Pace.ignore = function() { + var args, fn, ret; + fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; + ignoreStack.unshift('ignore'); + ret = fn.apply(null, args); + ignoreStack.shift(); + return ret; + }; + + Pace.track = function() { + var args, fn, ret; + fn = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : []; + ignoreStack.unshift('track'); + ret = fn.apply(null, args); + ignoreStack.shift(); + return ret; + }; + + shouldTrack = function(method) { + var _ref2; + if (method == null) { + method = 'GET'; + } + if (ignoreStack[0] === 'track') { + return 'force'; + } + if (!ignoreStack.length && options.ajax) { + if (method === 'socket' && options.ajax.trackWebSockets) { + return true; + } else if (_ref2 = method.toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref2) >= 0) { + return true; + } + } + return false; + }; + + RequestIntercept = (function(_super) { + __extends(RequestIntercept, _super); + + function RequestIntercept() { + var monitorXHR, + _this = this; + RequestIntercept.__super__.constructor.apply(this, arguments); + monitorXHR = function(req) { + var _open; + _open = req.open; + return req.open = function(type, url, async) { + if (shouldTrack(type)) { + _this.trigger('request', { + type: type, + url: url, + request: req + }); + } + return _open.apply(req, arguments); + }; + }; + window.XMLHttpRequest = function(flags) { + var req; + req = new _XMLHttpRequest(flags); + monitorXHR(req); + return req; + }; + try { + extendNative(window.XMLHttpRequest, _XMLHttpRequest); + } catch (_error) {} + if (_XDomainRequest != null) { + window.XDomainRequest = function() { + var req; + req = new _XDomainRequest; + monitorXHR(req); + return req; + }; + try { + extendNative(window.XDomainRequest, _XDomainRequest); + } catch (_error) {} + } + if ((_WebSocket != null) && options.ajax.trackWebSockets) { + window.WebSocket = function(url, protocols) { + var req; + if (protocols != null) { + req = new _WebSocket(url, protocols); + } else { + req = new _WebSocket(url); + } + if (shouldTrack('socket')) { + _this.trigger('request', { + type: 'socket', + url: url, + protocols: protocols, + request: req + }); + } + return req; + }; + try { + extendNative(window.WebSocket, _WebSocket); + } catch (_error) {} + } + } + + return RequestIntercept; + + })(Events); + + _intercept = null; + + getIntercept = function() { + if (_intercept == null) { + _intercept = new RequestIntercept; + } + return _intercept; + }; + + shouldIgnoreURL = function(url) { + var pattern, _j, _len1, _ref2; + _ref2 = options.ajax.ignoreURLs; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + pattern = _ref2[_j]; + if (typeof pattern === 'string') { + if (url.indexOf(pattern) !== -1) { + return true; + } + } else { + if (pattern.test(url)) { + return true; + } + } + } + return false; + }; + + getIntercept().on('request', function(_arg) { + var after, args, request, type, url; + type = _arg.type, request = _arg.request, url = _arg.url; + if (shouldIgnoreURL(url)) { + return; + } + if (!Pace.running && (options.restartOnRequestAfter !== false || shouldTrack(type) === 'force')) { + args = arguments; + after = options.restartOnRequestAfter || 0; + if (typeof after === 'boolean') { + after = 0; + } + return setTimeout(function() { + var stillActive, _j, _len1, _ref2, _ref3, _results; + if (type === 'socket') { + stillActive = request.readyState < 1; + } else { + stillActive = (0 < (_ref2 = request.readyState) && _ref2 < 4); + } + if (stillActive) { + Pace.restart(); + _ref3 = Pace.sources; + _results = []; + for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) { + source = _ref3[_j]; + if (source instanceof AjaxMonitor) { + source.watch.apply(source, args); + break; + } else { + _results.push(void 0); + } + } + return _results; + } + }, after); + } + }); + + AjaxMonitor = (function() { + function AjaxMonitor() { + this.complete = __bind(this.complete, this); + var _this = this; + this.elements = []; + getIntercept().on('request', function() { + return _this.watch.apply(_this, arguments); + }); + } + + AjaxMonitor.prototype.watch = function(_arg) { + var request, tracker, type, url; + type = _arg.type, request = _arg.request, url = _arg.url; + if (shouldIgnoreURL(url)) { + return; + } + if (type === 'socket') { + tracker = new SocketRequestTracker(request, this.complete); + } else { + tracker = new XHRRequestTracker(request, this.complete); + } + return this.elements.push(tracker); + }; + + AjaxMonitor.prototype.complete = function(tracker) { + return this.elements = this.elements.filter(function(e) { + return e !== tracker; + }); + }; + + return AjaxMonitor; + + })(); + + XHRRequestTracker = (function() { + function XHRRequestTracker(request, completeCallback) { + var event, size, _j, _len1, _onreadystatechange, _ref2, + _this = this; + this.progress = 0; + if (window.ProgressEvent != null) { + size = null; + addEventListener(request, 'progress', function(evt) { + if (evt.lengthComputable) { + return _this.progress = 100 * evt.loaded / evt.total; + } else { + return _this.progress = _this.progress + (100 - _this.progress) / 2; + } + }, false); + _ref2 = ['load', 'abort', 'timeout', 'error']; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + event = _ref2[_j]; + addEventListener(request, event, function() { + completeCallback(_this); + return _this.progress = 100; + }, false); + } + } else { + _onreadystatechange = request.onreadystatechange; + request.onreadystatechange = function() { + var _ref3; + if ((_ref3 = request.readyState) === 0 || _ref3 === 4) { + completeCallback(_this); + _this.progress = 100; + } else if (request.readyState === 3) { + _this.progress = 50; + } + return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0; + }; + } + } + + return XHRRequestTracker; + + })(); + + SocketRequestTracker = (function() { + function SocketRequestTracker(request, completeCallback) { + var event, _j, _len1, _ref2, + _this = this; + this.progress = 0; + _ref2 = ['error', 'open']; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + event = _ref2[_j]; + addEventListener(request, event, function() { + completeCallback(_this); + return _this.progress = 100; + }, false); + } + } + + return SocketRequestTracker; + + })(); + + ElementMonitor = (function() { + function ElementMonitor(options) { + var selector, _j, _len1, _ref2; + if (options == null) { + options = {}; + } + this.complete = __bind(this.complete, this); + this.elements = []; + if (options.selectors == null) { + options.selectors = []; + } + _ref2 = options.selectors; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + selector = _ref2[_j]; + this.elements.push(new ElementTracker(selector, this.complete)); + } + } + + ElementMonitor.prototype.complete = function(tracker) { + return this.elements = this.elements.filter(function(e) { + return e !== tracker; + }); + }; + + return ElementMonitor; + + })(); + + ElementTracker = (function() { + function ElementTracker(selector, completeCallback) { + this.selector = selector; + this.completeCallback = completeCallback; + this.progress = 0; + this.check(); + } + + ElementTracker.prototype.check = function() { + var _this = this; + if (document.querySelector(this.selector)) { + return this.done(); + } else { + return setTimeout((function() { + return _this.check(); + }), options.elements.checkInterval); + } + }; + + ElementTracker.prototype.done = function() { + this.completeCallback(this); + this.completeCallback = null; + return this.progress = 100; + }; + + return ElementTracker; + + })(); + + DocumentMonitor = (function() { + DocumentMonitor.prototype.states = { + loading: 0, + interactive: 50, + complete: 100 + }; + + function DocumentMonitor() { + var _onreadystatechange, _ref2, + _this = this; + this.progress = (_ref2 = this.states[document.readyState]) != null ? _ref2 : 100; + _onreadystatechange = document.onreadystatechange; + document.onreadystatechange = function() { + if (_this.states[document.readyState] != null) { + _this.progress = _this.states[document.readyState]; + } + return typeof _onreadystatechange === "function" ? _onreadystatechange.apply(null, arguments) : void 0; + }; + } + + return DocumentMonitor; + + })(); + + EventLagMonitor = (function() { + function EventLagMonitor() { + var avg, interval, last, points, samples, + _this = this; + this.progress = 0; + avg = 0; + samples = []; + points = 0; + last = now(); + interval = setInterval(function() { + var diff; + diff = now() - last - 50; + last = now(); + samples.push(diff); + if (samples.length > options.eventLag.sampleCount) { + samples.shift(); + } + avg = avgAmplitude(samples); + if (++points >= options.eventLag.minSamples && avg < options.eventLag.lagThreshold) { + _this.progress = 100; + return clearInterval(interval); + } else { + return _this.progress = 100 * (3 / (avg + 3)); + } + }, 50); + } + + return EventLagMonitor; + + })(); + + Scaler = (function() { + function Scaler(source) { + this.source = source; + this.last = this.sinceLastUpdate = 0; + this.rate = options.initialRate; + this.catchup = 0; + this.progress = this.lastProgress = 0; + if (this.source != null) { + this.progress = result(this.source, 'progress'); + } + } + + Scaler.prototype.tick = function(frameTime, val) { + var scaling; + if (val == null) { + val = result(this.source, 'progress'); + } + if (val >= 100) { + this.done = true; + } + if (val === this.last) { + this.sinceLastUpdate += frameTime; + } else { + if (this.sinceLastUpdate) { + this.rate = (val - this.last) / this.sinceLastUpdate; + } + this.catchup = (val - this.progress) / options.catchupTime; + this.sinceLastUpdate = 0; + this.last = val; + } + if (val > this.progress) { + this.progress += this.catchup * frameTime; + } + scaling = 1 - Math.pow(this.progress / 100, options.easeFactor); + this.progress += scaling * this.rate * frameTime; + this.progress = Math.min(this.lastProgress + options.maxProgressPerFrame, this.progress); + this.progress = Math.max(0, this.progress); + this.progress = Math.min(100, this.progress); + this.lastProgress = this.progress; + return this.progress; + }; + + return Scaler; + + })(); + + sources = null; + + scalers = null; + + bar = null; + + uniScaler = null; + + animation = null; + + cancelAnimation = null; + + Pace.running = false; + + handlePushState = function() { + if (options.restartOnPushState) { + return Pace.restart(); + } + }; + + if (window.history.pushState != null) { + _pushState = window.history.pushState; + window.history.pushState = function() { + handlePushState(); + return _pushState.apply(window.history, arguments); + }; + } + + if (window.history.replaceState != null) { + _replaceState = window.history.replaceState; + window.history.replaceState = function() { + handlePushState(); + return _replaceState.apply(window.history, arguments); + }; + } + + SOURCE_KEYS = { + ajax: AjaxMonitor, + elements: ElementMonitor, + document: DocumentMonitor, + eventLag: EventLagMonitor + }; + + (init = function() { + var type, _j, _k, _len1, _len2, _ref2, _ref3, _ref4; + Pace.sources = sources = []; + _ref2 = ['ajax', 'elements', 'document', 'eventLag']; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + type = _ref2[_j]; + if (options[type] !== false) { + sources.push(new SOURCE_KEYS[type](options[type])); + } + } + _ref4 = (_ref3 = options.extraSources) != null ? _ref3 : []; + for (_k = 0, _len2 = _ref4.length; _k < _len2; _k++) { + source = _ref4[_k]; + sources.push(new source(options)); + } + Pace.bar = bar = new Bar; + scalers = []; + return uniScaler = new Scaler; + })(); + + Pace.stop = function() { + Pace.trigger('stop'); + Pace.running = false; + bar.destroy(); + cancelAnimation = true; + if (animation != null) { + if (typeof cancelAnimationFrame === "function") { + cancelAnimationFrame(animation); + } + animation = null; + } + return init(); + }; + + Pace.restart = function() { + Pace.trigger('restart'); + Pace.stop(); + return Pace.start(); + }; + + Pace.go = function() { + var start; + Pace.running = true; + bar.render(); + start = now(); + cancelAnimation = false; + return animation = runAnimation(function(frameTime, enqueueNextFrame) { + var avg, count, done, element, elements, i, j, remaining, scaler, scalerList, sum, _j, _k, _len1, _len2, _ref2; + remaining = 100 - bar.progress; + count = sum = 0; + done = true; + for (i = _j = 0, _len1 = sources.length; _j < _len1; i = ++_j) { + source = sources[i]; + scalerList = scalers[i] != null ? scalers[i] : scalers[i] = []; + elements = (_ref2 = source.elements) != null ? _ref2 : [source]; + for (j = _k = 0, _len2 = elements.length; _k < _len2; j = ++_k) { + element = elements[j]; + scaler = scalerList[j] != null ? scalerList[j] : scalerList[j] = new Scaler(element); + done &= scaler.done; + if (scaler.done) { + continue; + } + count++; + sum += scaler.tick(frameTime); + } + } + avg = sum / count; + bar.update(uniScaler.tick(frameTime, avg)); + if (bar.done() || done || cancelAnimation) { + bar.update(100); + Pace.trigger('done'); + return setTimeout(function() { + bar.finish(); + Pace.running = false; + return Pace.trigger('hide'); + }, Math.max(options.ghostTime, Math.max(options.minTime - (now() - start), 0))); + } else { + return enqueueNextFrame(); + } + }); + }; + + Pace.start = function(_options) { + extend(options, _options); + Pace.running = true; + try { + bar.render(); + } catch (_error) { + NoTargetError = _error; + } + if (!document.querySelector('.pace')) { + return setTimeout(Pace.start, 50); + } else { + Pace.trigger('start'); + return Pace.go(); + } + }; + + if (typeof define === 'function' && define.amd) { + define(function() { + return Pace; + }); + } else if (typeof exports === 'object') { + module.exports = Pace; + } else { + if (options.startOnPageLoad) { + Pace.start(); + } + } + +}).call(this); \ No newline at end of file diff --git a/pace.min.js b/pace.min.js index 08a57a09..c5121e28 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1 +1,6 @@ -(function(){var a,c,t,e,o,n,r,s,i,v,u,l,w,p,h,f,d,g,b,k,m,y,S,q,x,L,P,T,R,j,O,E,M,A,C,N,_,F,U,W,X,D,H,I,z,G,B,J,K,Q=[].slice,V={}.hasOwnProperty,Y=function(t,e){for(var n in e)V.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},Z=[].indexOf||function(t){for(var e=0,n=this.length;e\n
\n
\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return(t=this.getElement()).className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running","pace-done")},t.prototype.update=function(t){return this.progress=t,this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){i=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(O.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sO.eventLag.sampleCount&&o.shift(),e=g(o),++s>=O.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,O.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+O.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),k=d=W=b=C=U=null,v.running=!1,P=function(){if(O.restartOnPushState)return v.restart()},null!=window.history.pushState&&(B=window.history.pushState,window.history.pushState=function(){return P(),B.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return P(),K.apply(window.history,arguments)}),l={ajax:a,elements:e,document:t,eventLag:n},(R=function(){var t,e,n,r,s,o,i,u;for(v.sources=U=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e\n
\n
\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return(t=this.getElement()).className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running","pace-done")},t.prototype.update=function(t){return this.progress=t,this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){i=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(O.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sO.eventLag.sampleCount&&o.shift(),e=g(o),++s>=O.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,O.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+O.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),k=d=W=b=C=U=null,v.running=!1,P=function(){if(O.restartOnPushState)return v.restart()},null!=window.history.pushState&&(B=window.history.pushState,window.history.pushState=function(){return P(),B.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return P(),K.apply(window.history,arguments)}),l={ajax:u,elements:e,document:t,eventLag:n},(R=function(){var t,e,n,r,s,o,i,a;for(v.sources=U=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e Date: Mon, 7 Oct 2019 15:21:59 -0400 Subject: [PATCH 34/62] patches --- pace.js | 4 ++-- pace.min.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pace.js b/pace.js index 9a400990..949e7d6e 100644 --- a/pace.js +++ b/pace.js @@ -255,7 +255,7 @@ } this.el = document.createElement('div'); this.el.className = "pace pace-active"; - document.body.className = document.body.className.replace(/(pace-done)|/, 'pace-running'); + document.body.className = document.body.className.replace(/(pace-done )|/, 'pace-running '); var _custom_class_name = (options.className !== '') ? ' '+options.className : ''; this.el.innerHTML = '
\n
\n
\n
'; if (targetElement.firstChild != null) { @@ -271,7 +271,7 @@ var el; el = this.getElement(); el.className = el.className.replace('pace-active', 'pace-inactive'); - return document.body.className = document.body.className.replace('pace-running', 'pace-done'); + return document.body.className = document.body.className.replace('pace-running ', 'pace-done '); }; Bar.prototype.update = function(prog) { diff --git a/pace.min.js b/pace.min.js index c5121e28..6a2664f0 100644 --- a/pace.min.js +++ b/pace.min.js @@ -3,4 +3,4 @@ * https://github.com/EatBreatheCode/pace/ * Licensed MIT © HubSpot, Inc. */ -(function(){var u,c,t,e,o,n,r,s,i,v,a,l,w,p,h,f,d,g,b,k,m,y,S,q,x,L,P,T,R,j,O,E,M,A,C,N,_,F,U,W,X,D,H,I,z,G,B,J,K,Q=[].slice,V={}.hasOwnProperty,Y=function(t,e){for(var n in e)V.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},Z=[].indexOf||function(t){for(var e=0,n=this.length;e\n
\n
\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return(t=this.getElement()).className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running","pace-done")},t.prototype.update=function(t){return this.progress=t,this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){i=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(O.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sO.eventLag.sampleCount&&o.shift(),e=g(o),++s>=O.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,O.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+O.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),k=d=W=b=C=U=null,v.running=!1,P=function(){if(O.restartOnPushState)return v.restart()},null!=window.history.pushState&&(B=window.history.pushState,window.history.pushState=function(){return P(),B.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return P(),K.apply(window.history,arguments)}),l={ajax:u,elements:e,document:t,eventLag:n},(R=function(){var t,e,n,r,s,o,i,a;for(v.sources=U=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e\n
\n\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return(t=this.getElement()).className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running ","pace-done ")},t.prototype.update=function(t){return this.progress=t,this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){i=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(O.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sO.eventLag.sampleCount&&o.shift(),e=g(o),++s>=O.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,O.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+O.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),k=d=W=b=C=U=null,v.running=!1,P=function(){if(O.restartOnPushState)return v.restart()},null!=window.history.pushState&&(B=window.history.pushState,window.history.pushState=function(){return P(),B.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return P(),K.apply(window.history,arguments)}),l={ajax:u,elements:e,document:t,eventLag:n},(R=function(){var t,e,n,r,s,o,i,a;for(v.sources=U=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e Date: Sun, 13 Oct 2019 03:11:33 -0400 Subject: [PATCH 35/62] Update README.md --- README.md | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/README.md b/README.md index 1076a18e..d5bb5f66 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -pace +PACE ==== An automatic web page progress bar. @@ -267,22 +267,6 @@ Issues We have obviously not tested this on every website. If you run into an issue, or find a way the automatic detection could be better, please [create an Issue](https://github.com/EatBreatheCode/pace/issues/new). If you can include a test case, that's even better. -Contributing ------------- - -PRs Welcome! - -Building requires node.js. - -```bash -npm install -grunt -``` - -You can also run `grunt watch` to have it automatically build as you make changes. - -There is no need to include compiled files in PRs. - Credits ------- From 2f5b4b5c308bfc1429d0f0fa8185b97a65d2c9f5 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Sat, 22 Feb 2020 17:09:43 -0500 Subject: [PATCH 36/62] Added a default theme. --- themes/default.css | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 themes/default.css diff --git a/themes/default.css b/themes/default.css new file mode 100644 index 00000000..b096d4b4 --- /dev/null +++ b/themes/default.css @@ -0,0 +1,21 @@ +.pace { + -webkit-pointer-events: none; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.pace-inactive { + display: none; +} + +.pace .pace-progress { + background: #D72630; + position: fixed; + z-index: 2000; + top: 0; + right: 100%; + width: 100%; + height: 2px; +} \ No newline at end of file From 57270d68f74d471f3e3d0bf742138cf2013f377d Mon Sep 17 00:00:00 2001 From: Tim Gates Date: Sat, 5 Sep 2020 07:39:55 +1000 Subject: [PATCH 37/62] docs: Fix simple typo, seperate -> separate There is a small typo in docs/intro.md. Should read `separate` rather than `seperate`. --- docs/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/intro.md b/docs/intro.md index 3578a0ce..6f95930b 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -117,7 +117,7 @@ Elements Elements being rendered to the screen is one way for us to decide that the page has been rendered. If you would like to use that source of information (not required at all), -specify one or more selectors. You can comma seperate the selectors to propertly handle +specify one or more selectors. You can comma separate the selectors to propertly handle error states, where the progress bar should disappear, but the element we are looking for may never appear: From 8a680543e2d244be2334319afa3c2f96b2d75444 Mon Sep 17 00:00:00 2001 From: EatBreatheCode Date: Sun, 6 Sep 2020 19:27:34 -0400 Subject: [PATCH 38/62] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d5bb5f66..d144e9b1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ PACE ==== +[![Latest Release](https://img.shields.io/github/tag/EatBreatheCode/pace.svg?label=version)](https://github.com/EatBreatheCode/pace/releases) An automatic web page progress bar. From 22f6c15419742c95368a004f4bbf967980237b4c Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Tue, 8 Sep 2020 12:34:37 -0400 Subject: [PATCH 39/62] updates --- themes/default.css => pace-theme-default.css | 5 +++++ pace-theme-default.min.css | 6 ++++++ 2 files changed, 11 insertions(+) rename themes/default.css => pace-theme-default.css (72%) create mode 100644 pace-theme-default.min.css diff --git a/themes/default.css b/pace-theme-default.css similarity index 72% rename from themes/default.css rename to pace-theme-default.css index b096d4b4..8331bf99 100644 --- a/themes/default.css +++ b/pace-theme-default.css @@ -1,3 +1,8 @@ +/*! + * pace.js v1.2.1 | Default theme + * https://github.com/EatBreatheCode/pace/ + * Licensed MIT © HubSpot, Inc. + */ .pace { -webkit-pointer-events: none; pointer-events: none; diff --git a/pace-theme-default.min.css b/pace-theme-default.min.css new file mode 100644 index 00000000..24085802 --- /dev/null +++ b/pace-theme-default.min.css @@ -0,0 +1,6 @@ +/*! + * pace.js v1.2.1 | Default theme + * https://github.com/EatBreatheCode/pace/ + * Licensed MIT © HubSpot, Inc. + */ +.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#d72630;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px} From 644d25ed493cc84cce0ac6c78b89287da2f64382 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Tue, 8 Sep 2020 15:11:07 -0400 Subject: [PATCH 40/62] Support for evenet listener on update --- pace.js | 3 ++- pace.min.js | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pace.js b/pace.js index 949e7d6e..bf832119 100644 --- a/pace.js +++ b/pace.js @@ -1,5 +1,5 @@ /*! - * pace.js v1.2.1 + * pace.js v1.2.2 * https://github.com/EatBreatheCode/pace/ * Licensed MIT © HubSpot, Inc. */ @@ -276,6 +276,7 @@ Bar.prototype.update = function(prog) { this.progress = prog; + this.trigger('progress', prog); return this.render(); }; diff --git a/pace.min.js b/pace.min.js index 6a2664f0..c49b610e 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,6 +1,6 @@ /*! - * pace.js v1.2.1 + * pace.js v1.2.2 * https://github.com/EatBreatheCode/pace/ * Licensed MIT © HubSpot, Inc. */ -(function(){var u,c,t,e,o,n,r,s,i,v,a,l,w,p,h,f,d,g,b,k,m,y,S,q,x,L,P,T,R,j,O,E,M,A,C,N,_,F,U,W,X,D,H,I,z,G,B,J,K,Q=[].slice,V={}.hasOwnProperty,Y=function(t,e){for(var n in e)V.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},Z=[].indexOf||function(t){for(var e=0,n=this.length;e\n
\n\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return(t=this.getElement()).className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running ","pace-done ")},t.prototype.update=function(t){return this.progress=t,this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){i=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(O.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sO.eventLag.sampleCount&&o.shift(),e=g(o),++s>=O.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,O.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+O.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),k=d=W=b=C=U=null,v.running=!1,P=function(){if(O.restartOnPushState)return v.restart()},null!=window.history.pushState&&(B=window.history.pushState,window.history.pushState=function(){return P(),B.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return P(),K.apply(window.history,arguments)}),l={ajax:u,elements:e,document:t,eventLag:n},(R=function(){var t,e,n,r,s,o,i,a;for(v.sources=U=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e\n
\n\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return(t=this.getElement()).className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running ","pace-done ")},t.prototype.update=function(t){return this.progress=t,this.trigger('progress',t),this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){i=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(O.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sO.eventLag.sampleCount&&o.shift(),e=g(o),++s>=O.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,O.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+O.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),k=d=W=b=C=U=null,v.running=!1,P=function(){if(O.restartOnPushState)return v.restart()},null!=window.history.pushState&&(B=window.history.pushState,window.history.pushState=function(){return P(),B.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return P(),K.apply(window.history,arguments)}),l={ajax:u,elements:e,document:t,eventLag:n},(R=function(){var t,e,n,r,s,o,i,a;for(v.sources=U=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e Date: Tue, 8 Sep 2020 15:29:00 -0400 Subject: [PATCH 41/62] patches for 1.2.2 --- pace.js | 2 +- pace.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pace.js b/pace.js index bf832119..274f2013 100644 --- a/pace.js +++ b/pace.js @@ -276,7 +276,7 @@ Bar.prototype.update = function(prog) { this.progress = prog; - this.trigger('progress', prog); + Pace.trigger('progress', prog); return this.render(); }; diff --git a/pace.min.js b/pace.min.js index c49b610e..63f27624 100644 --- a/pace.min.js +++ b/pace.min.js @@ -3,4 +3,4 @@ * https://github.com/EatBreatheCode/pace/ * Licensed MIT © HubSpot, Inc. */ -(function(){var u,c,t,e,o,n,r,s,i,v,a,l,w,p,h,f,d,g,b,k,m,y,S,q,x,L,P,T,R,j,O,E,M,A,C,N,_,F,U,W,X,D,H,I,z,G,B,J,K,Q=[].slice,V={}.hasOwnProperty,Y=function(t,e){for(var n in e)V.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},Z=[].indexOf||function(t){for(var e=0,n=this.length;e\n
\n\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return(t=this.getElement()).className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running ","pace-done ")},t.prototype.update=function(t){return this.progress=t,this.trigger('progress',t),this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){i=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(O.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sO.eventLag.sampleCount&&o.shift(),e=g(o),++s>=O.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,O.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+O.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),k=d=W=b=C=U=null,v.running=!1,P=function(){if(O.restartOnPushState)return v.restart()},null!=window.history.pushState&&(B=window.history.pushState,window.history.pushState=function(){return P(),B.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return P(),K.apply(window.history,arguments)}),l={ajax:u,elements:e,document:t,eventLag:n},(R=function(){var t,e,n,r,s,o,i,a;for(v.sources=U=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e\n
\n\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return(t=this.getElement()).className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running ","pace-done ")},t.prototype.update=function(t){return this.progress=t,v.trigger('progress',t),this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){i=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(O.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sO.eventLag.sampleCount&&o.shift(),e=g(o),++s>=O.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,O.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+O.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),k=d=W=b=C=U=null,v.running=!1,P=function(){if(O.restartOnPushState)return v.restart()},null!=window.history.pushState&&(B=window.history.pushState,window.history.pushState=function(){return P(),B.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return P(),K.apply(window.history,arguments)}),l={ajax:u,elements:e,document:t,eventLag:n},(R=function(){var t,e,n,r,s,o,i,a;for(v.sources=U=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e Date: Wed, 4 Nov 2020 13:37:43 -0800 Subject: [PATCH 42/62] fix issue HubSpot/pace#261 by localizing key per loop in extendNative --- pace.coffee | 4 ++-- pace.js | 12 ++++++++---- pace.min.js | 4 ++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pace.coffee b/pace.coffee index c9d6235f..508392bd 100644 --- a/pace.coffee +++ b/pace.coffee @@ -292,8 +292,8 @@ extendNative = (to, from) -> if not to[key]? and typeof from[key] isnt 'function' if typeof Object.defineProperty is 'function' Object.defineProperty(to, key, { - get: -> - return from::[key]; + get: do(key) -> + -> return from::[key]; , configurable: true, enumerable: true }) diff --git a/pace.js b/pace.js index c7efc2fc..65ae9587 100644 --- a/pace.js +++ b/pace.js @@ -245,7 +245,9 @@ this.el = document.createElement('div'); this.el.className = "pace pace-active"; document.body.className = document.body.className.replace(/pace-done/g, ''); - document.body.className += ' pace-running'; + if (!/pace-running/.test(document.body.className)) { + document.body.className += ' pace-running'; + } this.el.innerHTML = '
\n
\n
\n
'; if (targetElement.firstChild != null) { targetElement.insertBefore(this.el, targetElement.firstChild); @@ -356,9 +358,11 @@ if ((to[key] == null) && typeof from[key] !== 'function') { if (typeof Object.defineProperty === 'function') { _results.push(Object.defineProperty(to, key, { - get: function() { - return from.prototype[key]; - }, + get: (function(key) { + return function() { + return from.prototype[key]; + }; + })(key), configurable: true, enumerable: true })); diff --git a/pace.min.js b/pace.min.js index bead1787..412c6bde 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,2 +1,2 @@ -/*! pace 1.0.2 */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file +/*! pace-progress 1.0.2 */ +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],"function"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&"object"==typeof b[a]&&null!=e&&"object"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a="options"),null==b&&(b=!0),e=document.querySelector("[data-pace-"+a+"]")){if(c=e.getAttribute("data-pace-"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];cQ;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),/pace-running/.test(document.body.className)||(document.body.className+=" pace-running"),this.el.innerHTML='
\n
\n
\n
',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace("pace-active",""),a.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d="translate3d("+this.progress+"%, 0, 0)",g=["webkitTransform","msTransform","transform"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute("data-progress-text",""+(0|this.progress)+"%"),this.progress>=100?c="99":(c=this.progress<10?"0":"",c+=0|this.progress),a.children[0].setAttribute("data-progress",""+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&"function"!=typeof b[d]?"function"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(a){return function(){return b.prototype[a]}}(d),configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("ignore"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift("track"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a="GET"),"track"===A[0])return"force";if(!A.length&&D.ajax){if("socket"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger("request",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J("socket")&&c.trigger("request",{type:"socket",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],"string"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on("request",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&"force"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,"boolean"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b="socket"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on("request",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c="socket"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener("progress",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=["load","abort","timeout","error"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),"function"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=["error","open"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),"function"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=["ajax","elements","document","eventLag"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger("stop"),j.running=!1,r.destroy(),s=!0,null!=p&&("function"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger("restart"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger("done"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger("hide")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(".pace")?(j.trigger("start"),j.go()):setTimeout(j.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return j}):"object"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this); \ No newline at end of file From 85236e7c82861642551116f4961339b5382b9943 Mon Sep 17 00:00:00 2001 From: EatBreatheCode Date: Thu, 5 Nov 2020 03:02:34 -0500 Subject: [PATCH 43/62] Update README.md Removal of un-maintained status from readme. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c80b8db4..35167b6f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Disclaimer, We no longer use this library internally and are focusing our efforts on open sourcing and maintaining projects that we do use and can meaningfully contribute to. Sorry for any frustrations with this project (we're happy to link to any fork that has an excited, commited maintainer). +**We're back!** Expect a ton of resolved pull requests, and updates in the very near future. pace ==== From 0b80e14e8c11a0c1d8158c77489cffa4e48e0fd5 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Sun, 15 Nov 2020 17:50:00 -0500 Subject: [PATCH 44/62] Inconsequential spacing fix. --- pace.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pace.js b/pace.js index 07035c84..bbb4cba5 100644 --- a/pace.js +++ b/pace.js @@ -369,9 +369,9 @@ _results.push(Object.defineProperty(to, key, { get: (function(key) { return function() { - return from.prototype[key]; - }; - })(key), + return from.prototype[key]; + }; + })(key), configurable: true, enumerable: true })); From 3437b5a08cf969f28fb3769990ff2182f512fb3d Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Sun, 15 Nov 2020 17:53:16 -0500 Subject: [PATCH 45/62] Marking the new version at 1.2.3 --- pace.js | 2 +- pace.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pace.js b/pace.js index 274f2013..e76fb941 100644 --- a/pace.js +++ b/pace.js @@ -1,5 +1,5 @@ /*! - * pace.js v1.2.2 + * pace.js v1.2.3 * https://github.com/EatBreatheCode/pace/ * Licensed MIT © HubSpot, Inc. */ diff --git a/pace.min.js b/pace.min.js index 63f27624..2ed76e09 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,5 +1,5 @@ /*! - * pace.js v1.2.2 + * pace.js v1.2.3 * https://github.com/EatBreatheCode/pace/ * Licensed MIT © HubSpot, Inc. */ From 4d6ed2b48f2243646fee05ded0367f7c95dd431c Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Sun, 15 Nov 2020 18:50:38 -0500 Subject: [PATCH 46/62] Repository renaming --- README.md | 16 ++++++++-------- pace-theme-default.css | 2 +- pace-theme-default.min.css | 2 +- pace.js | 2 +- pace.min.js | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index d144e9b1..6b43803b 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ PACE ==== -[![Latest Release](https://img.shields.io/github/tag/EatBreatheCode/pace.svg?label=version)](https://github.com/EatBreatheCode/pace/releases) +[![Latest Release](https://img.shields.io/github/tag/CodeByZach/pace.svg?label=version)](https://github.com/CodeByZach/pace/releases) An automatic web page progress bar. -### [Demo](https://eatbreathecode.github.io/pace/) -### [Documentation](https://eatbreathecode.github.io/pace/docs/) +### [Demo](https://codebyzach.github.io/pace/) +### [Documentation](https://codebyzach.github.io/pace/docs/) -Include [pace.js](https://raw.github.com/EatBreatheCode/pace/master/pace.min.js) and the -[theme](https://eatbreathecode.github.io/pace/) css of your choice on your page +Include [pace.js](https://raw.github.com/CodeByZach/pace/master/pace.min.js) and the +[theme](https://codebyzach.github.io/pace/) css of your choice on your page (as early as is possible), and you're done! Pace will automatically monitor your ajax requests, event loop lag, document @@ -66,7 +66,7 @@ define(['pace'], function(pace){ Themes ------ -Pace includes a bunch of [themes](https://eatbreathecode.github.io/pace/) +Pace includes a bunch of [themes](https://codebyzach.github.io/pace/) to get you started. Just include the appropriate css file. Send us a PR with any interesting themes you create. @@ -162,7 +162,7 @@ paceOptions = { You can always trigger a restart manually by calling `Pace.restart()` -See [the source](https://github.com/EatBreatheCode/pace/blob/master/pace.js) for a full list of all options. +See [the source](https://github.com/CodeByZach/pace/blob/master/pace.js) for a full list of all options. API --- @@ -266,7 +266,7 @@ Issues ------ We have obviously not tested this on every website. If you run into an issue, or find a way the automatic -detection could be better, please [create an Issue](https://github.com/EatBreatheCode/pace/issues/new). If you can include a test case, that's even better. +detection could be better, please [create an Issue](https://github.com/CodeByZach/pace/issues/new). If you can include a test case, that's even better. Credits ------- diff --git a/pace-theme-default.css b/pace-theme-default.css index 8331bf99..d52cbe25 100644 --- a/pace-theme-default.css +++ b/pace-theme-default.css @@ -1,6 +1,6 @@ /*! * pace.js v1.2.1 | Default theme - * https://github.com/EatBreatheCode/pace/ + * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ .pace { diff --git a/pace-theme-default.min.css b/pace-theme-default.min.css index 24085802..1ba1cae8 100644 --- a/pace-theme-default.min.css +++ b/pace-theme-default.min.css @@ -1,6 +1,6 @@ /*! * pace.js v1.2.1 | Default theme - * https://github.com/EatBreatheCode/pace/ + * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ .pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#d72630;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px} diff --git a/pace.js b/pace.js index 6abc88e5..2038761f 100644 --- a/pace.js +++ b/pace.js @@ -1,6 +1,6 @@ /*! * pace.js v1.2.3 - * https://github.com/EatBreatheCode/pace/ + * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ (function() { diff --git a/pace.min.js b/pace.min.js index d9cb22b2..40c74bd5 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,6 +1,6 @@ /*! * pace.js v1.2.3 - * https://github.com/EatBreatheCode/pace/ + * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ (function(){function o(t,e){return function(){return t.apply(e,arguments)}}var u,c,i,n,y,t,l,v,r,s,a,e,p,w,b,h,f,d,g,m,k,S,q,x,L,P,T,R,j,O,E,M,A,C,N,_,F,U,W,X,D,H,I,z,G,B=[].slice,J={}.hasOwnProperty,K=function(t,e){for(var n in e)J.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},Q=[].indexOf||function(t){for(var e=0,n=this.length;e\n
\n\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},Z.prototype.finish=function(){var t=this.getElement();return t.className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running ","pace-done ")},Z.prototype.update=function(t){return this.progress=t,y.trigger("progress",t),this.render()},Z.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){n=t}return this.el=void 0},Z.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(P.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sP.eventLag.sampleCount&&o.shift(),e=p(o),++s>=P.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),e=1-Math.pow(this.progress/100,P.easeFactor),this.progress+=e*this.rate*t,this.progress=Math.min(this.lastProgress+P.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},v=ot,b=e=N=w=O=C=null,y.running=!1,S=function(){if(P.restartOnPushState)return y.restart()},null!=window.history.pushState&&(H=window.history.pushState,window.history.pushState=function(){return S(),H.apply(window.history,arguments)}),null!=window.history.replaceState&&(z=window.history.replaceState,window.history.replaceState=function(){return S(),z.apply(window.history,arguments)}),l={ajax:u,elements:G,document:K,eventLag:m},(x=function(){var t,e,n,r,s,o,i,a;for(y.sources=C=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e Date: Fri, 22 Jan 2021 11:41:07 -0500 Subject: [PATCH 47/62] formatting --- README.md | 12 +- package.json | 33 ++ templates/pace-theme-barber-shop.tmpl.css | 116 ++--- templates/pace-theme-big-counter.tmpl.css | 54 +-- templates/pace-theme-bounce.tmpl.css | 402 +++++++++--------- templates/pace-theme-center-atom.tmpl.css | 186 ++++---- templates/pace-theme-center-circle.tmpl.css | 118 ++--- templates/pace-theme-center-radar.tmpl.css | 108 ++--- templates/pace-theme-center-simple.tmpl.css | 76 ++-- .../pace-theme-corner-indicator.tmpl.css | 98 ++--- templates/pace-theme-fill-left.tmpl.css | 28 +- templates/pace-theme-flash.tmpl.css | 104 ++--- templates/pace-theme-flat-top.tmpl.css | 56 +-- templates/pace-theme-loading-bar.tmpl.css | 164 +++---- templates/pace-theme-mac-osx.tmpl.css | 116 ++--- templates/pace-theme-material.tmpl.css | 124 +++--- templates/pace-theme-minimal.tmpl.css | 28 +- 17 files changed, 928 insertions(+), 895 deletions(-) create mode 100644 package.json diff --git a/README.md b/README.md index 6b43803b..1394e81f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ PACE ==== -[![Latest Release](https://img.shields.io/github/tag/CodeByZach/pace.svg?label=version)](https://github.com/CodeByZach/pace/releases) +[![Latest Release](https://img.shields.io/github/tag/CodeByZach/pace.svg?label=version)](https://github.com/CodeByZach/pace/releases/latest) An automatic web page progress bar. @@ -22,8 +22,8 @@ Example ```html - - + + ``` @@ -130,7 +130,7 @@ may never appear: ```javascript paceOptions = { elements: { - selectors: ['.timeline,.timeline-error', '.user-profile,.profile-error'] + selectors: ['.timeline, .timeline-error', '.user-profile, .profile-error'] } } ``` @@ -222,7 +222,7 @@ Pace.options = { You can manually disable tracking for a specific request or requests by triggering them within a `Pace.ignore` callback: ```javascript -Pace.ignore(function(){ +Pace.ignore(function() { $.ajax(...) }); ``` @@ -230,7 +230,7 @@ Pace.ignore(function(){ You can force the progress bar to be shown for a specific request by triggering them within a `Pace.track` callback: ```javascript -Pace.track(function(){ +Pace.track(function() { $.ajax(...) }); ``` diff --git a/package.json b/package.json new file mode 100644 index 00000000..de0cdcac --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "pace", + "version": "1.2.3", + "description": "Automatically add a progress bar to your site.", + "homepage": "https://codebyzach.github.io/pace/", + "authors": [ + "CodeByZach ", + ], + "keywords": [ + "pace", + "pace-js", + "pace.js", + "progress-bar", + "loading-bar", + "loading-indicator", + "loading-animation" + ], + "license": "MIT", + "main": "pace.js", + "repository": { + "type": "git", + "url": "https://github.com/CodeByZach/pace/" + }, + "devDependencies": { + "grunt-contrib-coffee": "~0.7.0", + "coffee-script": "~1.6.3", + "grunt-contrib-uglify": "~0.2.4", + "grunt-cli": "~0.1.9", + "grunt": "~0.4.1", + "grunt-contrib-watch": "~0.5.3", + "color": "~0.4.4" + } +} \ No newline at end of file diff --git a/templates/pace-theme-barber-shop.tmpl.css b/templates/pace-theme-barber-shop.tmpl.css index f1f098a7..25a3555e 100644 --- a/templates/pace-theme-barber-shop.tmpl.css +++ b/templates/pace-theme-barber-shop.tmpl.css @@ -1,84 +1,84 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; - overflow: hidden; - position: fixed; - top: 0; - left: 0; - z-index: 2000; - width: 100%; - height: 12px; - background: #fff; + overflow: hidden; + position: fixed; + top: 0; + left: 0; + z-index: 2000; + width: 100%; + height: 12px; + background: #fff; } .pace-inactive { - display: none; + display: none; } .pace .pace-progress { - background-color: `args.color || "#29d"`; - position: fixed; - top: 0; - bottom: 0; - right: 100%; - width: 100%; - overflow: hidden; - height: 12px; + background-color: `args.color || "#29d"`; + position: fixed; + top: 0; + bottom: 0; + right: 100%; + width: 100%; + overflow: hidden; + height: 12px; } .pace .pace-activity { - position: fixed; - top: 0; - right: -32px; - bottom: 0; - left: 0; - height: 12px; + position: fixed; + top: 0; + right: -32px; + bottom: 0; + left: 0; + height: 12px; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); - background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent)); - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); - background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); - -webkit-background-size: 32px 32px; - -moz-background-size: 32px 32px; - -o-background-size: 32px 32px; - background-size: 32px 32px; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); + -webkit-background-size: 32px 32px; + -moz-background-size: 32px 32px; + -o-background-size: 32px 32px; + background-size: 32px 32px; - -webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite; - -moz-animation: pace-theme-barber-shop-motion 500ms linear infinite; - -ms-animation: pace-theme-barber-shop-motion 500ms linear infinite; - -o-animation: pace-theme-barber-shop-motion 500ms linear infinite; - animation: pace-theme-barber-shop-motion 500ms linear infinite; + -webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite; + -moz-animation: pace-theme-barber-shop-motion 500ms linear infinite; + -ms-animation: pace-theme-barber-shop-motion 500ms linear infinite; + -o-animation: pace-theme-barber-shop-motion 500ms linear infinite; + animation: pace-theme-barber-shop-motion 500ms linear infinite; } @-webkit-keyframes pace-theme-barber-shop-motion { - 0% { -webkit-transform: none; transform: none; } - 100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); } + 0% { -webkit-transform: none; transform: none; } + 100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); } } @-moz-keyframes pace-theme-barber-shop-motion { - 0% { -moz-transform: none; transform: none; } - 100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); } + 0% { -moz-transform: none; transform: none; } + 100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); } } @-o-keyframes pace-theme-barber-shop-motion { - 0% { -o-transform: none; transform: none; } - 100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); } + 0% { -o-transform: none; transform: none; } + 100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); } } @-ms-keyframes pace-theme-barber-shop-motion { - 0% { -ms-transform: none; transform: none; } - 100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); } + 0% { -ms-transform: none; transform: none; } + 100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); } } @keyframes pace-theme-barber-shop-motion { - 0% { transform: none; transform: none; } - 100% { transform: translate(-32px, 0); transform: translate(-32px, 0); } -} + 0% { transform: none; transform: none; } + 100% { transform: translate(-32px, 0); transform: translate(-32px, 0); } +} \ No newline at end of file diff --git a/templates/pace-theme-big-counter.tmpl.css b/templates/pace-theme-big-counter.tmpl.css index eb293405..31121355 100644 --- a/templates/pace-theme-big-counter.tmpl.css +++ b/templates/pace-theme-big-counter.tmpl.css @@ -1,39 +1,39 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .pace.pace-inactive .pace-progress { - display: none; + display: none; } .pace .pace-progress { - position: fixed; - z-index: 2000; - top: 0; - right: 0; - height: 5rem; - width: 5rem; + position: fixed; + z-index: 2000; + top: 0; + right: 0; + height: 5rem; + width: 5rem; - -webkit-transform: translate3d(0, 0, 0) !important; - -ms-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; + -webkit-transform: translate3d(0, 0, 0) !important; + -ms-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; } .pace .pace-progress:after { - display: block; - position: absolute; - top: 0; - right: .5rem; - content: attr(data-progress-text); - font-family: "Helvetica Neue", sans-serif; - font-weight: 100; - font-size: 5rem; - line-height: 1; - text-align: right; - color: `Color(args.color || '#000').clearer(0.8).rgbString()`; -} + display: block; + position: absolute; + top: 0; + right: .5rem; + content: attr(data-progress-text); + font-family: "Helvetica Neue", sans-serif; + font-weight: 100; + font-size: 5rem; + line-height: 1; + text-align: right; + color: `Color(args.color || '#000').clearer(0.8).rgbString()`; +} \ No newline at end of file diff --git a/templates/pace-theme-bounce.tmpl.css b/templates/pace-theme-bounce.tmpl.css index 9c442c49..edafa93e 100644 --- a/templates/pace-theme-bounce.tmpl.css +++ b/templates/pace-theme-bounce.tmpl.css @@ -1,230 +1,230 @@ .pace { - width: 140px; - height: 300px; - position: fixed; - top: -90px; - right: -20px; - z-index: 2000; - -webkit-transform: scale(0); - -moz-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - opacity: 0; - -webkit-transition: all 2s linear 0s; - -moz-transition: all 2s linear 0s; - transition: all 2s linear 0s; + width: 140px; + height: 300px; + position: fixed; + top: -90px; + right: -20px; + z-index: 2000; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); + opacity: 0; + -webkit-transition: all 2s linear 0s; + -moz-transition: all 2s linear 0s; + transition: all 2s linear 0s; } .pace.pace-active { - -webkit-transform: scale(.25); - -moz-transform: scale(.25); - -ms-transform: scale(.25); - -o-transform: scale(.25); - transform: scale(.25); - opacity: 1; + -webkit-transform: scale(.25); + -moz-transform: scale(.25); + -ms-transform: scale(.25); + -o-transform: scale(.25); + transform: scale(.25); + opacity: 1; } .pace .pace-activity { - width: 140px; - height: 140px; - border-radius: 70px; - background: `args.color || "#29d"`; - position: absolute; - top: 0; - z-index: 1911; - -webkit-animation: pace-bounce 1s infinite; - -moz-animation: pace-bounce 1s infinite; - -o-animation: pace-bounce 1s infinite; - -ms-animation: pace-bounce 1s infinite; - animation: pace-bounce 1s infinite; + width: 140px; + height: 140px; + border-radius: 70px; + background: `args.color || "#29d"`; + position: absolute; + top: 0; + z-index: 1911; + -webkit-animation: pace-bounce 1s infinite; + -moz-animation: pace-bounce 1s infinite; + -o-animation: pace-bounce 1s infinite; + -ms-animation: pace-bounce 1s infinite; + animation: pace-bounce 1s infinite; } .pace .pace-progress { - position: absolute; - display: block; - left: 50%; - bottom: 0; - z-index: 1910; - margin-left: -30px; - width: 60px; - height: 75px; - background: rgba(20, 20, 20, .1); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); - border-radius: 30px / 40px; - -webkit-transform: scaleY(.3) !important; - -moz-transform: scaleY(.3) !important; - -ms-transform: scaleY(.3) !important; - -o-transform: scaleY(.3) !important; - transform: scaleY(.3) !important; - -webkit-animation: pace-compress .5s infinite alternate; - -moz-animation: pace-compress .5s infinite alternate; - -o-animation: pace-compress .5s infinite alternate; - -ms-animation: pace-compress .5s infinite alternate; - animation: pace-compress .5s infinite alternate; + position: absolute; + display: block; + left: 50%; + bottom: 0; + z-index: 1910; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -webkit-transform: scaleY(.3) !important; + -moz-transform: scaleY(.3) !important; + -ms-transform: scaleY(.3) !important; + -o-transform: scaleY(.3) !important; + transform: scaleY(.3) !important; + -webkit-animation: pace-compress .5s infinite alternate; + -moz-animation: pace-compress .5s infinite alternate; + -o-animation: pace-compress .5s infinite alternate; + -ms-animation: pace-compress .5s infinite alternate; + animation: pace-compress .5s infinite alternate; } @-webkit-keyframes pace-bounce { - 0% { - top: 0; - -webkit-animation-timing-function: ease-in; - } - 40% {} - 50% { - top: 140px; - height: 140px; - -webkit-animation-timing-function: ease-out; - } - 55% { - top: 160px; - height: 120px; - border-radius: 70px / 60px; - -webkit-animation-timing-function: ease-in; - } - 65% { - top: 120px; - height: 140px; - border-radius: 70px; - -webkit-animation-timing-function: ease-out; - } - 95% { - top: 0; - -webkit-animation-timing-function: ease-in; - } - 100% { - top: 0; - -webkit-animation-timing-function: ease-in; - } + 0% { + top: 0; + -webkit-animation-timing-function: ease-in; + } + 40% {} + 50% { + top: 140px; + height: 140px; + -webkit-animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + -webkit-animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + -webkit-animation-timing-function: ease-out; + } + 95% { + top: 0; + -webkit-animation-timing-function: ease-in; + } + 100% { + top: 0; + -webkit-animation-timing-function: ease-in; + } } @-moz-keyframes pace-bounce { - 0% { - top: 0; - -moz-animation-timing-function: ease-in; - } - 40% {} - 50% { - top: 140px; - height: 140px; - -moz-animation-timing-function: ease-out; - } - 55% { - top: 160px; - height: 120px; - border-radius: 70px / 60px; - -moz-animation-timing-function: ease-in; - } - 65% { - top: 120px; - height: 140px; - border-radius: 70px; - -moz-animation-timing-function: ease-out;} - 95% { - top: 0; - -moz-animation-timing-function: ease-in; - } - 100% {top: 0; - -moz-animation-timing-function: ease-in; - } + 0% { + top: 0; + -moz-animation-timing-function: ease-in; + } + 40% {} + 50% { + top: 140px; + height: 140px; + -moz-animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + -moz-animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + -moz-animation-timing-function: ease-out;} + 95% { + top: 0; + -moz-animation-timing-function: ease-in; + } + 100% {top: 0; + -moz-animation-timing-function: ease-in; + } } @keyframes pace-bounce { - 0% { - top: 0; - animation-timing-function: ease-in; - } - 50% { - top: 140px; - height: 140px; - animation-timing-function: ease-out; - } - 55% { - top: 160px; - height: 120px; - border-radius: 70px / 60px; - animation-timing-function: ease-in; - } - 65% { - top: 120px; - height: 140px; - border-radius: 70px; - animation-timing-function: ease-out; - } - 95% { - top: 0; - animation-timing-function: ease-in; - } - 100% { - top: 0; - animation-timing-function: ease-in; - } + 0% { + top: 0; + animation-timing-function: ease-in; + } + 50% { + top: 140px; + height: 140px; + animation-timing-function: ease-out; + } + 55% { + top: 160px; + height: 120px; + border-radius: 70px / 60px; + animation-timing-function: ease-in; + } + 65% { + top: 120px; + height: 140px; + border-radius: 70px; + animation-timing-function: ease-out; + } + 95% { + top: 0; + animation-timing-function: ease-in; + } + 100% { + top: 0; + animation-timing-function: ease-in; + } } @-webkit-keyframes pace-compress { - 0% { - bottom: 0; - margin-left: -30px; - width: 60px; - height: 75px; - background: rgba(20, 20, 20, .1); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); - border-radius: 30px / 40px; - -webkit-animation-timing-function: ease-in; - } - 100% { - bottom: 30px; - margin-left: -10px; - width: 20px; - height: 5px; - background: rgba(20, 20, 20, .3); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); - border-radius: 20px / 20px; - -webkit-animation-timing-function: ease-out; - } + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -webkit-animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + -webkit-animation-timing-function: ease-out; + } } @-moz-keyframes pace-compress { - 0% { - bottom: 0; - margin-left: -30px; - width: 60px; - height: 75px; - background: rgba(20, 20, 20, .1); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); - border-radius: 30px / 40px; - -moz-animation-timing-function: ease-in; - } - 100% { - bottom: 30px; - margin-left: -10px; - width: 20px; - height: 5px; - background: rgba(20, 20, 20, .3); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); - border-radius: 20px / 20px; - -moz-animation-timing-function: ease-out; - } + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + -moz-animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + -moz-animation-timing-function: ease-out; + } } @keyframes pace-compress { - 0% { - bottom: 0; - margin-left: -30px; - width: 60px; - height: 75px; - background: rgba(20, 20, 20, .1); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); - border-radius: 30px / 40px; - animation-timing-function: ease-in; - } - 100% { - bottom: 30px; - margin-left: -10px; - width: 20px; - height: 5px; - background: rgba(20, 20, 20, .3); - box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); - border-radius: 20px / 20px; - animation-timing-function: ease-out; - } + 0% { + bottom: 0; + margin-left: -30px; + width: 60px; + height: 75px; + background: rgba(20, 20, 20, .1); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .1); + border-radius: 30px / 40px; + animation-timing-function: ease-in; + } + 100% { + bottom: 30px; + margin-left: -10px; + width: 20px; + height: 5px; + background: rgba(20, 20, 20, .3); + box-shadow: 0 0 20px 35px rgba(20, 20, 20, .3); + border-radius: 20px / 20px; + animation-timing-function: ease-out; + } } \ No newline at end of file diff --git a/templates/pace-theme-center-atom.tmpl.css b/templates/pace-theme-center-atom.tmpl.css index b2fd2ce3..8de39f43 100644 --- a/templates/pace-theme-center-atom.tmpl.css +++ b/templates/pace-theme-center-atom.tmpl.css @@ -1,130 +1,130 @@ .pace.pace-inactive { - display: none; + display: none; } .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; - z-index: 2000; - position: fixed; - height: 60px; - width: 100px; - margin: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; + z-index: 2000; + position: fixed; + height: 60px; + width: 100px; + margin: auto; + top: 0; + left: 0; + right: 0; + bottom: 0; } .pace .pace-progress { - z-index: 2000; - position: absolute; - height: 60px; - width: 100px; + z-index: 2000; + position: absolute; + height: 60px; + width: 100px; - -webkit-transform: translate3d(0, 0, 0) !important; - -ms-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; + -webkit-transform: translate3d(0, 0, 0) !important; + -ms-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; } .pace .pace-progress:before { - content: attr(data-progress-text); - text-align: center; - color: #fff; - background: `args.color || "#29d"`; - border-radius: 50%; - font-family: "Helvetica Neue", sans-serif; - font-size: 14px; - font-weight: 100; - line-height: 1; - padding: 20% 0 7px; - width: 50%; - height: 40%; - margin: 10px 0 0 30px; - display: block; - z-index: 999; - position: absolute; + content: attr(data-progress-text); + text-align: center; + color: #fff; + background: `args.color || "#29d"`; + border-radius: 50%; + font-family: "Helvetica Neue", sans-serif; + font-size: 14px; + font-weight: 100; + line-height: 1; + padding: 20% 0 7px; + width: 50%; + height: 40%; + margin: 10px 0 0 30px; + display: block; + z-index: 999; + position: absolute; } .pace .pace-activity { - font-size: 15px; - line-height: 1; - z-index: 2000; - position: absolute; - height: 60px; - width: 100px; + font-size: 15px; + line-height: 1; + z-index: 2000; + position: absolute; + height: 60px; + width: 100px; - display: block; - -webkit-animation: pace-theme-center-atom-spin 2s linear infinite; - -moz-animation: pace-theme-center-atom-spin 2s linear infinite; - -o-animation: pace-theme-center-atom-spin 2s linear infinite; - animation: pace-theme-center-atom-spin 2s linear infinite; + display: block; + -webkit-animation: pace-theme-center-atom-spin 2s linear infinite; + -moz-animation: pace-theme-center-atom-spin 2s linear infinite; + -o-animation: pace-theme-center-atom-spin 2s linear infinite; + animation: pace-theme-center-atom-spin 2s linear infinite; } .pace .pace-activity { - border-radius: 50%; - border: 5px solid `args.color || "#29d"`; - content: ' '; - display: block; - position: absolute; - top: 0; - left: 0; - height: 60px; - width: 100px; + border-radius: 50%; + border: 5px solid `args.color || "#29d"`; + content: ' '; + display: block; + position: absolute; + top: 0; + left: 0; + height: 60px; + width: 100px; } .pace .pace-activity:after { - border-radius: 50%; - border: 5px solid `args.color || "#29d"`; - content: ' '; - display: block; - position: absolute; - top: -5px; - left: -5px; - height: 60px; - width: 100px; + border-radius: 50%; + border: 5px solid `args.color || "#29d"`; + content: ' '; + display: block; + position: absolute; + top: -5px; + left: -5px; + height: 60px; + width: 100px; - -webkit-transform: rotate(60deg); - -moz-transform: rotate(60deg); - -o-transform: rotate(60deg); - transform: rotate(60deg); + -webkit-transform: rotate(60deg); + -moz-transform: rotate(60deg); + -o-transform: rotate(60deg); + transform: rotate(60deg); } .pace .pace-activity:before { - border-radius: 50%; - border: 5px solid `args.color || "#29d"`; - content: ' '; - display: block; - position: absolute; - top: -5px; - left: -5px; - height: 60px; - width: 100px; + border-radius: 50%; + border: 5px solid `args.color || "#29d"`; + content: ' '; + display: block; + position: absolute; + top: -5px; + left: -5px; + height: 60px; + width: 100px; - -webkit-transform: rotate(120deg); - -moz-transform: rotate(120deg); - -o-transform: rotate(120deg); - transform: rotate(120deg); + -webkit-transform: rotate(120deg); + -moz-transform: rotate(120deg); + -o-transform: rotate(120deg); + transform: rotate(120deg); } @-webkit-keyframes pace-theme-center-atom-spin { - 0% { -webkit-transform: rotate(0deg) } - 100% { -webkit-transform: rotate(359deg) } + 0% { -webkit-transform: rotate(0deg) } + 100% { -webkit-transform: rotate(359deg) } } @-moz-keyframes pace-theme-center-atom-spin { - 0% { -moz-transform: rotate(0deg) } - 100% { -moz-transform: rotate(359deg) } + 0% { -moz-transform: rotate(0deg) } + 100% { -moz-transform: rotate(359deg) } } @-o-keyframes pace-theme-center-atom-spin { - 0% { -o-transform: rotate(0deg) } - 100% { -o-transform: rotate(359deg) } + 0% { -o-transform: rotate(0deg) } + 100% { -o-transform: rotate(359deg) } } @keyframes pace-theme-center-atom-spin { - 0% { transform: rotate(0deg) } - 100% { transform: rotate(359deg) } -} + 0% { transform: rotate(0deg) } + 100% { transform: rotate(359deg) } +} \ No newline at end of file diff --git a/templates/pace-theme-center-circle.tmpl.css b/templates/pace-theme-center-circle.tmpl.css index 2493612d..dc327edc 100644 --- a/templates/pace-theme-center-circle.tmpl.css +++ b/templates/pace-theme-center-circle.tmpl.css @@ -1,89 +1,89 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; - -webkit-perspective: 12rem; - -moz-perspective: 12rem; - -ms-perspective: 12rem; - -o-perspective: 12rem; - perspective: 12rem; + -webkit-perspective: 12rem; + -moz-perspective: 12rem; + -ms-perspective: 12rem; + -o-perspective: 12rem; + perspective: 12rem; - z-index: 2000; - position: fixed; - height: 6rem; - width: 6rem; - margin: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; + z-index: 2000; + position: fixed; + height: 6rem; + width: 6rem; + margin: auto; + top: 0; + left: 0; + right: 0; + bottom: 0; } .pace.pace-inactive .pace-progress { - display: none; + display: none; } .pace .pace-progress { - position: fixed; - z-index: 2000; - display: block; - position: absolute; - left: 0; - top: 0; - height: 6rem; - width: 6rem !important; - line-height: 6rem; - font-size: 2rem; - border-radius: 50%; - background: `Color(args.color || '#29d').clearer(0.2).rgbString()`; - color: #fff; - font-family: "Helvetica Neue", sans-serif; - font-weight: 100; - text-align: center; + position: fixed; + z-index: 2000; + display: block; + position: absolute; + left: 0; + top: 0; + height: 6rem; + width: 6rem !important; + line-height: 6rem; + font-size: 2rem; + border-radius: 50%; + background: `Color(args.color || '#29d').clearer(0.2).rgbString()`; + color: #fff; + font-family: "Helvetica Neue", sans-serif; + font-weight: 100; + text-align: center; - -webkit-animation: pace-theme-center-circle-spin linear infinite 2s; - -moz-animation: pace-theme-center-circle-spin linear infinite 2s; - -ms-animation: pace-theme-center-circle-spin linear infinite 2s; - -o-animation: pace-theme-center-circle-spin linear infinite 2s; - animation: pace-theme-center-circle-spin linear infinite 2s; + -webkit-animation: pace-theme-center-circle-spin linear infinite 2s; + -moz-animation: pace-theme-center-circle-spin linear infinite 2s; + -ms-animation: pace-theme-center-circle-spin linear infinite 2s; + -o-animation: pace-theme-center-circle-spin linear infinite 2s; + animation: pace-theme-center-circle-spin linear infinite 2s; - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - -o-transform-style: preserve-3d; - transform-style: preserve-3d; + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + -o-transform-style: preserve-3d; + transform-style: preserve-3d; } .pace .pace-progress:after { - content: attr(data-progress-text); - display: block; + content: attr(data-progress-text); + display: block; } @-webkit-keyframes pace-theme-center-circle-spin { - from { -webkit-transform: rotateY(0deg) } - to { -webkit-transform: rotateY(360deg) } + from { -webkit-transform: rotateY(0deg) } + to { -webkit-transform: rotateY(360deg) } } @-moz-keyframes pace-theme-center-circle-spin { - from { -moz-transform: rotateY(0deg) } - to { -moz-transform: rotateY(360deg) } + from { -moz-transform: rotateY(0deg) } + to { -moz-transform: rotateY(360deg) } } @-ms-keyframes pace-theme-center-circle-spin { - from { -ms-transform: rotateY(0deg) } - to { -ms-transform: rotateY(360deg) } + from { -ms-transform: rotateY(0deg) } + to { -ms-transform: rotateY(360deg) } } @-o-keyframes pace-theme-center-circle-spin { - from { -o-transform: rotateY(0deg) } - to { -o-transform: rotateY(360deg) } + from { -o-transform: rotateY(0deg) } + to { -o-transform: rotateY(360deg) } } @keyframes pace-theme-center-circle-spin { - from { transform: rotateY(0deg) } - to { transform: rotateY(360deg) } -} + from { transform: rotateY(0deg) } + to { transform: rotateY(360deg) } +} \ No newline at end of file diff --git a/templates/pace-theme-center-radar.tmpl.css b/templates/pace-theme-center-radar.tmpl.css index e50db3c1..c79275bc 100644 --- a/templates/pace-theme-center-radar.tmpl.css +++ b/templates/pace-theme-center-radar.tmpl.css @@ -1,81 +1,81 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; - z-index: 2000; - position: fixed; - height: 90px; - width: 90px; - margin: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; + z-index: 2000; + position: fixed; + height: 90px; + width: 90px; + margin: auto; + top: 0; + left: 0; + right: 0; + bottom: 0; } .pace.pace-inactive .pace-activity { - display: none; + display: none; } .pace .pace-activity { - position: fixed; - z-index: 2000; - display: block; - position: absolute; - left: -30px; - top: -30px; - height: 90px; - width: 90px; - display: block; - border-width: 30px; - border-style: double; - border-color: `args.color || "#29d"` transparent transparent; - border-radius: 50%; + position: fixed; + z-index: 2000; + display: block; + position: absolute; + left: -30px; + top: -30px; + height: 90px; + width: 90px; + display: block; + border-width: 30px; + border-style: double; + border-color: `args.color || "#29d"` transparent transparent; + border-radius: 50%; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; - -webkit-animation: spin 1s linear infinite; - -moz-animation: spin 1s linear infinite; - -o-animation: spin 1s linear infinite; - animation: spin 1s linear infinite; + -webkit-animation: spin 1s linear infinite; + -moz-animation: spin 1s linear infinite; + -o-animation: spin 1s linear infinite; + animation: spin 1s linear infinite; } .pace .pace-activity:before { - content: ' '; - position: absolute; - top: 10px; - left: 10px; - height: 50px; - width: 50px; - display: block; - border-width: 10px; - border-style: solid; - border-color: `args.color || "#29d"` transparent transparent; - border-radius: 50%; + content: ' '; + position: absolute; + top: 10px; + left: 10px; + height: 50px; + width: 50px; + display: block; + border-width: 10px; + border-style: solid; + border-color: `args.color || "#29d"` transparent transparent; + border-radius: 50%; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; } @-webkit-keyframes spin { - 100% { -webkit-transform: rotate(359deg); } + 100% { -webkit-transform: rotate(359deg); } } @-moz-keyframes spin { - 100% { -moz-transform: rotate(359deg); } + 100% { -moz-transform: rotate(359deg); } } @-o-keyframes spin { - 100% { -moz-transform: rotate(359deg); } + 100% { -moz-transform: rotate(359deg); } } @keyframes spin { - 100% { transform: rotate(359deg); } -} + 100% { transform: rotate(359deg); } +} \ No newline at end of file diff --git a/templates/pace-theme-center-simple.tmpl.css b/templates/pace-theme-center-simple.tmpl.css index a92c2518..9668f202 100644 --- a/templates/pace-theme-center-simple.tmpl.css +++ b/templates/pace-theme-center-simple.tmpl.css @@ -1,51 +1,51 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; - z-index: 2000; - position: fixed; - margin: auto; - top: 0; - left: 0; - right: 0; - bottom: 0; - height: 5px; - width: 200px; - background: #fff; - border: 1px solid `args.color || "#29d"`; + z-index: 2000; + position: fixed; + margin: auto; + top: 0; + left: 0; + right: 0; + bottom: 0; + height: 5px; + width: 200px; + background: #fff; + border: 1px solid `args.color || "#29d"`; - overflow: hidden; + overflow: hidden; } .pace .pace-progress { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); - max-width: 200px; - position: fixed; - z-index: 2000; - display: block; - position: absolute; - top: 0; - right: 100%; - height: 100%; - width: 100%; - background: `args.color || "#29d"`; + max-width: 200px; + position: fixed; + z-index: 2000; + display: block; + position: absolute; + top: 0; + right: 100%; + height: 100%; + width: 100%; + background: `args.color || "#29d"`; } .pace.pace-inactive { - display: none; + display: none; } \ No newline at end of file diff --git a/templates/pace-theme-corner-indicator.tmpl.css b/templates/pace-theme-corner-indicator.tmpl.css index 22e95982..903839ab 100644 --- a/templates/pace-theme-corner-indicator.tmpl.css +++ b/templates/pace-theme-corner-indicator.tmpl.css @@ -1,72 +1,72 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .pace .pace-activity { - display: block; - position: fixed; - z-index: 2000; - top: 0; - right: 0; - width: 300px; - height: 300px; - background: `args.color || "#29d"`; - -webkit-transition: -webkit-transform 0.3s; - transition: transform 0.3s; - -webkit-transform: translateX(100%) translateY(-100%) rotate(45deg); - transform: translateX(100%) translateY(-100%) rotate(45deg); - pointer-events: none; + display: block; + position: fixed; + z-index: 2000; + top: 0; + right: 0; + width: 300px; + height: 300px; + background: `args.color || "#29d"`; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + -webkit-transform: translateX(100%) translateY(-100%) rotate(45deg); + transform: translateX(100%) translateY(-100%) rotate(45deg); + pointer-events: none; } .pace.pace-active .pace-activity { - -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg); - transform: translateX(50%) translateY(-50%) rotate(45deg); + -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg); + transform: translateX(50%) translateY(-50%) rotate(45deg); } .pace .pace-activity::before, .pace .pace-activity::after { - -moz-box-sizing: border-box; - box-sizing: border-box; - position: absolute; - bottom: 30px; - left: 50%; - display: block; - border: 5px solid #fff; - border-radius: 50%; - content: ''; + -moz-box-sizing: border-box; + box-sizing: border-box; + position: absolute; + bottom: 30px; + left: 50%; + display: block; + border: 5px solid #fff; + border-radius: 50%; + content: ''; } .pace .pace-activity::before { - margin-left: -40px; - width: 80px; - height: 80px; - border-right-color: rgba(0, 0, 0, .2); - border-left-color: rgba(0, 0, 0, .2); - -webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite; - animation: pace-theme-corner-indicator-spin 3s linear infinite; + margin-left: -40px; + width: 80px; + height: 80px; + border-right-color: rgba(0, 0, 0, .2); + border-left-color: rgba(0, 0, 0, .2); + -webkit-animation: pace-theme-corner-indicator-spin 3s linear infinite; + animation: pace-theme-corner-indicator-spin 3s linear infinite; } .pace .pace-activity::after { - bottom: 50px; - margin-left: -20px; - width: 40px; - height: 40px; - border-top-color: rgba(0, 0, 0, .2); - border-bottom-color: rgba(0, 0, 0, .2); - -webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite; - animation: pace-theme-corner-indicator-spin 1s linear infinite; + bottom: 50px; + margin-left: -20px; + width: 40px; + height: 40px; + border-top-color: rgba(0, 0, 0, .2); + border-bottom-color: rgba(0, 0, 0, .2); + -webkit-animation: pace-theme-corner-indicator-spin 1s linear infinite; + animation: pace-theme-corner-indicator-spin 1s linear infinite; } @-webkit-keyframes pace-theme-corner-indicator-spin { - 0% { -webkit-transform: rotate(0deg); } - 100% { -webkit-transform: rotate(359deg); } + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } } @keyframes pace-theme-corner-indicator-spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(359deg); } -} + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} \ No newline at end of file diff --git a/templates/pace-theme-fill-left.tmpl.css b/templates/pace-theme-fill-left.tmpl.css index 0f72cb02..1823df7d 100644 --- a/templates/pace-theme-fill-left.tmpl.css +++ b/templates/pace-theme-fill-left.tmpl.css @@ -1,21 +1,21 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-pointer-events: none; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .pace-inactive { - display: none; + display: none; } .pace .pace-progress { - background-color: `Color(args.color).clearer(0.8).rgbString() || "rgba(0, 0, 0, 0.2)"`; - position: fixed; - z-index: -1; - top: 0; - right: 100%; - bottom: 0; - width: 100%; -} + background-color: `Color(args.color).clearer(0.8).rgbString() || "rgba(0, 0, 0, 0.2)"`; + position: fixed; + z-index: -1; + top: 0; + right: 100%; + bottom: 0; + width: 100%; +} \ No newline at end of file diff --git a/templates/pace-theme-flash.tmpl.css b/templates/pace-theme-flash.tmpl.css index 705fce62..1d64c8cd 100644 --- a/templates/pace-theme-flash.tmpl.css +++ b/templates/pace-theme-flash.tmpl.css @@ -1,76 +1,76 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-pointer-events: none; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .pace-inactive { - display: none; + display: none; } .pace .pace-progress { - background: `args.color || "#29d"`; - position: fixed; - z-index: 2000; - top: 0; - right: 100%; - width: 100%; - height: 2px; + background: `args.color || "#29d"`; + position: fixed; + z-index: 2000; + top: 0; + right: 100%; + width: 100%; + height: 2px; } .pace .pace-progress-inner { - display: block; - position: absolute; - right: 0px; - width: 100px; - height: 100%; - box-shadow: 0 0 10px `args.color || '#29d'`, 0 0 5px `args.color || '#29d'`; - opacity: 1.0; - -webkit-transform: rotate(3deg) translate(0px, -4px); - -moz-transform: rotate(3deg) translate(0px, -4px); - -ms-transform: rotate(3deg) translate(0px, -4px); - -o-transform: rotate(3deg) translate(0px, -4px); - transform: rotate(3deg) translate(0px, -4px); + display: block; + position: absolute; + right: 0px; + width: 100px; + height: 100%; + box-shadow: 0 0 10px `args.color || '#29d'`, 0 0 5px `args.color || '#29d'`; + opacity: 1.0; + -webkit-transform: rotate(3deg) translate(0px, -4px); + -moz-transform: rotate(3deg) translate(0px, -4px); + -ms-transform: rotate(3deg) translate(0px, -4px); + -o-transform: rotate(3deg) translate(0px, -4px); + transform: rotate(3deg) translate(0px, -4px); } .pace .pace-activity { - display: block; - position: fixed; - z-index: 2000; - top: 15px; - right: 15px; - width: 14px; - height: 14px; - border: solid 2px transparent; - border-top-color: `args.color || '#29d'`; - border-left-color: `args.color || '#29d'`; - border-radius: 10px; - -webkit-animation: pace-spinner 400ms linear infinite; - -moz-animation: pace-spinner 400ms linear infinite; - -ms-animation: pace-spinner 400ms linear infinite; - -o-animation: pace-spinner 400ms linear infinite; - animation: pace-spinner 400ms linear infinite; + display: block; + position: fixed; + z-index: 2000; + top: 15px; + right: 15px; + width: 14px; + height: 14px; + border: solid 2px transparent; + border-top-color: `args.color || '#29d'`; + border-left-color: `args.color || '#29d'`; + border-radius: 10px; + -webkit-animation: pace-spinner 400ms linear infinite; + -moz-animation: pace-spinner 400ms linear infinite; + -ms-animation: pace-spinner 400ms linear infinite; + -o-animation: pace-spinner 400ms linear infinite; + animation: pace-spinner 400ms linear infinite; } @-webkit-keyframes pace-spinner { - 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } + 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-moz-keyframes pace-spinner { - 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } + 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } } @-o-keyframes pace-spinner { - 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } + 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } } @-ms-keyframes pace-spinner { - 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } - 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } + 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } + 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes pace-spinner { - 0% { transform: rotate(0deg); transform: rotate(0deg); } - 100% { transform: rotate(360deg); transform: rotate(360deg); } -} + 0% { transform: rotate(0deg); transform: rotate(0deg); } + 100% { transform: rotate(360deg); transform: rotate(360deg); } +} \ No newline at end of file diff --git a/templates/pace-theme-flat-top.tmpl.css b/templates/pace-theme-flat-top.tmpl.css index 938922a9..197a91ad 100644 --- a/templates/pace-theme-flat-top.tmpl.css +++ b/templates/pace-theme-flat-top.tmpl.css @@ -1,40 +1,40 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; - position: fixed; - top: 0; - left: 0; - width: 100%; + position: fixed; + top: 0; + left: 0; + width: 100%; - -webkit-transform: translate3d(0, -50px, 0); - -ms-transform: translate3d(0, -50px, 0); - transform: translate3d(0, -50px, 0); + -webkit-transform: translate3d(0, -50px, 0); + -ms-transform: translate3d(0, -50px, 0); + transform: translate3d(0, -50px, 0); - -webkit-transition: transform .5s ease-out; - -ms-transition: transform .5s ease-out; - transition: transform .5s ease-out; + -webkit-transition: transform .5s ease-out; + -ms-transition: transform .5s ease-out; + transition: transform .5s ease-out; } .pace.pace-active { - -webkit-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } .pace .pace-progress { - display: block; - position: fixed; - z-index: 2000; - top: 0; - right: 100%; - width: 100%; - height: 10px; - background: `args.color || "#29d"`; + display: block; + position: fixed; + z-index: 2000; + top: 0; + right: 100%; + width: 100%; + height: 10px; + background: `args.color || "#29d"`; - pointer-events: none; -} + pointer-events: none; +} \ No newline at end of file diff --git a/templates/pace-theme-loading-bar.tmpl.css b/templates/pace-theme-loading-bar.tmpl.css index 04438400..5a604c1b 100644 --- a/templates/pace-theme-loading-bar.tmpl.css +++ b/templates/pace-theme-loading-bar.tmpl.css @@ -1,104 +1,104 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; - - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; - - -webkit-border-radius: 10px; - -moz-border-radius: 10px; - border-radius: 10px; - - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - - z-index: 2000; - position: fixed; - margin: auto; - top: 12px; - left: 0; - right: 0; - bottom: 0; - width: 200px; - height: 50px; - overflow: hidden; + -webkit-pointer-events: none; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + z-index: 2000; + position: fixed; + margin: auto; + top: 12px; + left: 0; + right: 0; + bottom: 0; + width: 200px; + height: 50px; + overflow: hidden; } .pace .pace-progress { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; - - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - - display: block; - position: absolute; - right: 100%; - margin-right: -7px; - width: 93%; - top: 7px; - height: 14px; - font-size: 12px; - background: `args.color || "#29d"`; - color: `args.color || "#29d"`; - line-height: 60px; - font-weight: bold; - font-family: Helvetica, Arial, "Lucida Grande", sans-serif; - - -webkit-box-shadow: 120px 0 #fff, 240px 0 #fff; - -ms-box-shadow: 120px 0 #fff, 240px 0 #fff; - box-shadow: 120px 0 #fff, 240px 0 #fff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + + display: block; + position: absolute; + right: 100%; + margin-right: -7px; + width: 93%; + top: 7px; + height: 14px; + font-size: 12px; + background: `args.color || "#29d"`; + color: `args.color || "#29d"`; + line-height: 60px; + font-weight: bold; + font-family: Helvetica, Arial, "Lucida Grande", sans-serif; + + -webkit-box-shadow: 120px 0 #fff, 240px 0 #fff; + -ms-box-shadow: 120px 0 #fff, 240px 0 #fff; + box-shadow: 120px 0 #fff, 240px 0 #fff; } .pace .pace-progress:after { - content: attr(data-progress-text); - display: inline-block; - position: fixed; - width: 45px; - text-align: right; - right: 0; - padding-right: 16px; - top: 4px; + content: attr(data-progress-text); + display: inline-block; + position: fixed; + width: 45px; + text-align: right; + right: 0; + padding-right: 16px; + top: 4px; } ` var out = ''; for (var i = 0; i < 101 ; i++) { - out += ".pace .pace-progress[data-progress-text=\"" + i + "%\"]:after { right: -" + (200 - (i * 2) + ((i * 14) / 100)) + "px }\n"; + out += ".pace .pace-progress[data-progress-text=\"" + i + "%\"]:after { right: -" + (200 - (i * 2) + ((i * 14) / 100)) + "px }\n"; } out ` .pace .pace-activity { - position: absolute; - width: 100%; - height: 28px; - z-index: 2001; - box-shadow: inset 0 0 0 2px `args.color || "#29d"`, inset 0 0 0 7px #FFF; - border-radius: 10px; + position: absolute; + width: 100%; + height: 28px; + z-index: 2001; + box-shadow: inset 0 0 0 2px `args.color || "#29d"`, inset 0 0 0 7px #FFF; + border-radius: 10px; } .pace.pace-inactive { - display: none; -} + display: none; +} \ No newline at end of file diff --git a/templates/pace-theme-mac-osx.tmpl.css b/templates/pace-theme-mac-osx.tmpl.css index b3145243..c91226a6 100644 --- a/templates/pace-theme-mac-osx.tmpl.css +++ b/templates/pace-theme-mac-osx.tmpl.css @@ -1,86 +1,86 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; - overflow: hidden; - position: fixed; - top: 0; - left: 0; - z-index: 2000; - width: 100%; - height: 12px; - background: #fff; + overflow: hidden; + position: fixed; + top: 0; + left: 0; + z-index: 2000; + width: 100%; + height: 12px; + background: #fff; } .pace-inactive { - display: none; + display: none; } .pace .pace-progress { - background-color: `Color(args.color || "#29d").darken(.2).saturate(.65).hexString();`; - position: fixed; - top: 0; - right: 100%; - width: 100%; - height: 12px; - overflow: hidden; + background-color: `Color(args.color || "#29d").darken(.2).saturate(.65).hexString();`; + position: fixed; + top: 0; + right: 100%; + width: 100%; + height: 12px; + overflow: hidden; - -webkit-border-radius: 0 0 4px 0; - -moz-border-radius: 0 0 4px 0; - -o-border-radius: 0 0 4px 0; - border-radius: 0 0 4px 0; + -webkit-border-radius: 0 0 4px 0; + -moz-border-radius: 0 0 4px 0; + -o-border-radius: 0 0 4px 0; + border-radius: 0 0 4px 0; - -webkit-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); - -moz-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); - -o-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); - box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); + -webkit-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); + -moz-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); + -o-box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); + box-shadow: inset -1px 0 `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 -1px `Color(args.color || "#29d").darken(.5).saturate(.7).hexString();`, inset 0 2px rgba(255, 255, 255, 0.5), inset 0 6px rgba(255, 255, 255, .3); } .pace .pace-activity { - position: fixed; - top: 0; - left: 0; - right: -28px; - bottom: 0; + position: fixed; + top: 0; + left: 0; + right: -28px; + bottom: 0; - -webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); - -moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); - -o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); - background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); + -webkit-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); + -moz-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); + -o-background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); + background-image: radial-gradient(rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, .15) 100%); - -webkit-background-size: 28px 100%; - -moz-background-size: 28px 100%; - -o-background-size: 28px 100%; - background-size: 28px 100%; + -webkit-background-size: 28px 100%; + -moz-background-size: 28px 100%; + -o-background-size: 28px 100%; + background-size: 28px 100%; - -webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite; - -moz-animation: pace-theme-mac-osx-motion 500ms linear infinite; - -ms-animation: pace-theme-mac-osx-motion 500ms linear infinite; - -o-animation: pace-theme-mac-osx-motion 500ms linear infinite; - animation: pace-theme-mac-osx-motion 500ms linear infinite; + -webkit-animation: pace-theme-mac-osx-motion 500ms linear infinite; + -moz-animation: pace-theme-mac-osx-motion 500ms linear infinite; + -ms-animation: pace-theme-mac-osx-motion 500ms linear infinite; + -o-animation: pace-theme-mac-osx-motion 500ms linear infinite; + animation: pace-theme-mac-osx-motion 500ms linear infinite; } @-webkit-keyframes pace-theme-mac-osx-motion { - 0% { -webkit-transform: none; transform: none; } - 100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); } + 0% { -webkit-transform: none; transform: none; } + 100% { -webkit-transform: translate(-28px, 0); transform: translate(-28px, 0); } } @-moz-keyframes pace-theme-mac-osx-motion { - 0% { -moz-transform: none; transform: none; } - 100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); } + 0% { -moz-transform: none; transform: none; } + 100% { -moz-transform: translate(-28px, 0); transform: translate(-28px, 0); } } @-o-keyframes pace-theme-mac-osx-motion { - 0% { -o-transform: none; transform: none; } - 100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); } + 0% { -o-transform: none; transform: none; } + 100% { -o-transform: translate(-28px, 0); transform: translate(-28px, 0); } } @-ms-keyframes pace-theme-mac-osx-motion { - 0% { -ms-transform: none; transform: none; } - 100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); } + 0% { -ms-transform: none; transform: none; } + 100% { -ms-transform: translate(-28px, 0); transform: translate(-28px, 0); } } @keyframes pace-theme-mac-osx-motion { - 0% { transform: none; transform: none; } - 100% { transform: translate(-28px, 0); transform: translate(-28px, 0); } -} + 0% { transform: none; transform: none; } + 100% { transform: translate(-28px, 0); transform: translate(-28px, 0); } +} \ No newline at end of file diff --git a/templates/pace-theme-material.tmpl.css b/templates/pace-theme-material.tmpl.css index 82c18b08..0ed4eb0a 100644 --- a/templates/pace-theme-material.tmpl.css +++ b/templates/pace-theme-material.tmpl.css @@ -1,88 +1,88 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - color: `args.color || "#2196F3"`; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: `args.color || "#2196F3"`; } .pace-progress { - position: fixed; - z-index: 2000; - top: 50%; - left: 50%; - margin-left: -2.5rem; - margin-top: -2.5rem; - height: 5rem; - width: 5rem; - opacity: 1; - -webkit-transition: opacity 0.1s; - transition: opacity 0.1s; + position: fixed; + z-index: 2000; + top: 50%; + left: 50%; + margin-left: -2.5rem; + margin-top: -2.5rem; + height: 5rem; + width: 5rem; + opacity: 1; + -webkit-transition: opacity 0.1s; + transition: opacity 0.1s; - -webkit-transform: translate3d(0, 0, 0) !important; - -ms-transform: translate3d(0, 0, 0) !important; - transform: translate3d(0, 0, 0) !important; + -webkit-transform: translate3d(0, 0, 0) !important; + -ms-transform: translate3d(0, 0, 0) !important; + transform: translate3d(0, 0, 0) !important; } .pace-inactive .pace-progress, .pace-progress[data-progress="00"] { - opacity: 0; + opacity: 0; } .pace-progress:after { - height: 5rem; - width: 5rem; - text-align: center; - line-height: 5rem; - content: attr(data-progress); - display: block; - font-size: 1.8rem; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: 300; + height: 5rem; + width: 5rem; + text-align: center; + line-height: 5rem; + content: attr(data-progress); + display: block; + font-size: 1.8rem; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-weight: 300; } .pace-progress .pace-progress-inner { - overflow: hidden; - position: absolute; - width: 2.5rem; - height: 5rem; - -webkit-transform-origin: left center; - -ms-transform-origin: left center; - transform-origin: left center; - -webkit-transition: -webkit-transform 0.1s; - transition: transform 0.1s; - left: 2.5rem; - top: 0; + overflow: hidden; + position: absolute; + width: 2.5rem; + height: 5rem; + -webkit-transform-origin: left center; + -ms-transform-origin: left center; + transform-origin: left center; + -webkit-transition: -webkit-transform 0.1s; + transition: transform 0.1s; + left: 2.5rem; + top: 0; } .pace-progress .pace-progress-inner:before, .pace-progress .pace-progress-inner:after { - position: absolute; - width: 5rem; - height: 5rem; - content: ' '; - left: -2.5rem; - top: 0; - box-sizing: border-box; - border: 1px solid; - border-radius: 5rem; + position: absolute; + width: 5rem; + height: 5rem; + content: ' '; + left: -2.5rem; + top: 0; + box-sizing: border-box; + border: 1px solid; + border-radius: 5rem; } .pace-progress .pace-progress-inner:before { - border-right-color: transparent; - border-bottom-color: transparent; - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); + border-right-color: transparent; + border-bottom-color: transparent; + -webkit-transform: rotate(135deg); + -ms-transform: rotate(135deg); + transform: rotate(135deg); } .pace-progress .pace-progress-inner:after { - border-left-color: transparent; - border-top-color: transparent; - display: none; - -webkit-transform: rotate(315deg); - -ms-transform: rotate(315deg); - transform: rotate(315deg); + border-left-color: transparent; + border-top-color: transparent; + display: none; + -webkit-transform: rotate(315deg); + -ms-transform: rotate(315deg); + transform: rotate(315deg); } .pace-progress[data-progress="00"] .pace-progress-inner:before { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); } diff --git a/templates/pace-theme-minimal.tmpl.css b/templates/pace-theme-minimal.tmpl.css index 815a31da..2396868b 100644 --- a/templates/pace-theme-minimal.tmpl.css +++ b/templates/pace-theme-minimal.tmpl.css @@ -1,22 +1,22 @@ .pace { - -webkit-pointer-events: none; - pointer-events: none; + -webkit-pointer-events: none; + pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .pace-inactive { - display: none; + display: none; } .pace .pace-progress { - background: `args.color || "#29d"`; - position: fixed; - z-index: 2000; - top: 0; - right: 100%; - width: 100%; - height: 2px; -} + background: `args.color || "#29d"`; + position: fixed; + z-index: 2000; + top: 0; + right: 100%; + width: 100%; + height: 2px; +} \ No newline at end of file From e1a74a3e837903ee1f436c3c20c47dbc6736ca22 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Wed, 10 Feb 2021 16:29:55 -0500 Subject: [PATCH 48/62] npm package update --- README.md | 2 +- package.json | 33 ++++++++++++++------------------- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 1394e81f..e995df44 100644 --- a/README.md +++ b/README.md @@ -162,7 +162,7 @@ paceOptions = { You can always trigger a restart manually by calling `Pace.restart()` -See [the source](https://github.com/CodeByZach/pace/blob/master/pace.js) for a full list of all options. +See [the source](https://github.com/CodeByZach/pace/blob/master/pace.js) for a full list of options. API --- diff --git a/package.json b/package.json index de0cdcac..b6ea6c69 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,15 @@ { - "name": "pace", + "name": "pace-js", "version": "1.2.3", "description": "Automatically add a progress bar to your site.", - "homepage": "https://codebyzach.github.io/pace/", - "authors": [ - "CodeByZach ", - ], + "main": "pace.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/CodeByZach/pace.git" + }, "keywords": [ "pace", "pace-js", @@ -15,19 +19,10 @@ "loading-indicator", "loading-animation" ], + "author": "CodeByZach ", "license": "MIT", - "main": "pace.js", - "repository": { - "type": "git", - "url": "https://github.com/CodeByZach/pace/" + "bugs": { + "url": "https://github.com/CodeByZach/pace/issues" }, - "devDependencies": { - "grunt-contrib-coffee": "~0.7.0", - "coffee-script": "~1.6.3", - "grunt-contrib-uglify": "~0.2.4", - "grunt-cli": "~0.1.9", - "grunt": "~0.4.1", - "grunt-contrib-watch": "~0.5.3", - "color": "~0.4.4" - } -} \ No newline at end of file + "homepage": "https://github.com/CodeByZach/pace#readme" +} From e44c4d8427fc45d6d9afa347fb411dcf40fffebd Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Wed, 10 Feb 2021 17:05:19 -0500 Subject: [PATCH 49/62] npm config --- package-lock.json | 13 +++++++++++++ package.json | 3 +++ 2 files changed, 16 insertions(+) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..874d0bda --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "pace-js", + "version": "1.2.3", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "pace-js", + "version": "1.2.3", + "license": "MIT" + } + } +} diff --git a/package.json b/package.json index b6ea6c69..54030cf0 100644 --- a/package.json +++ b/package.json @@ -24,5 +24,8 @@ "bugs": { "url": "https://github.com/CodeByZach/pace/issues" }, + "publishConfig": { + "registry": "https://npm.pkg.github.com" + }, "homepage": "https://github.com/CodeByZach/pace#readme" } From 255d11d99747f789adfac55097e3aaa66cbb5401 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Wed, 10 Feb 2021 17:15:01 -0500 Subject: [PATCH 50/62] npm --- package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/package.json b/package.json index 54030cf0..b6ea6c69 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,5 @@ "bugs": { "url": "https://github.com/CodeByZach/pace/issues" }, - "publishConfig": { - "registry": "https://npm.pkg.github.com" - }, "homepage": "https://github.com/CodeByZach/pace#readme" } From be90d0459cb9db1f9e6630f172eea1ee7cc638fd Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 15 Feb 2021 20:38:29 -0500 Subject: [PATCH 51/62] Updated docs --- README.md | 9 +++++---- pace-theme-default.css | 2 +- pace-theme-default.min.css | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e995df44..24382f0a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ An automatic web page progress bar. ### [Demo](https://codebyzach.github.io/pace/) ### [Documentation](https://codebyzach.github.io/pace/docs/) -Include [pace.js](https://raw.github.com/CodeByZach/pace/master/pace.min.js) and the +Include [pace.js](https://cdn.jsdelivr.net/npm/pace-js@latest/pace.min.js) and the [theme](https://codebyzach.github.io/pace/) css of your choice on your page (as early as is possible), and you're done! @@ -22,8 +22,8 @@ Example ```html - - + + ``` @@ -50,7 +50,7 @@ paceOptions = { You can also put options on the script tag: ```html - + ``` If you're using AMD or Browserify, you can pass your options to `start`: @@ -272,6 +272,7 @@ Credits ------- [HubSpot](http://dev.hubspot.com) +[CodeByZach](https://github.com/CodeByZach) Javascript by [Zack Bloom](http://twitter.com/zackbloom) CSS by [Adam Schwartz](http://twitter.com/adamfschwartz) diff --git a/pace-theme-default.css b/pace-theme-default.css index d52cbe25..d9405a10 100644 --- a/pace-theme-default.css +++ b/pace-theme-default.css @@ -1,5 +1,5 @@ /*! - * pace.js v1.2.1 | Default theme + * pace.js v1.2.3 | Default theme * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ diff --git a/pace-theme-default.min.css b/pace-theme-default.min.css index 1ba1cae8..287907af 100644 --- a/pace-theme-default.min.css +++ b/pace-theme-default.min.css @@ -1,5 +1,5 @@ /*! - * pace.js v1.2.1 | Default theme + * pace.js v1.2.3 | Default theme * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ From d326cd0c4038e60eafb058449ef7e0715f100e09 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Mon, 15 Feb 2021 21:06:41 -0500 Subject: [PATCH 52/62] readme --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 24382f0a..3aec3335 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Include [pace.js](https://cdn.jsdelivr.net/npm/pace-js@latest/pace.min.js) and t (as early as is possible), and you're done! Pace will automatically monitor your ajax requests, event loop lag, document -ready state, and elements on your page to decide the progress. On ajax navigation +ready state, and elements on your page to decide the progress. On ajax navigation it will begin again! If you use AMD or Browserify, require pace.js and call `pace.start()` as early in the loading process as is possible. @@ -67,7 +67,7 @@ Themes ------ Pace includes a bunch of [themes](https://codebyzach.github.io/pace/) -to get you started. Just include the appropriate css file. Send us a PR with +to get you started. Just include the appropriate css file. Send us a PR with any interesting themes you create. If you have minor styling changes and don't want to extend theme css, you can add custom class names to @@ -82,7 +82,7 @@ paceOptions = { Collectors ---------- -Collectors are the bits of code which gather progress information. Pace includes four default collectors: +Collectors are the bits of code which gather progress information. Pace includes four default collectors: - Ajax @@ -113,17 +113,17 @@ paceOptions = { }; ``` -Add your own classes to `paceOptions.extraSources` to add more sources. Each source should either +Add your own classes to `paceOptions.extraSources` to add more sources. Each source should either have a `.progress` property, or a `.elements` property which is a list of objects with -`.progress` properties. Pace will automatically handle all scaling to make the progress +`.progress` properties. Pace will automatically handle all scaling to make the progress changes look smooth to the user. Elements -------- Elements being rendered to the screen is one way for us to decide that the page has been -rendered. If you would like to use that source of information (not required at all), -specify one or more selectors. You can comma separate the selectors to propertly handle +rendered. If you would like to use that source of information (not required at all), +specify one or more selectors. You can comma separate the selectors to propertly handle error states, where the progress bar should disappear, but the element we are looking for may never appear: @@ -135,7 +135,7 @@ paceOptions = { } ``` -Pace will consider the elements test successful when each selector matches something. For +Pace will consider the elements test successful when each selector matches something. For this example, when either `.timeline` or `.timeline-error` exist, and either `.user-profile` or `.profile-error` exist. @@ -143,7 +143,7 @@ Restart Rules ------------- Most users want the progress bar to automatically restart when a pushState event occurs -(generally means ajax navigation is occuring). You can disable this: +(generally means ajax navigation is occuring). You can disable this: ```javascript paceOptions = { @@ -151,7 +151,7 @@ paceOptions = { } ``` -You can also have pace restart on every ajax request which lasts longer than x ms. You'll want to +You can also have pace restart on every ajax request which lasts longer than x ms. You'll want to disable this if you make ajax requests the user doesn't need to know about, like precaching: ```javascript @@ -169,9 +169,9 @@ API Pace exposes the following methods: -- `Pace.start`: Show the progress bar and start updating. Called automatically if you don't use AMD or CommonJS. +- `Pace.start`: Show the progress bar and start updating. Called automatically if you don't use AMD or CommonJS. -- `Pace.restart`: Show the progress bar if it's hidden and start reporting the progress from scratch. Called automatically +- `Pace.restart`: Show the progress bar if it's hidden and start reporting the progress from scratch. Called automatically whenever `pushState` or `replaceState` is called by default. - `Pace.stop`: Hide the progress bar and stop updating it. @@ -254,19 +254,19 @@ Support ------- Pace is designed to support IE8+ (standards mode), FF 3.5+, Chrome, Safari 4+, Opera 10.5+, and all modern -mobile browsers. If you run into a compatibility issue, or can make a case for supporting something else, +mobile browsers. If you run into a compatibility issue, or can make a case for supporting something else, please create an issue. Size ---- -pace.js is 4kb minified and gzipped. The themes vary between 0.5 and 4kb. +pace.js is 4kb minified and gzipped. The themes vary between 0.5 and 4kb. Issues ------ -We have obviously not tested this on every website. If you run into an issue, or find a way the automatic -detection could be better, please [create an Issue](https://github.com/CodeByZach/pace/issues/new). If you can include a test case, that's even better. +We have obviously not tested this on every website. If you run into an issue, or find a way the automatic +detection could be better, please [create an Issue](https://github.com/CodeByZach/pace/issues/new). If you can include a test case, that's even better. Credits ------- From cd827e769df6cda2d9bdee76f7f32764c395339d Mon Sep 17 00:00:00 2001 From: Luuk Bosma Date: Wed, 17 Feb 2021 14:26:19 +0100 Subject: [PATCH 53/62] Fixing some Ajax calls not completing obj["on" + event] was overwritten also when addEventListener was available. Now adding an event fallback when addEventListener is unavailable. The original event (when available) is first added to the list, and then one or more callbacks are added. Fixes #509 Signed-off-by: Luuk Bosma --- pace.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pace.js b/pace.js index 2038761f..ed7dffed 100644 --- a/pace.js +++ b/pace.js @@ -49,7 +49,25 @@ cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame; addEventListener = function(obj, event, callback) { - return (typeof obj.addEventListener === "function" ? obj.addEventListener(event, callback, false) : void 0) || (obj["on" + event] = callback); + if (typeof obj.addEventListener === "function") { + return obj.addEventListener(event, callback, false); + } else { + return function() { + if (typeof obj["on" + event] !== "function" || typeof obj["on" + event].eventListeners !== "object") { + var eventListeners = new Events(); + if (typeof obj["on" + event] === "function") { + eventListeners.on(event, obj["on" + event]); + } + obj["on" + event] = function(evt) { + return eventListeners.trigger(event, evt); + }; + obj["on" + event].eventListeners = eventListeners; + } else { + var eventListeners = obj["on" + event].eventListeners; + } + eventListeners.on(event, callback); + }(); + } }; if (requestAnimationFrame == null) { From 460c597adf3b5a265de0f150815a8c5f5ef247c9 Mon Sep 17 00:00:00 2001 From: CodeByZach <20159826+CodeByZach@users.noreply.github.com> Date: Fri, 19 Feb 2021 03:20:53 -0500 Subject: [PATCH 54/62] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3aec3335..a61d7cf6 100644 --- a/README.md +++ b/README.md @@ -272,6 +272,7 @@ Credits ------- [HubSpot](http://dev.hubspot.com) + [CodeByZach](https://github.com/CodeByZach) Javascript by [Zack Bloom](http://twitter.com/zackbloom) From bd7d38cff1ee7e755e7f73e2ca3b2e804261533c Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Tue, 2 Mar 2021 22:30:46 -0500 Subject: [PATCH 55/62] Patched stylesheet tag --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1394e81f..38a28b00 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,8 @@ Example ```html - - + + ``` From 9402ceab308c9562023cf8611c3b8325db6182e6 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Tue, 2 Mar 2021 22:53:48 -0500 Subject: [PATCH 56/62] 1.2.4 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 874d0bda..45a2a37b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pace-js", - "version": "1.2.3", + "version": "1.2.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "pace-js", - "version": "1.2.3", + "version": "1.2.4", "license": "MIT" } } diff --git a/package.json b/package.json index b6ea6c69..b4123812 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pace-js", - "version": "1.2.3", + "version": "1.2.4", "description": "Automatically add a progress bar to your site.", "main": "pace.js", "scripts": { From 5ba323cbf9ab2ca3213db3eec4f0b9eee8b41d64 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Tue, 2 Mar 2021 22:57:07 -0500 Subject: [PATCH 57/62] Fixing some Ajax calls not completing --- pace-theme-default.css | 2 +- pace-theme-default.min.css | 2 +- pace.js | 2 +- pace.min.js | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pace-theme-default.css b/pace-theme-default.css index d9405a10..04907b4e 100644 --- a/pace-theme-default.css +++ b/pace-theme-default.css @@ -1,5 +1,5 @@ /*! - * pace.js v1.2.3 | Default theme + * pace.js v1.2.4 | Default theme * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ diff --git a/pace-theme-default.min.css b/pace-theme-default.min.css index 287907af..7c7404e7 100644 --- a/pace-theme-default.min.css +++ b/pace-theme-default.min.css @@ -1,5 +1,5 @@ /*! - * pace.js v1.2.3 | Default theme + * pace.js v1.2.4 | Default theme * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ diff --git a/pace.js b/pace.js index ed7dffed..0831a471 100644 --- a/pace.js +++ b/pace.js @@ -1,5 +1,5 @@ /*! - * pace.js v1.2.3 + * pace.js v1.2.4 * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ diff --git a/pace.min.js b/pace.min.js index 40c74bd5..b82e2571 100644 --- a/pace.min.js +++ b/pace.min.js @@ -1,6 +1,6 @@ /*! - * pace.js v1.2.3 + * pace.js v1.2.4 * https://github.com/CodeByZach/pace/ * Licensed MIT © HubSpot, Inc. */ -(function(){function o(t,e){return function(){return t.apply(e,arguments)}}var u,c,i,n,y,t,l,v,r,s,a,e,p,w,b,h,f,d,g,m,k,S,q,x,L,P,T,R,j,O,E,M,A,C,N,_,F,U,W,X,D,H,I,z,G,B=[].slice,J={}.hasOwnProperty,K=function(t,e){for(var n in e)J.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},Q=[].indexOf||function(t){for(var e=0,n=this.length;e\n
\n\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},Z.prototype.finish=function(){var t=this.getElement();return t.className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running ","pace-done ")},Z.prototype.update=function(t){return this.progress=t,y.trigger("progress",t),this.render()},Z.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){n=t}return this.el=void 0},Z.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(P.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sP.eventLag.sampleCount&&o.shift(),e=p(o),++s>=P.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),e=1-Math.pow(this.progress/100,P.easeFactor),this.progress+=e*this.rate*t,this.progress=Math.min(this.lastProgress+P.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},v=ot,b=e=N=w=O=C=null,y.running=!1,S=function(){if(P.restartOnPushState)return y.restart()},null!=window.history.pushState&&(H=window.history.pushState,window.history.pushState=function(){return S(),H.apply(window.history,arguments)}),null!=window.history.replaceState&&(z=window.history.replaceState,window.history.replaceState=function(){return S(),z.apply(window.history,arguments)}),l={ajax:u,elements:G,document:K,eventLag:m},(x=function(){var t,e,n,r,s,o,i,a;for(y.sources=C=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e\n
\n\n
',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},$.prototype.finish=function(){var t=this.getElement();return t.className=t.className.replace("pace-active","pace-inactive"),document.body.className=document.body.className.replace("pace-running ","pace-done ")},$.prototype.update=function(t){return this.progress=t,y.trigger("progress",t),this.render()},$.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){n=t}return this.el=void 0},$.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(T.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",s=0,o=(i=["webkitTransform","msTransform","transform"]).length;sT.eventLag.sampleCount&&o.shift(),e=h(o),++s>=T.eventLag.minSamples&&ethis.progress&&(this.progress+=this.catchup*t),e=1-Math.pow(this.progress/100,T.easeFactor),this.progress+=e*this.rate*t,this.progress=Math.min(this.lastProgress+T.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},v=it,b=e=_=w=E=N=null,y.running=!1,q=function(){if(T.restartOnPushState)return y.restart()},null!=window.history.pushState&&(I=window.history.pushState,window.history.pushState=function(){return q(),I.apply(window.history,arguments)}),null!=window.history.replaceState&&(G=window.history.replaceState,window.history.replaceState=function(){return q(),G.apply(window.history,arguments)}),l={ajax:u,elements:k,document:B,eventLag:Q},(x=function(){var t,e,n,r,s,o,i,a;for(y.sources=N=[],e=0,r=(o=["ajax","elements","document","eventLag"]).length;e Date: Wed, 24 Mar 2021 19:18:09 -0400 Subject: [PATCH 58/62] Updated Readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8c846a3a..a326fd14 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ PACE ==== -[![Latest Release](https://img.shields.io/github/tag/CodeByZach/pace.svg?label=version)](https://github.com/CodeByZach/pace/releases/latest) +[![Latest Release](https://img.shields.io/github/tag/CodeByZach/pace.svg?label=release)](https://github.com/CodeByZach/pace/releases/latest) [![Stars](https://img.shields.io/github/stars/CodeByZach/pace.svg)](https://github.com/CodeByZach/pace/stargazers) [![Forks](https://img.shields.io/github/forks/CodeByZach/pace.svg)](https://github.com/CodeByZach/pace/network/members) [![License](https://img.shields.io/github/license/CodeByZach/pace.svg)](LICENSE) An automatic web page progress bar. From 94f996e1cb7232f443dc45e02d0ded3f85b8c06f Mon Sep 17 00:00:00 2001 From: CodeByZach <20159826+CodeByZach@users.noreply.github.com> Date: Wed, 28 Jul 2021 16:35:39 -0400 Subject: [PATCH 59/62] Added Subresource Integrity hash to the CDN urls --- README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a326fd14..4408a39f 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,12 @@ Example ```html - - + + ``` @@ -50,7 +54,10 @@ paceOptions = { You can also put options on the script tag: ```html - + ``` If you're using AMD or Browserify, you can pass your options to `start`: From 000358e18dfc65d0f44a311276845f4f26937d74 Mon Sep 17 00:00:00 2001 From: Zachary Miller Date: Wed, 28 Jul 2021 16:46:52 -0400 Subject: [PATCH 60/62] Revert "Added Subresource Integrity hash to the CDN urls" This reverts commit 94f996e1cb7232f443dc45e02d0ded3f85b8c06f. --- README.md | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 4408a39f..a326fd14 100644 --- a/README.md +++ b/README.md @@ -22,12 +22,8 @@ Example ```html - - + + ``` @@ -54,10 +50,7 @@ paceOptions = { You can also put options on the script tag: ```html - + ``` If you're using AMD or Browserify, you can pass your options to `start`: From 46aeab2e0fa74b5628fff53dfbeac37860e344b9 Mon Sep 17 00:00:00 2001 From: cha147 Date: Wed, 13 Jul 2022 14:26:05 -0700 Subject: [PATCH 61/62] fix typos in readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a326fd14..feb9ecff 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,13 @@ An automatic web page progress bar. Include [pace.js](https://cdn.jsdelivr.net/npm/pace-js@latest/pace.min.js) and the [theme](https://codebyzach.github.io/pace/) css of your choice on your page -(as early as is possible), and you're done! +(as early as possible), and you're done! Pace will automatically monitor your ajax requests, event loop lag, document ready state, and elements on your page to decide the progress. On ajax navigation it will begin again! -If you use AMD or Browserify, require pace.js and call `pace.start()` as early in the loading process as is possible. +If you use AMD or Browserify, require pace.js and call `pace.start()` as early in the loading process as possible. Example ------- @@ -90,7 +90,7 @@ Collectors are the bits of code which gather progress information. Pace includes - Elements - Checks for the existance of specific elements on the page + Checks for the existence of specific elements on the page - Document @@ -123,7 +123,7 @@ Elements Elements being rendered to the screen is one way for us to decide that the page has been rendered. If you would like to use that source of information (not required at all), -specify one or more selectors. You can comma separate the selectors to propertly handle +specify one or more selectors. You can comma separate the selectors to properly handle error states, where the progress bar should disappear, but the element we are looking for may never appear: From b163bc0f4865417c1c54e359083fc2c2f22696c2 Mon Sep 17 00:00:00 2001 From: CodeByZach <20159826+CodeByZach@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:12:24 -0500 Subject: [PATCH 62/62] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index feb9ecff..27776ce1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ PACE ==== -[![Latest Release](https://img.shields.io/github/tag/CodeByZach/pace.svg?label=release)](https://github.com/CodeByZach/pace/releases/latest) [![Stars](https://img.shields.io/github/stars/CodeByZach/pace.svg)](https://github.com/CodeByZach/pace/stargazers) [![Forks](https://img.shields.io/github/forks/CodeByZach/pace.svg)](https://github.com/CodeByZach/pace/network/members) [![License](https://img.shields.io/github/license/CodeByZach/pace.svg)](LICENSE) +[![Latest Release](https://img.shields.io/github/tag/CodeByZach/pace.svg?label=release)](https://github.com/CodeByZach/pace/releases/latest) [![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hm/pace-js?color=%23ff5627)](https://www.jsdelivr.com/package/npm/pace-js) [![Stars](https://img.shields.io/github/stars/CodeByZach/pace.svg)](https://github.com/CodeByZach/pace/stargazers) [![Forks](https://img.shields.io/github/forks/CodeByZach/pace.svg)](https://github.com/CodeByZach/pace/network/members) [![License](https://img.shields.io/github/license/CodeByZach/pace.svg)](LICENSE) An automatic web page progress bar.