From ad6e00ccd3d700a26c95bcc863b532e526a65e3a Mon Sep 17 00:00:00 2001 From: Cerem Cem ASLAN Date: Sun, 2 Aug 2020 03:44:52 +0300 Subject: [PATCH 1/4] improved build system as this project requires node v8 --- .naverc | 1 + README.md | 10 +++++++++- gen-dist => gen-dist.sh | 15 ++++++++------- gulpfile.ls | 19 ++++++++----------- 4 files changed, 26 insertions(+), 19 deletions(-) create mode 100644 .naverc rename gen-dist => gen-dist.sh (51%) diff --git a/.naverc b/.naverc new file mode 100644 index 0000000..a00f43e --- /dev/null +++ b/.naverc @@ -0,0 +1 @@ +v8 diff --git a/README.md b/README.md index 1c85863..8c12a23 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Building ### Install prerequisites ``` -sudo npm install -g gulp +sudo npm install -g gulp nave ``` ### Build @@ -37,12 +37,20 @@ sudo npm install -g gulp git clone https://github.com/loadingio/loading-bar cd loading-bar npm install +nave auto gulp ``` Built files will be written into `./build` directory +Releasing +============= + +``` +./gen-dist.sh +``` + LICENSE ============= diff --git a/gen-dist b/gen-dist.sh similarity index 51% rename from gen-dist rename to gen-dist.sh index 8c0ae6c..03d72ce 100755 --- a/gen-dist +++ b/gen-dist.sh @@ -1,23 +1,24 @@ #!/usr/bin/env bash +N="./node_modules/.bin" +rm -r dist 2> /dev/null mkdir -p dist echo "build src/loading-bar.ls ..." -./node_modules/.bin/lsc -cbp src/loading-bar.ls > dist/loading-bar-raw.js +$N/lsc -cbp src/loading-bar.ls > dist/loading-bar-raw.js echo "build src/presets.ls ..." -./node_modules/.bin/lsc -cbp src/presets.ls > dist/presets.js +$N/lsc -cbp src/presets.ls > dist/presets.js echo "build src/loading-bar.styl -> dist/loading-bar.css ..." -./node_modules/.bin/stylus -p src/loading-bar.styl > dist/loading-bar.css +$N/stylus -p src/loading-bar.styl > dist/loading-bar.css echo "bundle loading-bar ..." -./node_modules/.bin/browserify dist/loading-bar-raw.js > dist/loading-bar.js +$N/browserify dist/loading-bar-raw.js > dist/loading-bar.js rm -f dist/loading-bar-raw.js rm -f dist/presets.js echo "minifying loading-bar.js ..." -./node_modules/.bin/uglifyjs dist/loading-bar.js > dist/loading-bar.min.js +$N/uglifyjs dist/loading-bar.js > dist/loading-bar.min.js echo "minifying loading-bar.css ..." -./node_modules/.bin/uglifycss dist/loading-bar.css > dist/loading-bar.min.css +$N/uglifycss dist/loading-bar.css > dist/loading-bar.min.css echo "zip loading-bar.js and loading-bar.css ..." -rm -f dist/loading-bar.zip zip -r dist/loading-bar.zip dist/loading-bar.js dist/loading-bar.css dist/loading-bar.min.js dist/loading-bar.min.css echo "done." diff --git a/gulpfile.ls b/gulpfile.ls index be74190..6467c8c 100644 --- a/gulpfile.ls +++ b/gulpfile.ls @@ -1,5 +1,5 @@ argv = require 'yargs' .argv -only-compile = false +only-compile = argv.only-compile require! <[ watchify gulp browserify glob path fs globby touch gulp-livescript]> @@ -57,7 +57,7 @@ for-browserify = # Organize Tasks -gulp.task \default, -> +gulp.task \default, (done) -> do function run-all gulp.start do \lib @@ -67,8 +67,9 @@ gulp.task \default, -> \compressjs ... - watch for-browserify, -> - gulp.start \browserify + if argv.only-compile + return done! + watch ["#{src-path}/*.styl"], -> gulp.start \css watch ["#{src-path}/*.ls"], -> @@ -79,7 +80,6 @@ gulp.task \default, -> gulp.start \compressjs -browserify-cache = {} bundler = browserify do entries: ls-entry-file debug: true @@ -87,16 +87,14 @@ bundler = browserify do src-path ... extensions: <[ .ls ]> - cache: browserify-cache - package-cache: {} + cache: {} # required for watchify + package-cache: {} # required for watchify plugin: watchify unless only-compile ... bundler.transform browserify-livescript -first-browserify-done = no - function bundle bundler .bundle! @@ -115,9 +113,8 @@ function bundle #.pipe sourcemaps.write '.' .pipe gulp.dest out-dir .pipe tap (file) -> - log-info \browserify, "Browserify finished #{if out-dir isnt build-path then "out-dir: #{out-dir}"}" + log-info \browserify, "Browserify finished." console.log "------------------------------------------" - first-browserify-done := yes gulp.task \browserify, -> bundle! From f32fcb25371f43afdc0760936e4314bb65e96e39 Mon Sep 17 00:00:00 2001 From: Cerem Cem ASLAN Date: Sun, 2 Aug 2020 04:56:42 +0300 Subject: [PATCH 2/4] added img2 (custom background image) support --- dist/loading-bar.js | 83 ++++++++++++++++++++++++++++++++- dist/loading-bar.min.js | 2 +- dist/loading-bar.zip | Bin 12579 -> 12830 bytes lib/loading-bar.js | 99 +++++++++++++++++++++++++++++++++++++--- src/loading-bar.ls | 42 +++++++++++++++++ 5 files changed, 218 insertions(+), 8 deletions(-) diff --git a/dist/loading-bar.js b/dist/loading-bar.js index 044334c..061db14 100644 --- a/dist/loading-bar.js +++ b/dist/loading-bar.js @@ -120,7 +120,7 @@ wrap = function(content){ } }; window.ldBar = ldBar = function(selector, option){ - var xmlns, root, cls, idPrefix, id, domTree, newNode, x$, config, attr, that, isStroke, parseRes, dom, svg, text, group, length, path0, path1, patimg, img, ret, size, this$ = this; + var xmlns, root, cls, idPrefix, id, domTree, newNode, x$, config, attr, that, isStroke, parseRes, dom, svg, text, group, length, path0, path1, patimg, img, ret, size, img2, this$ = this; option == null && (option = {}); xmlns = { xlink: "http://www.w3.org/1999/xlink" @@ -579,7 +579,88 @@ wrap = function(content){ return this$.inited = true; }); img.src = config.img; + if (config.img2) { + if (config["img-size"]) { + ret = config["img-size"].split(','); + size = { + width: +ret[0], + height: +ret[1] + }; + } else { + size = { + width: 100, + height: 100 + }; + } + group[0] = domTree('g', { + rect: { + attr: { + x: 0, + y: 0, + width: 100, + height: 100, + mask: "url(#" + id.mask + ")", + fill: config["fill-background"] + } + } + }); + svg.querySelector('mask image').attrs({ + width: size.width, + height: size.height + }); + group[2] = domTree('g', { + image: { + attr: { + width: size.width, + height: size.height, + x: 0, + y: 0, + preserveAspectRatio: config["aspect-ratio"], + "xlink:href": config.img2, + 'class': 'solid' + } + } + }); + img2 = new Image(); + img2.addEventListener('load', function(){ + var ret, size, v; + if (config["img-size"]) { + ret = config["img-size"].split(','); + size = { + width: +ret[0], + height: +ret[1] + }; + } else if (img2.width && img2.height) { + size = { + width: img2.width, + height: img2.height + }; + } else { + size = { + width: 100, + height: 100 + }; + } + svg.querySelector('mask image').attrs({ + width: size.width, + height: size.height + }); + group[2].querySelector('image').attrs({ + width: size.width, + height: size.height + }); + this$.fit(); + v = this$.value; + this$.value = undefined; + this$.set(v, true); + return this$.inited = true; + }); + img2.src = config.img2; + } svg.appendChild(group[0]); + if (config.img2) { + svg.appendChild(group[2]); + } svg.appendChild(group[1]); } svg.attrs({ diff --git a/dist/loading-bar.min.js b/dist/loading-bar.min.js index 6f15c95..53b40c6 100644 --- a/dist/loading-bar.min.js +++ b/dist/loading-bar.min.js @@ -1 +1 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o\n '},gradient:function(dir,dur){var colors,ret,len,gx,gy,x,y,i$,i,idx;dir==null&&(dir=45);dur==null&&(dur=1);colors=slice$.call(arguments,2);ret=[this.head("0 0 100 100")];len=colors.length*4+1;dir=dir*Math.PI/180;gx=Math.pow(Math.cos(dir),2);gy=Math.sqrt(gx-Math.pow(gx,2));if(dir>Math.PI*.25){gy=Math.pow(Math.sin(dir),2);gx=Math.sqrt(gy-Math.pow(gy,2))}x=gx*100;y=gy*100;ret.push('');for(i$=0;i$')}ret.push('\n\n');return wrap(ret.join(""))},stripe:function(c1,c2,dur){var ret,i;c1==null&&(c1="#b4b4b4");c2==null&&(c2="#e6e6e6");dur==null&&(dur=1);ret=[this.head("0 0 100 100")];ret=ret.concat(['',"",function(){var i$,results$=[];for(i$=0;i$<13;++i$){i=i$;results$.push(''))}return results$}().join(""),''].join(""));return wrap(ret)},bubble:function(c1,c2,count,dur,size,sw){var ret,i$,i,idx,x,r,d;c1==null&&(c1="#39d");c2==null&&(c2="#9cf");count==null&&(count=15);dur==null&&(dur=1);size==null&&(size=6);sw==null&&(sw=1);ret=[this.head("0 0 200 200"),''];for(i$=0;i$','',"",'','',""].join(""))}return wrap(ret.join("")+"")}};handler={queue:{},running:false,main:function(timestamp){var keepon,removed,k,ref$,func,ret,this$=this;keepon=false;removed=[];for(k in ref$=this.queue){func=ref$[k];ret=func(timestamp);if(!ret){removed.push(func)}keepon=keepon||ret}for(k in ref$=this.queue){func=ref$[k];if(removed.indexOf(func)>=0){delete this.queue[k]}}if(keepon){return requestAnimationFrame(function(it){return this$.main(it)})}else{return this.running=false}},add:function(key,f){var this$=this;if(!this.queue[key]){this.queue[key]=f}if(!this.running){this.running=true;return requestAnimationFrame(function(it){return this$.main(it)})}}};window.ldBar=ldBar=function(selector,option){var xmlns,root,cls,idPrefix,id,domTree,newNode,x$,config,attr,that,isStroke,parseRes,dom,svg,text,group,length,path0,path1,patimg,img,ret,size,this$=this;option==null&&(option={});xmlns={xlink:"http://www.w3.org/1999/xlink"};root=toString$.call(selector).slice(8,-1)==="String"?document.querySelector(selector):selector;if(!root.ldBar){root.ldBar=this}else{return root.ldBar}cls=root.getAttribute("class")||"";if(!~cls.indexOf("ldBar")){root.setAttribute("class",cls+" ldBar")}idPrefix="ldBar-"+Math.random().toString(16).substring(2);id={key:idPrefix,clip:idPrefix+"-clip",filter:idPrefix+"-filter",pattern:idPrefix+"-pattern",mask:idPrefix+"-mask",maskPath:idPrefix+"-mask-path"};domTree=function(n,o){var k,v;n=newNode(n);for(k in o){v=o[k];if(k!=="attr"){n.appendChild(domTree(k,v||{}))}}n.attrs(o.attr||{});return n};newNode=function(n){return document.createElementNS("http://www.w3.org/2000/svg",n)};x$=document.body.__proto__.__proto__.__proto__;x$.text=function(t){return this.appendChild(document.createTextNode(t))};x$.attrs=function(o){var k,v,ret,results$=[];for(k in o){v=o[k];ret=/([^:]+):([^:]+)/.exec(k);if(!ret||!xmlns[ret[1]]){results$.push(this.setAttribute(k,v))}else{results$.push(this.setAttributeNS(xmlns[ret[1]],k,v))}}return results$};x$.styles=function(o){var k,v,results$=[];for(k in o){v=o[k];results$.push(this.style[k]=v)}return results$};x$.append=function(n){var r;return this.appendChild(r=document.createElementNS("http://www.w3.og/2000/svg",n))};x$.attr=function(n,v){if(v!=null){return this.setAttribute(n,v)}else{return this.getAttribute(n)}};config={type:"stroke",img:"",path:"M10 10L90 10M90 8M90 12","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"pattern-size":null,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,duration:1,easing:"linear",value:0,"img-size":null,bbox:null,"set-dim":true,"aspect-ratio":"xMidYMid","transition-in":false,min:0,max:100,precision:0,padding:undefined};config["preset"]=root.attr("data-preset")||option["preset"];if(config.preset!=null){import$(config,presets[config.preset])}for(attr in config){if(that=that=root.attr("data-"+attr)){config[attr]=that}}import$(config,option);if(config.img){config.path=null}isStroke=config.type==="stroke";parseRes=function(v){var parser,ret;parser=/data:ldbar\/res,([^()]+)\(([^)]+)\)/;ret=parser.exec(v);if(!ret){return v}return ret=make[ret[1]].apply(make,ret[2].split(","))};config.fill=parseRes(config.fill);config.stroke=parseRes(config.stroke);if(config["set-dim"]==="false"){config["set-dim"]=false}dom={attr:{"xmlns:xlink":"http://www.w3.org/1999/xlink",preserveAspectRatio:config["aspect-ratio"],width:"100%",height:"100%"},defs:{filter:{attr:{id:id.filter,x:-1,y:-1,width:3,height:3},feMorphology:{attr:{operator:+config["fill-background-extrude"]>=0?"dilate":"erode",radius:Math.abs(+config["fill-background-extrude"])}},feColorMatrix:{attr:{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",result:"cm"}}},mask:{attr:{id:id.mask},image:{attr:{"xlink:href":config.img,filter:"url(#"+id.filter+")",x:0,y:0,width:100,height:100,preserveAspectRatio:config["aspect-ratio"]}}},g:{mask:{attr:{id:id.maskPath},path:{attr:{d:config.path||"",fill:"#fff",stroke:"#fff",filter:"url(#"+id.filter+")"}}}},clipPath:{attr:{id:id.clip},rect:{attr:{class:"mask",fill:"#000"}}},pattern:{attr:{id:id.pattern,patternUnits:"userSpaceOnUse",x:0,y:0,width:300,height:300},image:{attr:{x:0,y:0,width:300,height:300}}}}};svg=domTree("svg",dom);text=document.createElement("div");text.setAttribute("class","ldBar-label");root.appendChild(svg);root.appendChild(text);group=[0,0];length=0;this.fit=function(){var that,box,d,rect;if(that=config["bbox"]){box=that.split(" ").map(function(it){return+it.trim()});box={x:box[0],y:box[1],width:box[2],height:box[3]}}else{box=group[1].getBBox()}if(!box||box.width===0||box.height===0){box={x:0,y:0,width:100,height:100}}d=Math.max.apply(null,["stroke-width","stroke-trail-width","fill-background-extrude"].map(function(it){return config[it]}))*1.5;if(config["padding"]!=null){d=+config["padding"]}svg.attrs({viewBox:[box.x-d,box.y-d,box.width+d*2,box.height+d*2].join(" ")});if(config["set-dim"]){["width","height"].map(function(it){if(!root.style[it]||this$.fit[it]){root.style[it]=box[it]+d*2+"px";return this$.fit[it]=true}})}rect=group[0].querySelector("rect");if(rect){return rect.attrs({x:box.x-d,y:box.y-d,width:box.width+d*2,height:box.height+d*2})}};if(config.path){if(isStroke){group[0]=domTree("g",{path:{attr:{d:config.path,fill:"none",class:"baseline"}}})}else{group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.maskPath+")",fill:config["fill-background"],class:"frame"}}})}svg.appendChild(group[0]);group[1]=domTree("g",{path:{attr:{d:config.path,class:isStroke?"mainline":"solid","clip-path":config.type==="fill"?"url(#"+id.clip+")":""}}});svg.appendChild(group[1]);path0=group[0].querySelector(isStroke?"path":"rect");path1=group[1].querySelector("path");if(isStroke){path1.attrs({fill:"none"})}patimg=svg.querySelector("pattern image");img=new Image;img.addEventListener("load",function(){var box,that;box=(that=config["pattern-size"])?{width:+that,height:+that}:img.width&&img.height?{width:img.width,height:img.height}:{width:300,height:300};svg.querySelector("pattern").attrs({width:box.width,height:box.height});return patimg.attrs({width:box.width,height:box.height})});if(/.+\..+|^data:/.exec(!isStroke?config.fill:config.stroke)){img.src=!isStroke?config.fill:config.stroke;patimg.attrs({"xlink:href":img.src})}if(isStroke){path0.attrs({stroke:config["stroke-trail"],"stroke-width":config["stroke-trail-width"]});path1.attrs({"stroke-width":config["stroke-width"],stroke:/.+\..+|^data:/.exec(config.stroke)?"url(#"+id.pattern+")":config.stroke})}if(config.fill&&!isStroke){path1.attrs({fill:/.+\..+|^data:/.exec(config.fill)?"url(#"+id.pattern+")":config.fill})}length=path1.getTotalLength();this.fit();this.inited=true}else if(config.img){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"clip-path":config.type==="fill"?"url(#"+id.clip+")":"","xlink:href":config.img,class:"solid"}}});img=new Image;img.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img.width&&img.height){size={width:img.width,height:img.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img.src=config.img;svg.appendChild(group[0]);svg.appendChild(group[1])}svg.attrs({width:"100%",height:"100%"});this.transition={value:{src:0,des:0},time:{},ease:function(t,b,c,d){t=t/(d*.5);if(t<1){return c*.5*t*t+b}t=t-1;return-c*.5*(t*(t-2)-1)+b},handler:function(time,doTransition){var ref$,min,max,prec,dv,dt,dur,v,p,node,style,box,dir;doTransition==null&&(doTransition=true);if(this.time.src==null){this.time.src=time}ref$=[config["min"],config["max"],1/config["precision"]],min=ref$[0],max=ref$[1],prec=ref$[2];ref$=[this.value.des-this.value.src,(time-this.time.src)*.001,+config["duration"]||1],dv=ref$[0],dt=ref$[1],dur=ref$[2];v=doTransition?this.ease(dt,this.value.src,dv,dur):this.value.des;if(config.precision){v=Math.round(v*prec)/prec}else if(doTransition){v=Math.round(v)}v>=min||(v=min);v<=max||(v=max);text.textContent=v;p=100*(v-min)/(max-min);if(isStroke){node=path1;style={"stroke-dasharray":config["stroke-dir"]==="reverse"?"0 "+length*(100-p)*.01+" "+length*p*.01+" 0":p*.01*length+" "+((100-p)*.01*length+1)}}else{box=group[1].getBBox();dir=config["fill-dir"];style=dir==="btt"||!dir?{y:box.y+box.height*(100-p)*.01,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ttb"?{y:box.y,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ltr"?{y:box.y,height:box.height,x:box.x,width:box.width*p*.01}:dir==="rtl"?{y:box.y,height:box.height,x:box.x+box.width*(100-p)*.01,width:box.width*p*.01}:void 8;node=svg.querySelector("rect")}node.attrs(style);if(dt>=dur){delete this.time.src;return false}return true},start:function(src,des,doTransition){var ref$,this$=this;ref$=this.value;ref$.src=src;ref$.des=des;!!(root.offsetWidth||root.offsetHeight||root.getClientRects().length);if(!doTransition||!(root.offsetWidth||root.offsetHeight||root.getClientRects().length)){this.time.src=0;this.handler(1e3,false);return}return handler.add(id.key,function(time){return this$.handler(time)})}};this.set=function(v,doTransition){var src,des;doTransition==null&&(doTransition=true);src=this.value||0;if(v!=null){this.value=v}else{v=this.value}des=this.value;return this.transition.start(src,des,doTransition)};this.set(+config.value||0,config["transition-in"])||false;return this};return window.addEventListener("load",function(){var i$,ref$,len$,node,results$=[];for(i$=0,len$=(ref$=document.querySelectorAll(".ldBar")).length;i$LOADING',"fill-background-extrude":1.3,"pattern-size":100,"fill-dir":"ltr","img-size":"70,20",bbox:"0 0 70 20"},line:{type:"stroke",path:"M10 10L90 10",stroke:"#25b","stroke-width":3,"stroke-trail":"#ddd","stroke-trail-width":1,bbox:"10 10 80 10"},fan:{type:"stroke",path:"M10 90A40 40 0 0 1 90 90","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 50 80 40"},circle:{type:"stroke",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"},bubble:{type:"fill",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"data:ldbar/res,bubble(#39d,#cef)","pattern-size":"150","fill-background":"#ddd","fill-background-extrude":2,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"}}},{}]},{},[1]); +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o\n '},gradient:function(dir,dur){var colors,ret,len,gx,gy,x,y,i$,i,idx;dir==null&&(dir=45);dur==null&&(dur=1);colors=slice$.call(arguments,2);ret=[this.head("0 0 100 100")];len=colors.length*4+1;dir=dir*Math.PI/180;gx=Math.pow(Math.cos(dir),2);gy=Math.sqrt(gx-Math.pow(gx,2));if(dir>Math.PI*.25){gy=Math.pow(Math.sin(dir),2);gx=Math.sqrt(gy-Math.pow(gy,2))}x=gx*100;y=gy*100;ret.push('');for(i$=0;i$')}ret.push('\n\n');return wrap(ret.join(""))},stripe:function(c1,c2,dur){var ret,i;c1==null&&(c1="#b4b4b4");c2==null&&(c2="#e6e6e6");dur==null&&(dur=1);ret=[this.head("0 0 100 100")];ret=ret.concat(['',"",function(){var i$,results$=[];for(i$=0;i$<13;++i$){i=i$;results$.push(''))}return results$}().join(""),''].join(""));return wrap(ret)},bubble:function(c1,c2,count,dur,size,sw){var ret,i$,i,idx,x,r,d;c1==null&&(c1="#39d");c2==null&&(c2="#9cf");count==null&&(count=15);dur==null&&(dur=1);size==null&&(size=6);sw==null&&(sw=1);ret=[this.head("0 0 200 200"),''];for(i$=0;i$','',"",'','',""].join(""))}return wrap(ret.join("")+"")}};handler={queue:{},running:false,main:function(timestamp){var keepon,removed,k,ref$,func,ret,this$=this;keepon=false;removed=[];for(k in ref$=this.queue){func=ref$[k];ret=func(timestamp);if(!ret){removed.push(func)}keepon=keepon||ret}for(k in ref$=this.queue){func=ref$[k];if(removed.indexOf(func)>=0){delete this.queue[k]}}if(keepon){return requestAnimationFrame(function(it){return this$.main(it)})}else{return this.running=false}},add:function(key,f){var this$=this;if(!this.queue[key]){this.queue[key]=f}if(!this.running){this.running=true;return requestAnimationFrame(function(it){return this$.main(it)})}}};window.ldBar=ldBar=function(selector,option){var xmlns,root,cls,idPrefix,id,domTree,newNode,x$,config,attr,that,isStroke,parseRes,dom,svg,text,group,length,path0,path1,patimg,img,ret,size,img2,this$=this;option==null&&(option={});xmlns={xlink:"http://www.w3.org/1999/xlink"};root=toString$.call(selector).slice(8,-1)==="String"?document.querySelector(selector):selector;if(!root.ldBar){root.ldBar=this}else{return root.ldBar}cls=root.getAttribute("class")||"";if(!~cls.indexOf("ldBar")){root.setAttribute("class",cls+" ldBar")}idPrefix="ldBar-"+Math.random().toString(16).substring(2);id={key:idPrefix,clip:idPrefix+"-clip",filter:idPrefix+"-filter",pattern:idPrefix+"-pattern",mask:idPrefix+"-mask",maskPath:idPrefix+"-mask-path"};domTree=function(n,o){var k,v;n=newNode(n);for(k in o){v=o[k];if(k!=="attr"){n.appendChild(domTree(k,v||{}))}}n.attrs(o.attr||{});return n};newNode=function(n){return document.createElementNS("http://www.w3.org/2000/svg",n)};x$=document.body.__proto__.__proto__.__proto__;x$.text=function(t){return this.appendChild(document.createTextNode(t))};x$.attrs=function(o){var k,v,ret,results$=[];for(k in o){v=o[k];ret=/([^:]+):([^:]+)/.exec(k);if(!ret||!xmlns[ret[1]]){results$.push(this.setAttribute(k,v))}else{results$.push(this.setAttributeNS(xmlns[ret[1]],k,v))}}return results$};x$.styles=function(o){var k,v,results$=[];for(k in o){v=o[k];results$.push(this.style[k]=v)}return results$};x$.append=function(n){var r;return this.appendChild(r=document.createElementNS("http://www.w3.og/2000/svg",n))};x$.attr=function(n,v){if(v!=null){return this.setAttribute(n,v)}else{return this.getAttribute(n)}};config={type:"stroke",img:"",path:"M10 10L90 10M90 8M90 12","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"pattern-size":null,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,duration:1,easing:"linear",value:0,"img-size":null,bbox:null,"set-dim":true,"aspect-ratio":"xMidYMid","transition-in":false,min:0,max:100,precision:0,padding:undefined};config["preset"]=root.attr("data-preset")||option["preset"];if(config.preset!=null){import$(config,presets[config.preset])}for(attr in config){if(that=that=root.attr("data-"+attr)){config[attr]=that}}import$(config,option);if(config.img){config.path=null}isStroke=config.type==="stroke";parseRes=function(v){var parser,ret;parser=/data:ldbar\/res,([^()]+)\(([^)]+)\)/;ret=parser.exec(v);if(!ret){return v}return ret=make[ret[1]].apply(make,ret[2].split(","))};config.fill=parseRes(config.fill);config.stroke=parseRes(config.stroke);if(config["set-dim"]==="false"){config["set-dim"]=false}dom={attr:{"xmlns:xlink":"http://www.w3.org/1999/xlink",preserveAspectRatio:config["aspect-ratio"],width:"100%",height:"100%"},defs:{filter:{attr:{id:id.filter,x:-1,y:-1,width:3,height:3},feMorphology:{attr:{operator:+config["fill-background-extrude"]>=0?"dilate":"erode",radius:Math.abs(+config["fill-background-extrude"])}},feColorMatrix:{attr:{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",result:"cm"}}},mask:{attr:{id:id.mask},image:{attr:{"xlink:href":config.img,filter:"url(#"+id.filter+")",x:0,y:0,width:100,height:100,preserveAspectRatio:config["aspect-ratio"]}}},g:{mask:{attr:{id:id.maskPath},path:{attr:{d:config.path||"",fill:"#fff",stroke:"#fff",filter:"url(#"+id.filter+")"}}}},clipPath:{attr:{id:id.clip},rect:{attr:{class:"mask",fill:"#000"}}},pattern:{attr:{id:id.pattern,patternUnits:"userSpaceOnUse",x:0,y:0,width:300,height:300},image:{attr:{x:0,y:0,width:300,height:300}}}}};svg=domTree("svg",dom);text=document.createElement("div");text.setAttribute("class","ldBar-label");root.appendChild(svg);root.appendChild(text);group=[0,0];length=0;this.fit=function(){var that,box,d,rect;if(that=config["bbox"]){box=that.split(" ").map(function(it){return+it.trim()});box={x:box[0],y:box[1],width:box[2],height:box[3]}}else{box=group[1].getBBox()}if(!box||box.width===0||box.height===0){box={x:0,y:0,width:100,height:100}}d=Math.max.apply(null,["stroke-width","stroke-trail-width","fill-background-extrude"].map(function(it){return config[it]}))*1.5;if(config["padding"]!=null){d=+config["padding"]}svg.attrs({viewBox:[box.x-d,box.y-d,box.width+d*2,box.height+d*2].join(" ")});if(config["set-dim"]){["width","height"].map(function(it){if(!root.style[it]||this$.fit[it]){root.style[it]=box[it]+d*2+"px";return this$.fit[it]=true}})}rect=group[0].querySelector("rect");if(rect){return rect.attrs({x:box.x-d,y:box.y-d,width:box.width+d*2,height:box.height+d*2})}};if(config.path){if(isStroke){group[0]=domTree("g",{path:{attr:{d:config.path,fill:"none",class:"baseline"}}})}else{group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.maskPath+")",fill:config["fill-background"],class:"frame"}}})}svg.appendChild(group[0]);group[1]=domTree("g",{path:{attr:{d:config.path,class:isStroke?"mainline":"solid","clip-path":config.type==="fill"?"url(#"+id.clip+")":""}}});svg.appendChild(group[1]);path0=group[0].querySelector(isStroke?"path":"rect");path1=group[1].querySelector("path");if(isStroke){path1.attrs({fill:"none"})}patimg=svg.querySelector("pattern image");img=new Image;img.addEventListener("load",function(){var box,that;box=(that=config["pattern-size"])?{width:+that,height:+that}:img.width&&img.height?{width:img.width,height:img.height}:{width:300,height:300};svg.querySelector("pattern").attrs({width:box.width,height:box.height});return patimg.attrs({width:box.width,height:box.height})});if(/.+\..+|^data:/.exec(!isStroke?config.fill:config.stroke)){img.src=!isStroke?config.fill:config.stroke;patimg.attrs({"xlink:href":img.src})}if(isStroke){path0.attrs({stroke:config["stroke-trail"],"stroke-width":config["stroke-trail-width"]});path1.attrs({"stroke-width":config["stroke-width"],stroke:/.+\..+|^data:/.exec(config.stroke)?"url(#"+id.pattern+")":config.stroke})}if(config.fill&&!isStroke){path1.attrs({fill:/.+\..+|^data:/.exec(config.fill)?"url(#"+id.pattern+")":config.fill})}length=path1.getTotalLength();this.fit();this.inited=true}else if(config.img){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"clip-path":config.type==="fill"?"url(#"+id.clip+")":"","xlink:href":config.img,class:"solid"}}});img=new Image;img.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img.width&&img.height){size={width:img.width,height:img.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img.src=config.img;if(config.img2){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"xlink:href":config.img2,class:"solid"}}});img2=new Image;img2.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img2.width&&img2.height){size={width:img2.width,height:img2.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img2.src=config.img2}svg.appendChild(group[0]);if(config.img2){svg.appendChild(group[2])}svg.appendChild(group[1])}svg.attrs({width:"100%",height:"100%"});this.transition={value:{src:0,des:0},time:{},ease:function(t,b,c,d){t=t/(d*.5);if(t<1){return c*.5*t*t+b}t=t-1;return-c*.5*(t*(t-2)-1)+b},handler:function(time,doTransition){var ref$,min,max,prec,dv,dt,dur,v,p,node,style,box,dir;doTransition==null&&(doTransition=true);if(this.time.src==null){this.time.src=time}ref$=[config["min"],config["max"],1/config["precision"]],min=ref$[0],max=ref$[1],prec=ref$[2];ref$=[this.value.des-this.value.src,(time-this.time.src)*.001,+config["duration"]||1],dv=ref$[0],dt=ref$[1],dur=ref$[2];v=doTransition?this.ease(dt,this.value.src,dv,dur):this.value.des;if(config.precision){v=Math.round(v*prec)/prec}else if(doTransition){v=Math.round(v)}v>=min||(v=min);v<=max||(v=max);text.textContent=v;p=100*(v-min)/(max-min);if(isStroke){node=path1;style={"stroke-dasharray":config["stroke-dir"]==="reverse"?"0 "+length*(100-p)*.01+" "+length*p*.01+" 0":p*.01*length+" "+((100-p)*.01*length+1)}}else{box=group[1].getBBox();dir=config["fill-dir"];style=dir==="btt"||!dir?{y:box.y+box.height*(100-p)*.01,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ttb"?{y:box.y,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ltr"?{y:box.y,height:box.height,x:box.x,width:box.width*p*.01}:dir==="rtl"?{y:box.y,height:box.height,x:box.x+box.width*(100-p)*.01,width:box.width*p*.01}:void 8;node=svg.querySelector("rect")}node.attrs(style);if(dt>=dur){delete this.time.src;return false}return true},start:function(src,des,doTransition){var ref$,this$=this;ref$=this.value;ref$.src=src;ref$.des=des;!!(root.offsetWidth||root.offsetHeight||root.getClientRects().length);if(!doTransition||!(root.offsetWidth||root.offsetHeight||root.getClientRects().length)){this.time.src=0;this.handler(1e3,false);return}return handler.add(id.key,function(time){return this$.handler(time)})}};this.set=function(v,doTransition){var src,des;doTransition==null&&(doTransition=true);src=this.value||0;if(v!=null){this.value=v}else{v=this.value}des=this.value;return this.transition.start(src,des,doTransition)};this.set(+config.value||0,config["transition-in"])||false;return this};return window.addEventListener("load",function(){var i$,ref$,len$,node,results$=[];for(i$=0,len$=(ref$=document.querySelectorAll(".ldBar")).length;i$LOADING',"fill-background-extrude":1.3,"pattern-size":100,"fill-dir":"ltr","img-size":"70,20",bbox:"0 0 70 20"},line:{type:"stroke",path:"M10 10L90 10",stroke:"#25b","stroke-width":3,"stroke-trail":"#ddd","stroke-trail-width":1,bbox:"10 10 80 10"},fan:{type:"stroke",path:"M10 90A40 40 0 0 1 90 90","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 50 80 40"},circle:{type:"stroke",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"},bubble:{type:"fill",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"data:ldbar/res,bubble(#39d,#cef)","pattern-size":"150","fill-background":"#ddd","fill-background-extrude":2,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"}}},{}]},{},[1]); diff --git a/dist/loading-bar.zip b/dist/loading-bar.zip index 44b58b0bab5fedacb881d4adda43755bcf2d6bc7..2b369a52623b34e9f7fc980385576868bd6bb03f 100644 GIT binary patch delta 12345 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\n "; }, gradient: function(dir, dur){ - var colors, ret, len, gx, gy, x, y, i$, i, idx; + var colors, res$, i$, to$, ret, len, gx, gy, x, y, i, idx; dir == null && (dir = 45); dur == null && (dur = 1); - colors = slice$.call(arguments, 2); + res$ = []; + for (i$ = 2, to$ = arguments.length; i$ < to$; ++i$) { + res$.push(arguments[i$]); + } + colors = res$; ret = [this.head("0 0 100 100")]; len = colors.length * 4 + 1; dir = dir * Math.PI / 180; @@ -118,7 +122,7 @@ wrap = function(content){ } }; window.ldBar = ldBar = function(selector, option){ - var xmlns, root, cls, idPrefix, id, domTree, newNode, x$, config, attr, that, isStroke, parseRes, dom, svg, text, group, length, path0, path1, patimg, img, ret, size, this$ = this; + var xmlns, root, cls, idPrefix, id, domTree, newNode, x$, config, attr, that, isStroke, parseRes, dom, svg, text, group, length, path0, path1, patimg, img, ret, size, img2, this$ = this; option == null && (option = {}); xmlns = { xlink: "http://www.w3.org/1999/xlink" @@ -544,7 +548,7 @@ wrap = function(content){ }); img = new Image(); img.addEventListener('load', function(){ - var ret, size; + var ret, size, v; if (config["img-size"]) { ret = config["img-size"].split(','); size = { @@ -571,11 +575,94 @@ wrap = function(content){ height: size.height }); this$.fit(); - this$.set(undefined, false); + v = this$.value; + this$.value = undefined; + this$.set(v, true); return this$.inited = true; }); img.src = config.img; + if (config.img2) { + if (config["img-size"]) { + ret = config["img-size"].split(','); + size = { + width: +ret[0], + height: +ret[1] + }; + } else { + size = { + width: 100, + height: 100 + }; + } + group[0] = domTree('g', { + rect: { + attr: { + x: 0, + y: 0, + width: 100, + height: 100, + mask: "url(#" + id.mask + ")", + fill: config["fill-background"] + } + } + }); + svg.querySelector('mask image').attrs({ + width: size.width, + height: size.height + }); + group[2] = domTree('g', { + image: { + attr: { + width: size.width, + height: size.height, + x: 0, + y: 0, + preserveAspectRatio: config["aspect-ratio"], + "xlink:href": config.img2, + 'class': 'solid' + } + } + }); + img2 = new Image(); + img2.addEventListener('load', function(){ + var ret, size, v; + if (config["img-size"]) { + ret = config["img-size"].split(','); + size = { + width: +ret[0], + height: +ret[1] + }; + } else if (img2.width && img2.height) { + size = { + width: img2.width, + height: img2.height + }; + } else { + size = { + width: 100, + height: 100 + }; + } + svg.querySelector('mask image').attrs({ + width: size.width, + height: size.height + }); + group[2].querySelector('image').attrs({ + width: size.width, + height: size.height + }); + this$.fit(); + v = this$.value; + this$.value = undefined; + this$.set(v, true); + return this$.inited = true; + }); + img2.src = config.img2; + } svg.appendChild(group[0]); + if (config.img2) { + svg.appendChild(group[2]); + } svg.appendChild(group[1]); } svg.attrs({ diff --git a/src/loading-bar.ls b/src/loading-bar.ls index 339171a..dd4b7b1 100644 --- a/src/loading-bar.ls +++ b/src/loading-bar.ls @@ -318,8 +318,50 @@ do -> @set v, true @inited = true img.src = config.img + + # add custom background image support + if config.img2 + if config["img-size"] => + ret = config["img-size"].split(\,) + size = {width: +ret.0, height: +ret.1} + else size = {width: 100, height: 100} + + group.0 = domTree \g, rect: attr: + x: 0, y: 0, width: 100, height: 100, mask: "url(\##{id.mask})", fill: config["fill-background"] + svg.querySelector 'mask image' .attrs do + width: size.width, height: size.height + group.2 = domTree \g, image: attr: + width: size.width, height: size.height, x: 0, y: 0, preserveAspectRatio: config["aspect-ratio"] + #width: 100, height: 100, x: 0, y: 0, preserveAspectRatio: "xMidYMid" + #"clip-path": if config.type == \fill => "url(\##{id.clip})" else '' + "xlink:href": config.img2, class: \solid + img2 = new Image! + img2.addEventListener \load, ~> + if config["img-size"] => + ret = config["img-size"].split(\,) + size = {width: +ret.0, height: +ret.1} + else if img2.width and img2.height => size = {width: img2.width, height: img2.height} + else size = {width: 100, height: 100} + svg.querySelector 'mask image' .attrs do + width: size.width, height: size.height + group.2.querySelector 'image' .attrs do + width: size.width, height: size.height + + @fit! + + # image is load, so we set value again. + # if we need transition - we have to clean value so it will be treated as 0. + v = @value + @value = undefined + @set v, true + @inited = true + img2.src = config.img2 svg.appendChild group.0 + if config.img2 + # needs to be right after group.0 + svg.appendChild group.2 svg.appendChild group.1 + svg.attrs width: \100%, height: \100% #, viewBox: '0 0 100 100' @transition = From 5291bec4473c98c170c73b271178c912f8636c72 Mon Sep 17 00:00:00 2001 From: Cerem Cem ASLAN Date: Sun, 2 Aug 2020 16:41:30 +0300 Subject: [PATCH 3/4] fixes flickering effect when the label has integer value When label has an integer value at some point, the trailing zero is removed, so the label div narrows a bit. This causes an annoying flickering effect. This commit fixes by forcing output value to have appropriate number of zeroes regarding to the "precision" setting. --- dist/loading-bar.js | 5 +++-- dist/loading-bar.min.js | 2 +- dist/loading-bar.zip | Bin 12830 -> 12895 bytes src/loading-bar.ls | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dist/loading-bar.js b/dist/loading-bar.js index 061db14..3cc63f4 100644 --- a/dist/loading-bar.js +++ b/dist/loading-bar.js @@ -682,7 +682,7 @@ wrap = function(content){ return -c * 0.5 * (t * (t - 2) - 1) + b; }, handler: function(time, doTransition){ - var ref$, min, max, prec, dv, dt, dur, v, p, node, style, box, dir; + var ref$, min, max, prec, dv, dt, dur, v, decimals, p, node, style, box, dir; doTransition == null && (doTransition = true); if (this.time.src == null) { this.time.src = time; @@ -699,7 +699,8 @@ wrap = function(content){ } v >= min || (v = min); v <= max || (v = max); - text.textContent = v; + decimals = (prec + "").length - 1; + text.textContent = v.toFixed(decimals) + ""; p = 100.0 * (v - min) / (max - min); if (isStroke) { node = path1; diff --git a/dist/loading-bar.min.js b/dist/loading-bar.min.js index 53b40c6..6036848 100644 --- a/dist/loading-bar.min.js +++ b/dist/loading-bar.min.js @@ -1 +1 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o\n '},gradient:function(dir,dur){var colors,ret,len,gx,gy,x,y,i$,i,idx;dir==null&&(dir=45);dur==null&&(dur=1);colors=slice$.call(arguments,2);ret=[this.head("0 0 100 100")];len=colors.length*4+1;dir=dir*Math.PI/180;gx=Math.pow(Math.cos(dir),2);gy=Math.sqrt(gx-Math.pow(gx,2));if(dir>Math.PI*.25){gy=Math.pow(Math.sin(dir),2);gx=Math.sqrt(gy-Math.pow(gy,2))}x=gx*100;y=gy*100;ret.push('');for(i$=0;i$')}ret.push('\n\n');return wrap(ret.join(""))},stripe:function(c1,c2,dur){var ret,i;c1==null&&(c1="#b4b4b4");c2==null&&(c2="#e6e6e6");dur==null&&(dur=1);ret=[this.head("0 0 100 100")];ret=ret.concat(['',"",function(){var i$,results$=[];for(i$=0;i$<13;++i$){i=i$;results$.push(''))}return results$}().join(""),''].join(""));return wrap(ret)},bubble:function(c1,c2,count,dur,size,sw){var ret,i$,i,idx,x,r,d;c1==null&&(c1="#39d");c2==null&&(c2="#9cf");count==null&&(count=15);dur==null&&(dur=1);size==null&&(size=6);sw==null&&(sw=1);ret=[this.head("0 0 200 200"),''];for(i$=0;i$','',"",'','',""].join(""))}return wrap(ret.join("")+"")}};handler={queue:{},running:false,main:function(timestamp){var keepon,removed,k,ref$,func,ret,this$=this;keepon=false;removed=[];for(k in ref$=this.queue){func=ref$[k];ret=func(timestamp);if(!ret){removed.push(func)}keepon=keepon||ret}for(k in ref$=this.queue){func=ref$[k];if(removed.indexOf(func)>=0){delete this.queue[k]}}if(keepon){return requestAnimationFrame(function(it){return this$.main(it)})}else{return this.running=false}},add:function(key,f){var this$=this;if(!this.queue[key]){this.queue[key]=f}if(!this.running){this.running=true;return requestAnimationFrame(function(it){return this$.main(it)})}}};window.ldBar=ldBar=function(selector,option){var xmlns,root,cls,idPrefix,id,domTree,newNode,x$,config,attr,that,isStroke,parseRes,dom,svg,text,group,length,path0,path1,patimg,img,ret,size,img2,this$=this;option==null&&(option={});xmlns={xlink:"http://www.w3.org/1999/xlink"};root=toString$.call(selector).slice(8,-1)==="String"?document.querySelector(selector):selector;if(!root.ldBar){root.ldBar=this}else{return root.ldBar}cls=root.getAttribute("class")||"";if(!~cls.indexOf("ldBar")){root.setAttribute("class",cls+" ldBar")}idPrefix="ldBar-"+Math.random().toString(16).substring(2);id={key:idPrefix,clip:idPrefix+"-clip",filter:idPrefix+"-filter",pattern:idPrefix+"-pattern",mask:idPrefix+"-mask",maskPath:idPrefix+"-mask-path"};domTree=function(n,o){var k,v;n=newNode(n);for(k in o){v=o[k];if(k!=="attr"){n.appendChild(domTree(k,v||{}))}}n.attrs(o.attr||{});return n};newNode=function(n){return document.createElementNS("http://www.w3.org/2000/svg",n)};x$=document.body.__proto__.__proto__.__proto__;x$.text=function(t){return this.appendChild(document.createTextNode(t))};x$.attrs=function(o){var k,v,ret,results$=[];for(k in o){v=o[k];ret=/([^:]+):([^:]+)/.exec(k);if(!ret||!xmlns[ret[1]]){results$.push(this.setAttribute(k,v))}else{results$.push(this.setAttributeNS(xmlns[ret[1]],k,v))}}return results$};x$.styles=function(o){var k,v,results$=[];for(k in o){v=o[k];results$.push(this.style[k]=v)}return results$};x$.append=function(n){var r;return this.appendChild(r=document.createElementNS("http://www.w3.og/2000/svg",n))};x$.attr=function(n,v){if(v!=null){return this.setAttribute(n,v)}else{return this.getAttribute(n)}};config={type:"stroke",img:"",path:"M10 10L90 10M90 8M90 12","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"pattern-size":null,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,duration:1,easing:"linear",value:0,"img-size":null,bbox:null,"set-dim":true,"aspect-ratio":"xMidYMid","transition-in":false,min:0,max:100,precision:0,padding:undefined};config["preset"]=root.attr("data-preset")||option["preset"];if(config.preset!=null){import$(config,presets[config.preset])}for(attr in config){if(that=that=root.attr("data-"+attr)){config[attr]=that}}import$(config,option);if(config.img){config.path=null}isStroke=config.type==="stroke";parseRes=function(v){var parser,ret;parser=/data:ldbar\/res,([^()]+)\(([^)]+)\)/;ret=parser.exec(v);if(!ret){return v}return ret=make[ret[1]].apply(make,ret[2].split(","))};config.fill=parseRes(config.fill);config.stroke=parseRes(config.stroke);if(config["set-dim"]==="false"){config["set-dim"]=false}dom={attr:{"xmlns:xlink":"http://www.w3.org/1999/xlink",preserveAspectRatio:config["aspect-ratio"],width:"100%",height:"100%"},defs:{filter:{attr:{id:id.filter,x:-1,y:-1,width:3,height:3},feMorphology:{attr:{operator:+config["fill-background-extrude"]>=0?"dilate":"erode",radius:Math.abs(+config["fill-background-extrude"])}},feColorMatrix:{attr:{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",result:"cm"}}},mask:{attr:{id:id.mask},image:{attr:{"xlink:href":config.img,filter:"url(#"+id.filter+")",x:0,y:0,width:100,height:100,preserveAspectRatio:config["aspect-ratio"]}}},g:{mask:{attr:{id:id.maskPath},path:{attr:{d:config.path||"",fill:"#fff",stroke:"#fff",filter:"url(#"+id.filter+")"}}}},clipPath:{attr:{id:id.clip},rect:{attr:{class:"mask",fill:"#000"}}},pattern:{attr:{id:id.pattern,patternUnits:"userSpaceOnUse",x:0,y:0,width:300,height:300},image:{attr:{x:0,y:0,width:300,height:300}}}}};svg=domTree("svg",dom);text=document.createElement("div");text.setAttribute("class","ldBar-label");root.appendChild(svg);root.appendChild(text);group=[0,0];length=0;this.fit=function(){var that,box,d,rect;if(that=config["bbox"]){box=that.split(" ").map(function(it){return+it.trim()});box={x:box[0],y:box[1],width:box[2],height:box[3]}}else{box=group[1].getBBox()}if(!box||box.width===0||box.height===0){box={x:0,y:0,width:100,height:100}}d=Math.max.apply(null,["stroke-width","stroke-trail-width","fill-background-extrude"].map(function(it){return config[it]}))*1.5;if(config["padding"]!=null){d=+config["padding"]}svg.attrs({viewBox:[box.x-d,box.y-d,box.width+d*2,box.height+d*2].join(" ")});if(config["set-dim"]){["width","height"].map(function(it){if(!root.style[it]||this$.fit[it]){root.style[it]=box[it]+d*2+"px";return this$.fit[it]=true}})}rect=group[0].querySelector("rect");if(rect){return rect.attrs({x:box.x-d,y:box.y-d,width:box.width+d*2,height:box.height+d*2})}};if(config.path){if(isStroke){group[0]=domTree("g",{path:{attr:{d:config.path,fill:"none",class:"baseline"}}})}else{group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.maskPath+")",fill:config["fill-background"],class:"frame"}}})}svg.appendChild(group[0]);group[1]=domTree("g",{path:{attr:{d:config.path,class:isStroke?"mainline":"solid","clip-path":config.type==="fill"?"url(#"+id.clip+")":""}}});svg.appendChild(group[1]);path0=group[0].querySelector(isStroke?"path":"rect");path1=group[1].querySelector("path");if(isStroke){path1.attrs({fill:"none"})}patimg=svg.querySelector("pattern image");img=new Image;img.addEventListener("load",function(){var box,that;box=(that=config["pattern-size"])?{width:+that,height:+that}:img.width&&img.height?{width:img.width,height:img.height}:{width:300,height:300};svg.querySelector("pattern").attrs({width:box.width,height:box.height});return patimg.attrs({width:box.width,height:box.height})});if(/.+\..+|^data:/.exec(!isStroke?config.fill:config.stroke)){img.src=!isStroke?config.fill:config.stroke;patimg.attrs({"xlink:href":img.src})}if(isStroke){path0.attrs({stroke:config["stroke-trail"],"stroke-width":config["stroke-trail-width"]});path1.attrs({"stroke-width":config["stroke-width"],stroke:/.+\..+|^data:/.exec(config.stroke)?"url(#"+id.pattern+")":config.stroke})}if(config.fill&&!isStroke){path1.attrs({fill:/.+\..+|^data:/.exec(config.fill)?"url(#"+id.pattern+")":config.fill})}length=path1.getTotalLength();this.fit();this.inited=true}else if(config.img){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"clip-path":config.type==="fill"?"url(#"+id.clip+")":"","xlink:href":config.img,class:"solid"}}});img=new Image;img.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img.width&&img.height){size={width:img.width,height:img.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img.src=config.img;if(config.img2){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"xlink:href":config.img2,class:"solid"}}});img2=new Image;img2.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img2.width&&img2.height){size={width:img2.width,height:img2.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img2.src=config.img2}svg.appendChild(group[0]);if(config.img2){svg.appendChild(group[2])}svg.appendChild(group[1])}svg.attrs({width:"100%",height:"100%"});this.transition={value:{src:0,des:0},time:{},ease:function(t,b,c,d){t=t/(d*.5);if(t<1){return c*.5*t*t+b}t=t-1;return-c*.5*(t*(t-2)-1)+b},handler:function(time,doTransition){var ref$,min,max,prec,dv,dt,dur,v,p,node,style,box,dir;doTransition==null&&(doTransition=true);if(this.time.src==null){this.time.src=time}ref$=[config["min"],config["max"],1/config["precision"]],min=ref$[0],max=ref$[1],prec=ref$[2];ref$=[this.value.des-this.value.src,(time-this.time.src)*.001,+config["duration"]||1],dv=ref$[0],dt=ref$[1],dur=ref$[2];v=doTransition?this.ease(dt,this.value.src,dv,dur):this.value.des;if(config.precision){v=Math.round(v*prec)/prec}else if(doTransition){v=Math.round(v)}v>=min||(v=min);v<=max||(v=max);text.textContent=v;p=100*(v-min)/(max-min);if(isStroke){node=path1;style={"stroke-dasharray":config["stroke-dir"]==="reverse"?"0 "+length*(100-p)*.01+" "+length*p*.01+" 0":p*.01*length+" "+((100-p)*.01*length+1)}}else{box=group[1].getBBox();dir=config["fill-dir"];style=dir==="btt"||!dir?{y:box.y+box.height*(100-p)*.01,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ttb"?{y:box.y,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ltr"?{y:box.y,height:box.height,x:box.x,width:box.width*p*.01}:dir==="rtl"?{y:box.y,height:box.height,x:box.x+box.width*(100-p)*.01,width:box.width*p*.01}:void 8;node=svg.querySelector("rect")}node.attrs(style);if(dt>=dur){delete this.time.src;return false}return true},start:function(src,des,doTransition){var ref$,this$=this;ref$=this.value;ref$.src=src;ref$.des=des;!!(root.offsetWidth||root.offsetHeight||root.getClientRects().length);if(!doTransition||!(root.offsetWidth||root.offsetHeight||root.getClientRects().length)){this.time.src=0;this.handler(1e3,false);return}return handler.add(id.key,function(time){return this$.handler(time)})}};this.set=function(v,doTransition){var src,des;doTransition==null&&(doTransition=true);src=this.value||0;if(v!=null){this.value=v}else{v=this.value}des=this.value;return this.transition.start(src,des,doTransition)};this.set(+config.value||0,config["transition-in"])||false;return this};return window.addEventListener("load",function(){var i$,ref$,len$,node,results$=[];for(i$=0,len$=(ref$=document.querySelectorAll(".ldBar")).length;i$LOADING',"fill-background-extrude":1.3,"pattern-size":100,"fill-dir":"ltr","img-size":"70,20",bbox:"0 0 70 20"},line:{type:"stroke",path:"M10 10L90 10",stroke:"#25b","stroke-width":3,"stroke-trail":"#ddd","stroke-trail-width":1,bbox:"10 10 80 10"},fan:{type:"stroke",path:"M10 90A40 40 0 0 1 90 90","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 50 80 40"},circle:{type:"stroke",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"},bubble:{type:"fill",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"data:ldbar/res,bubble(#39d,#cef)","pattern-size":"150","fill-background":"#ddd","fill-background-extrude":2,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"}}},{}]},{},[1]); +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o\n '},gradient:function(dir,dur){var colors,ret,len,gx,gy,x,y,i$,i,idx;dir==null&&(dir=45);dur==null&&(dur=1);colors=slice$.call(arguments,2);ret=[this.head("0 0 100 100")];len=colors.length*4+1;dir=dir*Math.PI/180;gx=Math.pow(Math.cos(dir),2);gy=Math.sqrt(gx-Math.pow(gx,2));if(dir>Math.PI*.25){gy=Math.pow(Math.sin(dir),2);gx=Math.sqrt(gy-Math.pow(gy,2))}x=gx*100;y=gy*100;ret.push('');for(i$=0;i$')}ret.push('\n\n');return wrap(ret.join(""))},stripe:function(c1,c2,dur){var ret,i;c1==null&&(c1="#b4b4b4");c2==null&&(c2="#e6e6e6");dur==null&&(dur=1);ret=[this.head("0 0 100 100")];ret=ret.concat(['',"",function(){var i$,results$=[];for(i$=0;i$<13;++i$){i=i$;results$.push(''))}return results$}().join(""),''].join(""));return wrap(ret)},bubble:function(c1,c2,count,dur,size,sw){var ret,i$,i,idx,x,r,d;c1==null&&(c1="#39d");c2==null&&(c2="#9cf");count==null&&(count=15);dur==null&&(dur=1);size==null&&(size=6);sw==null&&(sw=1);ret=[this.head("0 0 200 200"),''];for(i$=0;i$','',"",'','',""].join(""))}return wrap(ret.join("")+"")}};handler={queue:{},running:false,main:function(timestamp){var keepon,removed,k,ref$,func,ret,this$=this;keepon=false;removed=[];for(k in ref$=this.queue){func=ref$[k];ret=func(timestamp);if(!ret){removed.push(func)}keepon=keepon||ret}for(k in ref$=this.queue){func=ref$[k];if(removed.indexOf(func)>=0){delete this.queue[k]}}if(keepon){return requestAnimationFrame(function(it){return this$.main(it)})}else{return this.running=false}},add:function(key,f){var this$=this;if(!this.queue[key]){this.queue[key]=f}if(!this.running){this.running=true;return requestAnimationFrame(function(it){return this$.main(it)})}}};window.ldBar=ldBar=function(selector,option){var xmlns,root,cls,idPrefix,id,domTree,newNode,x$,config,attr,that,isStroke,parseRes,dom,svg,text,group,length,path0,path1,patimg,img,ret,size,img2,this$=this;option==null&&(option={});xmlns={xlink:"http://www.w3.org/1999/xlink"};root=toString$.call(selector).slice(8,-1)==="String"?document.querySelector(selector):selector;if(!root.ldBar){root.ldBar=this}else{return root.ldBar}cls=root.getAttribute("class")||"";if(!~cls.indexOf("ldBar")){root.setAttribute("class",cls+" ldBar")}idPrefix="ldBar-"+Math.random().toString(16).substring(2);id={key:idPrefix,clip:idPrefix+"-clip",filter:idPrefix+"-filter",pattern:idPrefix+"-pattern",mask:idPrefix+"-mask",maskPath:idPrefix+"-mask-path"};domTree=function(n,o){var k,v;n=newNode(n);for(k in o){v=o[k];if(k!=="attr"){n.appendChild(domTree(k,v||{}))}}n.attrs(o.attr||{});return n};newNode=function(n){return document.createElementNS("http://www.w3.org/2000/svg",n)};x$=document.body.__proto__.__proto__.__proto__;x$.text=function(t){return this.appendChild(document.createTextNode(t))};x$.attrs=function(o){var k,v,ret,results$=[];for(k in o){v=o[k];ret=/([^:]+):([^:]+)/.exec(k);if(!ret||!xmlns[ret[1]]){results$.push(this.setAttribute(k,v))}else{results$.push(this.setAttributeNS(xmlns[ret[1]],k,v))}}return results$};x$.styles=function(o){var k,v,results$=[];for(k in o){v=o[k];results$.push(this.style[k]=v)}return results$};x$.append=function(n){var r;return this.appendChild(r=document.createElementNS("http://www.w3.og/2000/svg",n))};x$.attr=function(n,v){if(v!=null){return this.setAttribute(n,v)}else{return this.getAttribute(n)}};config={type:"stroke",img:"",path:"M10 10L90 10M90 8M90 12","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"pattern-size":null,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,duration:1,easing:"linear",value:0,"img-size":null,bbox:null,"set-dim":true,"aspect-ratio":"xMidYMid","transition-in":false,min:0,max:100,precision:0,padding:undefined};config["preset"]=root.attr("data-preset")||option["preset"];if(config.preset!=null){import$(config,presets[config.preset])}for(attr in config){if(that=that=root.attr("data-"+attr)){config[attr]=that}}import$(config,option);if(config.img){config.path=null}isStroke=config.type==="stroke";parseRes=function(v){var parser,ret;parser=/data:ldbar\/res,([^()]+)\(([^)]+)\)/;ret=parser.exec(v);if(!ret){return v}return ret=make[ret[1]].apply(make,ret[2].split(","))};config.fill=parseRes(config.fill);config.stroke=parseRes(config.stroke);if(config["set-dim"]==="false"){config["set-dim"]=false}dom={attr:{"xmlns:xlink":"http://www.w3.org/1999/xlink",preserveAspectRatio:config["aspect-ratio"],width:"100%",height:"100%"},defs:{filter:{attr:{id:id.filter,x:-1,y:-1,width:3,height:3},feMorphology:{attr:{operator:+config["fill-background-extrude"]>=0?"dilate":"erode",radius:Math.abs(+config["fill-background-extrude"])}},feColorMatrix:{attr:{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",result:"cm"}}},mask:{attr:{id:id.mask},image:{attr:{"xlink:href":config.img,filter:"url(#"+id.filter+")",x:0,y:0,width:100,height:100,preserveAspectRatio:config["aspect-ratio"]}}},g:{mask:{attr:{id:id.maskPath},path:{attr:{d:config.path||"",fill:"#fff",stroke:"#fff",filter:"url(#"+id.filter+")"}}}},clipPath:{attr:{id:id.clip},rect:{attr:{class:"mask",fill:"#000"}}},pattern:{attr:{id:id.pattern,patternUnits:"userSpaceOnUse",x:0,y:0,width:300,height:300},image:{attr:{x:0,y:0,width:300,height:300}}}}};svg=domTree("svg",dom);text=document.createElement("div");text.setAttribute("class","ldBar-label");root.appendChild(svg);root.appendChild(text);group=[0,0];length=0;this.fit=function(){var that,box,d,rect;if(that=config["bbox"]){box=that.split(" ").map(function(it){return+it.trim()});box={x:box[0],y:box[1],width:box[2],height:box[3]}}else{box=group[1].getBBox()}if(!box||box.width===0||box.height===0){box={x:0,y:0,width:100,height:100}}d=Math.max.apply(null,["stroke-width","stroke-trail-width","fill-background-extrude"].map(function(it){return config[it]}))*1.5;if(config["padding"]!=null){d=+config["padding"]}svg.attrs({viewBox:[box.x-d,box.y-d,box.width+d*2,box.height+d*2].join(" ")});if(config["set-dim"]){["width","height"].map(function(it){if(!root.style[it]||this$.fit[it]){root.style[it]=box[it]+d*2+"px";return this$.fit[it]=true}})}rect=group[0].querySelector("rect");if(rect){return rect.attrs({x:box.x-d,y:box.y-d,width:box.width+d*2,height:box.height+d*2})}};if(config.path){if(isStroke){group[0]=domTree("g",{path:{attr:{d:config.path,fill:"none",class:"baseline"}}})}else{group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.maskPath+")",fill:config["fill-background"],class:"frame"}}})}svg.appendChild(group[0]);group[1]=domTree("g",{path:{attr:{d:config.path,class:isStroke?"mainline":"solid","clip-path":config.type==="fill"?"url(#"+id.clip+")":""}}});svg.appendChild(group[1]);path0=group[0].querySelector(isStroke?"path":"rect");path1=group[1].querySelector("path");if(isStroke){path1.attrs({fill:"none"})}patimg=svg.querySelector("pattern image");img=new Image;img.addEventListener("load",function(){var box,that;box=(that=config["pattern-size"])?{width:+that,height:+that}:img.width&&img.height?{width:img.width,height:img.height}:{width:300,height:300};svg.querySelector("pattern").attrs({width:box.width,height:box.height});return patimg.attrs({width:box.width,height:box.height})});if(/.+\..+|^data:/.exec(!isStroke?config.fill:config.stroke)){img.src=!isStroke?config.fill:config.stroke;patimg.attrs({"xlink:href":img.src})}if(isStroke){path0.attrs({stroke:config["stroke-trail"],"stroke-width":config["stroke-trail-width"]});path1.attrs({"stroke-width":config["stroke-width"],stroke:/.+\..+|^data:/.exec(config.stroke)?"url(#"+id.pattern+")":config.stroke})}if(config.fill&&!isStroke){path1.attrs({fill:/.+\..+|^data:/.exec(config.fill)?"url(#"+id.pattern+")":config.fill})}length=path1.getTotalLength();this.fit();this.inited=true}else if(config.img){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"clip-path":config.type==="fill"?"url(#"+id.clip+")":"","xlink:href":config.img,class:"solid"}}});img=new Image;img.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img.width&&img.height){size={width:img.width,height:img.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img.src=config.img;if(config.img2){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"xlink:href":config.img2,class:"solid"}}});img2=new Image;img2.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img2.width&&img2.height){size={width:img2.width,height:img2.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img2.src=config.img2}svg.appendChild(group[0]);if(config.img2){svg.appendChild(group[2])}svg.appendChild(group[1])}svg.attrs({width:"100%",height:"100%"});this.transition={value:{src:0,des:0},time:{},ease:function(t,b,c,d){t=t/(d*.5);if(t<1){return c*.5*t*t+b}t=t-1;return-c*.5*(t*(t-2)-1)+b},handler:function(time,doTransition){var ref$,min,max,prec,dv,dt,dur,v,decimals,p,node,style,box,dir;doTransition==null&&(doTransition=true);if(this.time.src==null){this.time.src=time}ref$=[config["min"],config["max"],1/config["precision"]],min=ref$[0],max=ref$[1],prec=ref$[2];ref$=[this.value.des-this.value.src,(time-this.time.src)*.001,+config["duration"]||1],dv=ref$[0],dt=ref$[1],dur=ref$[2];v=doTransition?this.ease(dt,this.value.src,dv,dur):this.value.des;if(config.precision){v=Math.round(v*prec)/prec}else if(doTransition){v=Math.round(v)}v>=min||(v=min);v<=max||(v=max);decimals=(prec+"").length-1;text.textContent=v.toFixed(decimals)+"";p=100*(v-min)/(max-min);if(isStroke){node=path1;style={"stroke-dasharray":config["stroke-dir"]==="reverse"?"0 "+length*(100-p)*.01+" "+length*p*.01+" 0":p*.01*length+" "+((100-p)*.01*length+1)}}else{box=group[1].getBBox();dir=config["fill-dir"];style=dir==="btt"||!dir?{y:box.y+box.height*(100-p)*.01,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ttb"?{y:box.y,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ltr"?{y:box.y,height:box.height,x:box.x,width:box.width*p*.01}:dir==="rtl"?{y:box.y,height:box.height,x:box.x+box.width*(100-p)*.01,width:box.width*p*.01}:void 8;node=svg.querySelector("rect")}node.attrs(style);if(dt>=dur){delete this.time.src;return false}return true},start:function(src,des,doTransition){var ref$,this$=this;ref$=this.value;ref$.src=src;ref$.des=des;!!(root.offsetWidth||root.offsetHeight||root.getClientRects().length);if(!doTransition||!(root.offsetWidth||root.offsetHeight||root.getClientRects().length)){this.time.src=0;this.handler(1e3,false);return}return handler.add(id.key,function(time){return this$.handler(time)})}};this.set=function(v,doTransition){var src,des;doTransition==null&&(doTransition=true);src=this.value||0;if(v!=null){this.value=v}else{v=this.value}des=this.value;return this.transition.start(src,des,doTransition)};this.set(+config.value||0,config["transition-in"])||false;return this};return window.addEventListener("load",function(){var i$,ref$,len$,node,results$=[];for(i$=0,len$=(ref$=document.querySelectorAll(".ldBar")).length;i$LOADING',"fill-background-extrude":1.3,"pattern-size":100,"fill-dir":"ltr","img-size":"70,20",bbox:"0 0 70 20"},line:{type:"stroke",path:"M10 10L90 10",stroke:"#25b","stroke-width":3,"stroke-trail":"#ddd","stroke-trail-width":1,bbox:"10 10 80 10"},fan:{type:"stroke",path:"M10 90A40 40 0 0 1 90 90","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 50 80 40"},circle:{type:"stroke",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"},bubble:{type:"fill",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"data:ldbar/res,bubble(#39d,#cef)","pattern-size":"150","fill-background":"#ddd","fill-background-extrude":2,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"}}},{}]},{},[1]); diff --git a/dist/loading-bar.zip b/dist/loading-bar.zip index 2b369a52623b34e9f7fc980385576868bd6bb03f..c59962151f6df9763a6132f566a3748aa218dee2 100644 GIT binary patch delta 10618 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 T6$xSfkHE`L2Aj?L-(UV0OD;$x diff --git a/src/loading-bar.ls b/src/loading-bar.ls index dd4b7b1..87e2b77 100644 --- a/src/loading-bar.ls +++ b/src/loading-bar.ls @@ -385,7 +385,8 @@ do -> else if doTransition => v = Math.round(v) v >?= min v node = path1 From 44e277cf1c6bb3f7843dc04054dd4c614e7a9d53 Mon Sep 17 00:00:00 2001 From: Cerem Cem ASLAN Date: Sun, 2 Aug 2020 19:20:37 +0300 Subject: [PATCH 4/4] added limit-top and limit-bottom options --- dist/loading-bar.js | 9 +++++++-- dist/loading-bar.min.js | 2 +- dist/loading-bar.zip | Bin 12895 -> 13015 bytes src/loading-bar.ls | 6 ++++++ 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/dist/loading-bar.js b/dist/loading-bar.js index 3cc63f4..1de857f 100644 --- a/dist/loading-bar.js +++ b/dist/loading-bar.js @@ -220,7 +220,9 @@ wrap = function(content){ "min": 0, "max": 100, "precision": 0, - "padding": undefined + "padding": undefined, + 'limit-top': 1.0, + 'limit-bottom': 0.0 }; config["preset"] = root.attr("data-preset") || option["preset"]; if (config.preset != null) { @@ -682,7 +684,7 @@ wrap = function(content){ return -c * 0.5 * (t * (t - 2) - 1) + b; }, handler: function(time, doTransition){ - var ref$, min, max, prec, dv, dt, dur, v, decimals, p, node, style, box, dir; + var ref$, min, max, prec, dv, dt, dur, v, decimals, p, t, b, node, style, box, dir; doTransition == null && (doTransition = true); if (this.time.src == null) { this.time.src = time; @@ -702,6 +704,9 @@ wrap = function(content){ decimals = (prec + "").length - 1; text.textContent = v.toFixed(decimals) + ""; p = 100.0 * (v - min) / (max - min); + t = 1 - config["limit-top"]; + b = config["limit-bottom"]; + p = 100 * ((v - min) * (1 - t - b) / (max - min) + b); if (isStroke) { node = path1; style = { diff --git a/dist/loading-bar.min.js b/dist/loading-bar.min.js index 6036848..ab62429 100644 --- a/dist/loading-bar.min.js +++ b/dist/loading-bar.min.js @@ -1 +1 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o\n '},gradient:function(dir,dur){var colors,ret,len,gx,gy,x,y,i$,i,idx;dir==null&&(dir=45);dur==null&&(dur=1);colors=slice$.call(arguments,2);ret=[this.head("0 0 100 100")];len=colors.length*4+1;dir=dir*Math.PI/180;gx=Math.pow(Math.cos(dir),2);gy=Math.sqrt(gx-Math.pow(gx,2));if(dir>Math.PI*.25){gy=Math.pow(Math.sin(dir),2);gx=Math.sqrt(gy-Math.pow(gy,2))}x=gx*100;y=gy*100;ret.push('');for(i$=0;i$')}ret.push('\n\n');return wrap(ret.join(""))},stripe:function(c1,c2,dur){var ret,i;c1==null&&(c1="#b4b4b4");c2==null&&(c2="#e6e6e6");dur==null&&(dur=1);ret=[this.head("0 0 100 100")];ret=ret.concat(['',"",function(){var i$,results$=[];for(i$=0;i$<13;++i$){i=i$;results$.push(''))}return results$}().join(""),''].join(""));return wrap(ret)},bubble:function(c1,c2,count,dur,size,sw){var ret,i$,i,idx,x,r,d;c1==null&&(c1="#39d");c2==null&&(c2="#9cf");count==null&&(count=15);dur==null&&(dur=1);size==null&&(size=6);sw==null&&(sw=1);ret=[this.head("0 0 200 200"),''];for(i$=0;i$','',"",'','',""].join(""))}return wrap(ret.join("")+"")}};handler={queue:{},running:false,main:function(timestamp){var keepon,removed,k,ref$,func,ret,this$=this;keepon=false;removed=[];for(k in ref$=this.queue){func=ref$[k];ret=func(timestamp);if(!ret){removed.push(func)}keepon=keepon||ret}for(k in ref$=this.queue){func=ref$[k];if(removed.indexOf(func)>=0){delete this.queue[k]}}if(keepon){return requestAnimationFrame(function(it){return this$.main(it)})}else{return this.running=false}},add:function(key,f){var this$=this;if(!this.queue[key]){this.queue[key]=f}if(!this.running){this.running=true;return requestAnimationFrame(function(it){return this$.main(it)})}}};window.ldBar=ldBar=function(selector,option){var xmlns,root,cls,idPrefix,id,domTree,newNode,x$,config,attr,that,isStroke,parseRes,dom,svg,text,group,length,path0,path1,patimg,img,ret,size,img2,this$=this;option==null&&(option={});xmlns={xlink:"http://www.w3.org/1999/xlink"};root=toString$.call(selector).slice(8,-1)==="String"?document.querySelector(selector):selector;if(!root.ldBar){root.ldBar=this}else{return root.ldBar}cls=root.getAttribute("class")||"";if(!~cls.indexOf("ldBar")){root.setAttribute("class",cls+" ldBar")}idPrefix="ldBar-"+Math.random().toString(16).substring(2);id={key:idPrefix,clip:idPrefix+"-clip",filter:idPrefix+"-filter",pattern:idPrefix+"-pattern",mask:idPrefix+"-mask",maskPath:idPrefix+"-mask-path"};domTree=function(n,o){var k,v;n=newNode(n);for(k in o){v=o[k];if(k!=="attr"){n.appendChild(domTree(k,v||{}))}}n.attrs(o.attr||{});return n};newNode=function(n){return document.createElementNS("http://www.w3.org/2000/svg",n)};x$=document.body.__proto__.__proto__.__proto__;x$.text=function(t){return this.appendChild(document.createTextNode(t))};x$.attrs=function(o){var k,v,ret,results$=[];for(k in o){v=o[k];ret=/([^:]+):([^:]+)/.exec(k);if(!ret||!xmlns[ret[1]]){results$.push(this.setAttribute(k,v))}else{results$.push(this.setAttributeNS(xmlns[ret[1]],k,v))}}return results$};x$.styles=function(o){var k,v,results$=[];for(k in o){v=o[k];results$.push(this.style[k]=v)}return results$};x$.append=function(n){var r;return this.appendChild(r=document.createElementNS("http://www.w3.og/2000/svg",n))};x$.attr=function(n,v){if(v!=null){return this.setAttribute(n,v)}else{return this.getAttribute(n)}};config={type:"stroke",img:"",path:"M10 10L90 10M90 8M90 12","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"pattern-size":null,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,duration:1,easing:"linear",value:0,"img-size":null,bbox:null,"set-dim":true,"aspect-ratio":"xMidYMid","transition-in":false,min:0,max:100,precision:0,padding:undefined};config["preset"]=root.attr("data-preset")||option["preset"];if(config.preset!=null){import$(config,presets[config.preset])}for(attr in config){if(that=that=root.attr("data-"+attr)){config[attr]=that}}import$(config,option);if(config.img){config.path=null}isStroke=config.type==="stroke";parseRes=function(v){var parser,ret;parser=/data:ldbar\/res,([^()]+)\(([^)]+)\)/;ret=parser.exec(v);if(!ret){return v}return ret=make[ret[1]].apply(make,ret[2].split(","))};config.fill=parseRes(config.fill);config.stroke=parseRes(config.stroke);if(config["set-dim"]==="false"){config["set-dim"]=false}dom={attr:{"xmlns:xlink":"http://www.w3.org/1999/xlink",preserveAspectRatio:config["aspect-ratio"],width:"100%",height:"100%"},defs:{filter:{attr:{id:id.filter,x:-1,y:-1,width:3,height:3},feMorphology:{attr:{operator:+config["fill-background-extrude"]>=0?"dilate":"erode",radius:Math.abs(+config["fill-background-extrude"])}},feColorMatrix:{attr:{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",result:"cm"}}},mask:{attr:{id:id.mask},image:{attr:{"xlink:href":config.img,filter:"url(#"+id.filter+")",x:0,y:0,width:100,height:100,preserveAspectRatio:config["aspect-ratio"]}}},g:{mask:{attr:{id:id.maskPath},path:{attr:{d:config.path||"",fill:"#fff",stroke:"#fff",filter:"url(#"+id.filter+")"}}}},clipPath:{attr:{id:id.clip},rect:{attr:{class:"mask",fill:"#000"}}},pattern:{attr:{id:id.pattern,patternUnits:"userSpaceOnUse",x:0,y:0,width:300,height:300},image:{attr:{x:0,y:0,width:300,height:300}}}}};svg=domTree("svg",dom);text=document.createElement("div");text.setAttribute("class","ldBar-label");root.appendChild(svg);root.appendChild(text);group=[0,0];length=0;this.fit=function(){var that,box,d,rect;if(that=config["bbox"]){box=that.split(" ").map(function(it){return+it.trim()});box={x:box[0],y:box[1],width:box[2],height:box[3]}}else{box=group[1].getBBox()}if(!box||box.width===0||box.height===0){box={x:0,y:0,width:100,height:100}}d=Math.max.apply(null,["stroke-width","stroke-trail-width","fill-background-extrude"].map(function(it){return config[it]}))*1.5;if(config["padding"]!=null){d=+config["padding"]}svg.attrs({viewBox:[box.x-d,box.y-d,box.width+d*2,box.height+d*2].join(" ")});if(config["set-dim"]){["width","height"].map(function(it){if(!root.style[it]||this$.fit[it]){root.style[it]=box[it]+d*2+"px";return this$.fit[it]=true}})}rect=group[0].querySelector("rect");if(rect){return rect.attrs({x:box.x-d,y:box.y-d,width:box.width+d*2,height:box.height+d*2})}};if(config.path){if(isStroke){group[0]=domTree("g",{path:{attr:{d:config.path,fill:"none",class:"baseline"}}})}else{group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.maskPath+")",fill:config["fill-background"],class:"frame"}}})}svg.appendChild(group[0]);group[1]=domTree("g",{path:{attr:{d:config.path,class:isStroke?"mainline":"solid","clip-path":config.type==="fill"?"url(#"+id.clip+")":""}}});svg.appendChild(group[1]);path0=group[0].querySelector(isStroke?"path":"rect");path1=group[1].querySelector("path");if(isStroke){path1.attrs({fill:"none"})}patimg=svg.querySelector("pattern image");img=new Image;img.addEventListener("load",function(){var box,that;box=(that=config["pattern-size"])?{width:+that,height:+that}:img.width&&img.height?{width:img.width,height:img.height}:{width:300,height:300};svg.querySelector("pattern").attrs({width:box.width,height:box.height});return patimg.attrs({width:box.width,height:box.height})});if(/.+\..+|^data:/.exec(!isStroke?config.fill:config.stroke)){img.src=!isStroke?config.fill:config.stroke;patimg.attrs({"xlink:href":img.src})}if(isStroke){path0.attrs({stroke:config["stroke-trail"],"stroke-width":config["stroke-trail-width"]});path1.attrs({"stroke-width":config["stroke-width"],stroke:/.+\..+|^data:/.exec(config.stroke)?"url(#"+id.pattern+")":config.stroke})}if(config.fill&&!isStroke){path1.attrs({fill:/.+\..+|^data:/.exec(config.fill)?"url(#"+id.pattern+")":config.fill})}length=path1.getTotalLength();this.fit();this.inited=true}else if(config.img){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"clip-path":config.type==="fill"?"url(#"+id.clip+")":"","xlink:href":config.img,class:"solid"}}});img=new Image;img.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img.width&&img.height){size={width:img.width,height:img.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img.src=config.img;if(config.img2){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"xlink:href":config.img2,class:"solid"}}});img2=new Image;img2.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img2.width&&img2.height){size={width:img2.width,height:img2.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img2.src=config.img2}svg.appendChild(group[0]);if(config.img2){svg.appendChild(group[2])}svg.appendChild(group[1])}svg.attrs({width:"100%",height:"100%"});this.transition={value:{src:0,des:0},time:{},ease:function(t,b,c,d){t=t/(d*.5);if(t<1){return c*.5*t*t+b}t=t-1;return-c*.5*(t*(t-2)-1)+b},handler:function(time,doTransition){var ref$,min,max,prec,dv,dt,dur,v,decimals,p,node,style,box,dir;doTransition==null&&(doTransition=true);if(this.time.src==null){this.time.src=time}ref$=[config["min"],config["max"],1/config["precision"]],min=ref$[0],max=ref$[1],prec=ref$[2];ref$=[this.value.des-this.value.src,(time-this.time.src)*.001,+config["duration"]||1],dv=ref$[0],dt=ref$[1],dur=ref$[2];v=doTransition?this.ease(dt,this.value.src,dv,dur):this.value.des;if(config.precision){v=Math.round(v*prec)/prec}else if(doTransition){v=Math.round(v)}v>=min||(v=min);v<=max||(v=max);decimals=(prec+"").length-1;text.textContent=v.toFixed(decimals)+"";p=100*(v-min)/(max-min);if(isStroke){node=path1;style={"stroke-dasharray":config["stroke-dir"]==="reverse"?"0 "+length*(100-p)*.01+" "+length*p*.01+" 0":p*.01*length+" "+((100-p)*.01*length+1)}}else{box=group[1].getBBox();dir=config["fill-dir"];style=dir==="btt"||!dir?{y:box.y+box.height*(100-p)*.01,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ttb"?{y:box.y,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ltr"?{y:box.y,height:box.height,x:box.x,width:box.width*p*.01}:dir==="rtl"?{y:box.y,height:box.height,x:box.x+box.width*(100-p)*.01,width:box.width*p*.01}:void 8;node=svg.querySelector("rect")}node.attrs(style);if(dt>=dur){delete this.time.src;return false}return true},start:function(src,des,doTransition){var ref$,this$=this;ref$=this.value;ref$.src=src;ref$.des=des;!!(root.offsetWidth||root.offsetHeight||root.getClientRects().length);if(!doTransition||!(root.offsetWidth||root.offsetHeight||root.getClientRects().length)){this.time.src=0;this.handler(1e3,false);return}return handler.add(id.key,function(time){return this$.handler(time)})}};this.set=function(v,doTransition){var src,des;doTransition==null&&(doTransition=true);src=this.value||0;if(v!=null){this.value=v}else{v=this.value}des=this.value;return this.transition.start(src,des,doTransition)};this.set(+config.value||0,config["transition-in"])||false;return this};return window.addEventListener("load",function(){var i$,ref$,len$,node,results$=[];for(i$=0,len$=(ref$=document.querySelectorAll(".ldBar")).length;i$LOADING',"fill-background-extrude":1.3,"pattern-size":100,"fill-dir":"ltr","img-size":"70,20",bbox:"0 0 70 20"},line:{type:"stroke",path:"M10 10L90 10",stroke:"#25b","stroke-width":3,"stroke-trail":"#ddd","stroke-trail-width":1,bbox:"10 10 80 10"},fan:{type:"stroke",path:"M10 90A40 40 0 0 1 90 90","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 50 80 40"},circle:{type:"stroke",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"},bubble:{type:"fill",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"data:ldbar/res,bubble(#39d,#cef)","pattern-size":"150","fill-background":"#ddd","fill-background-extrude":2,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"}}},{}]},{},[1]); +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o\n '},gradient:function(dir,dur){var colors,ret,len,gx,gy,x,y,i$,i,idx;dir==null&&(dir=45);dur==null&&(dur=1);colors=slice$.call(arguments,2);ret=[this.head("0 0 100 100")];len=colors.length*4+1;dir=dir*Math.PI/180;gx=Math.pow(Math.cos(dir),2);gy=Math.sqrt(gx-Math.pow(gx,2));if(dir>Math.PI*.25){gy=Math.pow(Math.sin(dir),2);gx=Math.sqrt(gy-Math.pow(gy,2))}x=gx*100;y=gy*100;ret.push('');for(i$=0;i$')}ret.push('\n\n');return wrap(ret.join(""))},stripe:function(c1,c2,dur){var ret,i;c1==null&&(c1="#b4b4b4");c2==null&&(c2="#e6e6e6");dur==null&&(dur=1);ret=[this.head("0 0 100 100")];ret=ret.concat(['',"",function(){var i$,results$=[];for(i$=0;i$<13;++i$){i=i$;results$.push(''))}return results$}().join(""),''].join(""));return wrap(ret)},bubble:function(c1,c2,count,dur,size,sw){var ret,i$,i,idx,x,r,d;c1==null&&(c1="#39d");c2==null&&(c2="#9cf");count==null&&(count=15);dur==null&&(dur=1);size==null&&(size=6);sw==null&&(sw=1);ret=[this.head("0 0 200 200"),''];for(i$=0;i$','',"",'','',""].join(""))}return wrap(ret.join("")+"")}};handler={queue:{},running:false,main:function(timestamp){var keepon,removed,k,ref$,func,ret,this$=this;keepon=false;removed=[];for(k in ref$=this.queue){func=ref$[k];ret=func(timestamp);if(!ret){removed.push(func)}keepon=keepon||ret}for(k in ref$=this.queue){func=ref$[k];if(removed.indexOf(func)>=0){delete this.queue[k]}}if(keepon){return requestAnimationFrame(function(it){return this$.main(it)})}else{return this.running=false}},add:function(key,f){var this$=this;if(!this.queue[key]){this.queue[key]=f}if(!this.running){this.running=true;return requestAnimationFrame(function(it){return this$.main(it)})}}};window.ldBar=ldBar=function(selector,option){var xmlns,root,cls,idPrefix,id,domTree,newNode,x$,config,attr,that,isStroke,parseRes,dom,svg,text,group,length,path0,path1,patimg,img,ret,size,img2,this$=this;option==null&&(option={});xmlns={xlink:"http://www.w3.org/1999/xlink"};root=toString$.call(selector).slice(8,-1)==="String"?document.querySelector(selector):selector;if(!root.ldBar){root.ldBar=this}else{return root.ldBar}cls=root.getAttribute("class")||"";if(!~cls.indexOf("ldBar")){root.setAttribute("class",cls+" ldBar")}idPrefix="ldBar-"+Math.random().toString(16).substring(2);id={key:idPrefix,clip:idPrefix+"-clip",filter:idPrefix+"-filter",pattern:idPrefix+"-pattern",mask:idPrefix+"-mask",maskPath:idPrefix+"-mask-path"};domTree=function(n,o){var k,v;n=newNode(n);for(k in o){v=o[k];if(k!=="attr"){n.appendChild(domTree(k,v||{}))}}n.attrs(o.attr||{});return n};newNode=function(n){return document.createElementNS("http://www.w3.org/2000/svg",n)};x$=document.body.__proto__.__proto__.__proto__;x$.text=function(t){return this.appendChild(document.createTextNode(t))};x$.attrs=function(o){var k,v,ret,results$=[];for(k in o){v=o[k];ret=/([^:]+):([^:]+)/.exec(k);if(!ret||!xmlns[ret[1]]){results$.push(this.setAttribute(k,v))}else{results$.push(this.setAttributeNS(xmlns[ret[1]],k,v))}}return results$};x$.styles=function(o){var k,v,results$=[];for(k in o){v=o[k];results$.push(this.style[k]=v)}return results$};x$.append=function(n){var r;return this.appendChild(r=document.createElementNS("http://www.w3.og/2000/svg",n))};x$.attr=function(n,v){if(v!=null){return this.setAttribute(n,v)}else{return this.getAttribute(n)}};config={type:"stroke",img:"",path:"M10 10L90 10M90 8M90 12","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"pattern-size":null,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,duration:1,easing:"linear",value:0,"img-size":null,bbox:null,"set-dim":true,"aspect-ratio":"xMidYMid","transition-in":false,min:0,max:100,precision:0,padding:undefined,"limit-top":1,"limit-bottom":0};config["preset"]=root.attr("data-preset")||option["preset"];if(config.preset!=null){import$(config,presets[config.preset])}for(attr in config){if(that=that=root.attr("data-"+attr)){config[attr]=that}}import$(config,option);if(config.img){config.path=null}isStroke=config.type==="stroke";parseRes=function(v){var parser,ret;parser=/data:ldbar\/res,([^()]+)\(([^)]+)\)/;ret=parser.exec(v);if(!ret){return v}return ret=make[ret[1]].apply(make,ret[2].split(","))};config.fill=parseRes(config.fill);config.stroke=parseRes(config.stroke);if(config["set-dim"]==="false"){config["set-dim"]=false}dom={attr:{"xmlns:xlink":"http://www.w3.org/1999/xlink",preserveAspectRatio:config["aspect-ratio"],width:"100%",height:"100%"},defs:{filter:{attr:{id:id.filter,x:-1,y:-1,width:3,height:3},feMorphology:{attr:{operator:+config["fill-background-extrude"]>=0?"dilate":"erode",radius:Math.abs(+config["fill-background-extrude"])}},feColorMatrix:{attr:{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",result:"cm"}}},mask:{attr:{id:id.mask},image:{attr:{"xlink:href":config.img,filter:"url(#"+id.filter+")",x:0,y:0,width:100,height:100,preserveAspectRatio:config["aspect-ratio"]}}},g:{mask:{attr:{id:id.maskPath},path:{attr:{d:config.path||"",fill:"#fff",stroke:"#fff",filter:"url(#"+id.filter+")"}}}},clipPath:{attr:{id:id.clip},rect:{attr:{class:"mask",fill:"#000"}}},pattern:{attr:{id:id.pattern,patternUnits:"userSpaceOnUse",x:0,y:0,width:300,height:300},image:{attr:{x:0,y:0,width:300,height:300}}}}};svg=domTree("svg",dom);text=document.createElement("div");text.setAttribute("class","ldBar-label");root.appendChild(svg);root.appendChild(text);group=[0,0];length=0;this.fit=function(){var that,box,d,rect;if(that=config["bbox"]){box=that.split(" ").map(function(it){return+it.trim()});box={x:box[0],y:box[1],width:box[2],height:box[3]}}else{box=group[1].getBBox()}if(!box||box.width===0||box.height===0){box={x:0,y:0,width:100,height:100}}d=Math.max.apply(null,["stroke-width","stroke-trail-width","fill-background-extrude"].map(function(it){return config[it]}))*1.5;if(config["padding"]!=null){d=+config["padding"]}svg.attrs({viewBox:[box.x-d,box.y-d,box.width+d*2,box.height+d*2].join(" ")});if(config["set-dim"]){["width","height"].map(function(it){if(!root.style[it]||this$.fit[it]){root.style[it]=box[it]+d*2+"px";return this$.fit[it]=true}})}rect=group[0].querySelector("rect");if(rect){return rect.attrs({x:box.x-d,y:box.y-d,width:box.width+d*2,height:box.height+d*2})}};if(config.path){if(isStroke){group[0]=domTree("g",{path:{attr:{d:config.path,fill:"none",class:"baseline"}}})}else{group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.maskPath+")",fill:config["fill-background"],class:"frame"}}})}svg.appendChild(group[0]);group[1]=domTree("g",{path:{attr:{d:config.path,class:isStroke?"mainline":"solid","clip-path":config.type==="fill"?"url(#"+id.clip+")":""}}});svg.appendChild(group[1]);path0=group[0].querySelector(isStroke?"path":"rect");path1=group[1].querySelector("path");if(isStroke){path1.attrs({fill:"none"})}patimg=svg.querySelector("pattern image");img=new Image;img.addEventListener("load",function(){var box,that;box=(that=config["pattern-size"])?{width:+that,height:+that}:img.width&&img.height?{width:img.width,height:img.height}:{width:300,height:300};svg.querySelector("pattern").attrs({width:box.width,height:box.height});return patimg.attrs({width:box.width,height:box.height})});if(/.+\..+|^data:/.exec(!isStroke?config.fill:config.stroke)){img.src=!isStroke?config.fill:config.stroke;patimg.attrs({"xlink:href":img.src})}if(isStroke){path0.attrs({stroke:config["stroke-trail"],"stroke-width":config["stroke-trail-width"]});path1.attrs({"stroke-width":config["stroke-width"],stroke:/.+\..+|^data:/.exec(config.stroke)?"url(#"+id.pattern+")":config.stroke})}if(config.fill&&!isStroke){path1.attrs({fill:/.+\..+|^data:/.exec(config.fill)?"url(#"+id.pattern+")":config.fill})}length=path1.getTotalLength();this.fit();this.inited=true}else if(config.img){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"clip-path":config.type==="fill"?"url(#"+id.clip+")":"","xlink:href":config.img,class:"solid"}}});img=new Image;img.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img.width&&img.height){size={width:img.width,height:img.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[1].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img.src=config.img;if(config.img2){if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else{size={width:100,height:100}}group[0]=domTree("g",{rect:{attr:{x:0,y:0,width:100,height:100,mask:"url(#"+id.mask+")",fill:config["fill-background"]}}});svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2]=domTree("g",{image:{attr:{width:size.width,height:size.height,x:0,y:0,preserveAspectRatio:config["aspect-ratio"],"xlink:href":config.img2,class:"solid"}}});img2=new Image;img2.addEventListener("load",function(){var ret,size,v;if(config["img-size"]){ret=config["img-size"].split(",");size={width:+ret[0],height:+ret[1]}}else if(img2.width&&img2.height){size={width:img2.width,height:img2.height}}else{size={width:100,height:100}}svg.querySelector("mask image").attrs({width:size.width,height:size.height});group[2].querySelector("image").attrs({width:size.width,height:size.height});this$.fit();v=this$.value;this$.value=undefined;this$.set(v,true);return this$.inited=true});img2.src=config.img2}svg.appendChild(group[0]);if(config.img2){svg.appendChild(group[2])}svg.appendChild(group[1])}svg.attrs({width:"100%",height:"100%"});this.transition={value:{src:0,des:0},time:{},ease:function(t,b,c,d){t=t/(d*.5);if(t<1){return c*.5*t*t+b}t=t-1;return-c*.5*(t*(t-2)-1)+b},handler:function(time,doTransition){var ref$,min,max,prec,dv,dt,dur,v,decimals,p,t,b,node,style,box,dir;doTransition==null&&(doTransition=true);if(this.time.src==null){this.time.src=time}ref$=[config["min"],config["max"],1/config["precision"]],min=ref$[0],max=ref$[1],prec=ref$[2];ref$=[this.value.des-this.value.src,(time-this.time.src)*.001,+config["duration"]||1],dv=ref$[0],dt=ref$[1],dur=ref$[2];v=doTransition?this.ease(dt,this.value.src,dv,dur):this.value.des;if(config.precision){v=Math.round(v*prec)/prec}else if(doTransition){v=Math.round(v)}v>=min||(v=min);v<=max||(v=max);decimals=(prec+"").length-1;text.textContent=v.toFixed(decimals)+"";p=100*(v-min)/(max-min);t=1-config["limit-top"];b=config["limit-bottom"];p=100*((v-min)*(1-t-b)/(max-min)+b);if(isStroke){node=path1;style={"stroke-dasharray":config["stroke-dir"]==="reverse"?"0 "+length*(100-p)*.01+" "+length*p*.01+" 0":p*.01*length+" "+((100-p)*.01*length+1)}}else{box=group[1].getBBox();dir=config["fill-dir"];style=dir==="btt"||!dir?{y:box.y+box.height*(100-p)*.01,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ttb"?{y:box.y,height:box.height*p*.01,x:box.x,width:box.width}:dir==="ltr"?{y:box.y,height:box.height,x:box.x,width:box.width*p*.01}:dir==="rtl"?{y:box.y,height:box.height,x:box.x+box.width*(100-p)*.01,width:box.width*p*.01}:void 8;node=svg.querySelector("rect")}node.attrs(style);if(dt>=dur){delete this.time.src;return false}return true},start:function(src,des,doTransition){var ref$,this$=this;ref$=this.value;ref$.src=src;ref$.des=des;!!(root.offsetWidth||root.offsetHeight||root.getClientRects().length);if(!doTransition||!(root.offsetWidth||root.offsetHeight||root.getClientRects().length)){this.time.src=0;this.handler(1e3,false);return}return handler.add(id.key,function(time){return this$.handler(time)})}};this.set=function(v,doTransition){var src,des;doTransition==null&&(doTransition=true);src=this.value||0;if(v!=null){this.value=v}else{v=this.value}des=this.value;return this.transition.start(src,des,doTransition)};this.set(+config.value||0,config["transition-in"])||false;return this};return window.addEventListener("load",function(){var i$,ref$,len$,node,results$=[];for(i$=0,len$=(ref$=document.querySelectorAll(".ldBar")).length;i$LOADING',"fill-background-extrude":1.3,"pattern-size":100,"fill-dir":"ltr","img-size":"70,20",bbox:"0 0 70 20"},line:{type:"stroke",path:"M10 10L90 10",stroke:"#25b","stroke-width":3,"stroke-trail":"#ddd","stroke-trail-width":1,bbox:"10 10 80 10"},fan:{type:"stroke",path:"M10 90A40 40 0 0 1 90 90","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 50 80 40"},circle:{type:"stroke",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"#25b","fill-background":"#ddd","fill-background-extrude":3,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"},bubble:{type:"fill",path:"M50 10A40 40 0 0 1 50 90A40 40 0 0 1 50 10","fill-dir":"btt",fill:"data:ldbar/res,bubble(#39d,#cef)","pattern-size":"150","fill-background":"#ddd","fill-background-extrude":2,"stroke-dir":"normal",stroke:"#25b","stroke-width":"3","stroke-trail":"#ddd","stroke-trail-width":.5,bbox:"10 10 80 80"}}},{}]},{},[1]); diff --git a/dist/loading-bar.zip b/dist/loading-bar.zip index c59962151f6df9763a6132f566a3748aa218dee2..b2c076156fddbbdd00b1e8a02239762488da4cc8 100644 GIT binary patch delta 9485 zcmZXaQ*b40vxTFbWa3OPv28n<*tW4_+t{&fOf<1=XJXs7tqITf{paTVbuQknu3BCF z-gVV_YHgb=n_?--KtiE|fq}t-*d~sOJT?v9GoeW-Q=I+!rpDVh zI(Ua_zqawjR(Hso1>Hm>?Rp)E4pMaKA6fQM=?=;dD?>+-gK<7sfU5^rF!DDj6gX=7a6uJ&)xve?X@>r6y%8mB5Az~RZ8EKJv8ATJ8D4E0eIyULF%*Vm9%9O zq(iRdiTKW+Y)tG{wU~B|z)z*vDGX@tg$yopTz)3;ERMiAQPg6DK^8xu$uWBiwJCC* z%qr}~m{MD)bx8Gn+!6*eM@J>ohWY|O7pg0v1{>TvX?o*dF6v_T+^|kXB`RZBV2U9VS>UbG?7S{w9 zw{et%!1#)ToUa`KGTE&XgBda-@- zwp<%4W?*NRqJu83A2}p~?G9}7$W!O6wfs|(a^6ll+6mq1=RqB4ZwKS&W^s_&LCJSz zyv^TH%RtWyXCfn-9HQWD$rY;tKGkVtnuJ8!qGq(*89OusVx~d$AlupE?|BH5I7UF* zpjSYn*Eju@W;jCNrXpA-ks|0y)7HU2N3`i`=}1VmQ{8rhAyopuWYv9Xu}@UyV>mU@ zL|`2ryBJDDqUeDUy^zsk9^zXS5C2Uap%IRlRMS~i=f>4~BEU!p8`0QsW%up+K4m?8 zO%Vn!pf9=~l%~L(mt##7xw2AOIVu!1)0@X!8*ff$Fjj6xEZdsA_X%kOZ0k{InK>vg zfCg8T&+_)Bv%SsZDL{0dGXDjyq&#}E(k^pt@IqNWGAhTgEf8lzOjfv`2X3hhZ#A$# zEgc-Yi6KC#!A0$1&Hj7udV4v}=IMs*iyGVG?BbRMwFZ+`;q`3l_TT=A^b3)X;&_+!6Me_WCmM zyriqVtGDis7o9-wEor_mwN9OL`!l|-{8TyBw{QFPliwg|4SOq@6t{tMG`>)D=ub|; zbe4&#p#!A;k>z*nxx>7)&3)nr@fU>EFv>j~&{rK`pWkh*?!MH>@{;dtneTTC+*(Y6 zG)ACuqzj}NBUvedztNNh>*TN1#+)Z0vsrnlT|B@IA7UE~JTMD3uVq@-7Jvp9$C&gH zh*7P*`^V|;{&(Fa4JobNbtOB>Ns)B1sIU2rAMpj0m5!l^E@C6ynOcMe&s3I`^~*eoLN0X&pGoaR%W9SJ(&iy z9A|blJuaWrnaR-pe2B*+bPd|FV}S_(6@gIY61EDwo{H&Nk0P?G05y18CEb%Gwx{Xt zr&{sNQ`G|Ip-xt`{lmIZJS=!lg9FPot^=C|Z?m3N z#F9sqk7yHs{cVxm%vVXc)2rPd#&KoeTL4H4gAw|9K7;(_+s111&@x{q-32g0dX4>l ze?vBQEcij zr+*?&S}XRkh8S=a*LYd;xo2dWCle#g_;>KkH#cW9bEXkR@SunQEianZ{d5+i_0)zH zWt_$KgxKA}8ekv#qs}GoZ{L?$`J?;DeGf?YtO2Nu^U$0=|5dky%pnh&f}BEW;ez08 zh3J^RG3SN4lzHie+Nh1ZW+_`K^5r&nMb??+tUB$;$brGl#jL1Z1+!%l%8X&scnN48 zK(4fY=ZHSD;}A`SUYbb+)P+TNt}fVMNjLQ&H$&v^`&0y3&(l}-T?zDR;BTG5+uT6A z-N0~oLv_4B$;H@lK?i|g2=Q$kh%anm3dGZaG8fqa?9&E+eOzz43pQ56wSYz5G>dGd zN(R&F2f6indXWB%nc1;7OWE;0p7eli@ak=E3Nj=ab^w%q$j!(AX#()|q{~#c0gZj@ zsKlL&DM<3q_;1QB1OfrtS9if74#JSf?FwhMQ6w){WV=BDFAtDgRGZ(z78&@mC>z(gY~T-2HDS#N8M?Fha$;V<$3s5Aj;ML{iDB z@MrN}k#JT03vh1dQ0Dk3=KWiIpFaYLg-$xxJjS=%y1z#u=^qh#IwAIVyx%k^pox!+ zKfbg4>^6eB*{cFw7>aU}`8`QQYwSG>dY^{HNY@o6o&|CBH&O%qTO>{%!kvVWWN=WS zd~3S*i3|$!%)hwY8dXuFXfPO40fhlei9Fiu&lr9J=2Uq+t*9V#1F__>Kfe`&a*stR zr<;eL$vGcSb;kJcPHNg^^00_In2=v=H$$vhI_o&k*Iz+0or2Nx-`<_;0DRUR-BB_; zUG+S=)QiHOw=+>wJRXPg8V8#5E@}Fo{c&k@n*`lQhZ=tsMrmSoXOX)=`5WE6-nxdL z?_fM8K6bzwcFIf1(m<=tBsbH=NWn7LpbHg?;ja6g)P`D|u_*YBv(fxo7=3PG_lTXmBP!t*LjE zX_z)C3Xv&LV6~5=3MqmUpC;->=B}ek5&AhcK8n^XvE()Da%Vf0F1dAsMGRM2EwGhc z!oon8)C;}8ccipJLNZ}fsxIjGhcUlqQq{#?xtj>{G#s~O3;a_h9%8sB%{?AQiqbH( zevf?>&If;UJ*)pRw4#CQQ|*>zraZ7`f-It40^U!$POgi3zodk&Uc^F+G$eW-QB?;F z7f;v!*kCH?gp6Kml{#ox;4Dwu&Jh%kmdgj(=*V0u7kDu0c$d_Pi7E;Pqen~$jNcyX zccPOW^q2t8vku_ii|&dG+9nvPSZJK&HaX{?9h0OvsYgF0v(F_KTyP@nCsg6s5s;nc%(ZQbWpyelRat2(t>tvx zXHS9H17c53PSj3@GkPw7#ujh#x$pULV05H2q|_$L=I<#?xbla(zT+XME6)@Cy$g zmI)Lqh@IWfTzuT85-QiXY&@r7s6GlkSvg2I-afCJ%znfB4SBR)htvQ(9wHF;pn`c^ zP0mQeYms^c3xAJ2k&m#ves=#b{L8+*bN}?`XoY|uO%d#B;pr_~d~zh)cUu>NTo1t+ zN1r2pf$Z2*6%E^QRw1q(YaXk*grL2bmsaB%br!{kEFT``6|%V>Us1IY`TM|n`0LwI z%ZtaKVcf1mQH;h&p->$4p+z9#IVLcK+&BT}87KM2)?zs!F;RB_Pp z^X&fB(OOcVx(Zo62sMMwB}er@NiX5dCD%$<5Zf%J>J$n_*eSGwl|%|UO>+)P_Q41$ zBvWU;Rwg(dY)+vtYS}AtgcB5d>=jH%zO_#*pH+yMl6t(vzqERFvx!m?!V8~10D<<>I4!D z>_6p_*V=iXBXRp$V+5;4E)#`(%ng`STtbm#!l`yINuJc+K4(!vg__t_EEQ5{a!R&k z-*W}s8%F2NH)`grvKrXO=9{!^$oogq;QwMa?=3!va(W>=oMA^Ep|LsVrSM1);T z`d58son?e4z@YM&B-@SU_MBua_?neJ86Uq)8hMy5HWq>vZIDEU2ONz5BukUA18US1bAxgeKI=TKUHwBhYZIjdnKXF>trug^61Z59D~RQ(H5(AB4S<&mZO!BsIGf1%L|;c605Y|M(foUXAwtd!xN zii9~EI;lc_Chq9?0EXG9v3?x7?p?KNmxJ`Cq^9Wf-Xgli&{o;@^IXM5tQZTeUFSmm z#KuVcEe1}Jr463DW`3oh!zg+6QL4)XYXW>POWf5_-AmiZi!bJcCxHYS$ngYOf}`t} zB&3)s1OGK^ZV8}(__PQG-QZmwnbGWZPcz~dq8J}Qb;>@?@O9ZzGmcKzYKPxQke+tDm0imennIY$XR!DS2361WW|g%uS&yvr$c zWR%j=hAMQTo}HG^`bD7!I>nBw(eEeAE*f#Nc+4<<){-D2QWNZ+#vE+)?$g%?$?}}_ z(Dqh9iX?8BbBZy$dw0FPdB1%w$Tw)&&s;yFIxi{Rzg(;+*DNu22r&GmgYSoxELDOl zhz^UAO=OnZXB+1>92Nq5u^BYC?%uN|z`qNZ*c}VH>dvLxdpUsxg}s^|7sLEH=kait zRe-oVWBfOz1Twww+bwLo+q+9i&fT85^F#HEu(XdvDOtpI+6jra)w4m`Lnjy$rV%!Oz9X z=_Lzbic7@VDgWjG+5~GA_dguVt&;bLw!fTSdVmOCyBG5_#xn>3W*Qg_Dv<BS(`_>1J2iiH`HeVoh$sojzO z>M$3SS!T}SIuPTzE}W+>Md}agUb;2VgsJElaHvfAMJNseSzV?UUDUt3zIMg+?+uxo*Y;-PqE6busiliMBGl&$4#7{tCJ~1df$Px?gwaVl z$=x^UeVTycFzd$c}qv9&g(alPgW*E zCs=Zv>SdV%i79r<|M*4(fHv@7j02NJh7}gx0k;bA(NG6mh6nh}6a%82kVYoOsx;BU z6rh`|^5w<02Flm~`m0g5*q@MbEZ7T(wF`^`8ZU8|YSq(J$Q-10hE)_oMhJ0-KuLi= zXGn^b3r<{`7DxBZ%gKkl3Oom{Vw4? zA@o@KeGjB}NO)vd@#lJbG0LFsZ?vHcOr?S5YQwVQhV8o*?fUA!&LfR01-YyEeh(G1 zO;~ktjWD46^%lKICzPQkjS!y2@hP*JY&49q5?aGxj<380^2HKLE+iOEtKe?nj2aIS}@BpiSTZ{OE_;-5i}?>j*n_njs_T?mu}a$z=5mC1f4IYmI{ zQGSEKy*Zw9gKGr$1tHiXR?!l&USKBCz|9(;mVr%gzqg~ngWvK^V@g5PW%45K;gRfs zh@`F9$&;gY>=-ca)x$mE653m3(ntNbU2?lM@xRS}WfI=z0T5Y>Ei zw|x_%Gju%fWBN^J6#lC;a)!AbhRq-W#00k8JuL`#_QF%X=M3R$L7G(8%q9blV8yX! z#Z7iTmIz}+`qGVIEs$b8Ysf*KiikIe<1~>C2hvvGTtF|6%c&i~?0@@!3W(l>q@4H8 za)LGZR2OkJJS~)D&6%pBv&?t#H@DQjk@^+1`h}WGsoe(;qw`3N7AT_qhQy)<>gIu} zNsukTmPmp8=R9j1{7eeG^Nc^-qfFSRLL!-lucIL{lKkP!Kq`2myzy|l+_!yVH*||U znC63m4lO5?YN3uKguz*KI*Mo35cqPtw3#%?1>bm(uIaWPhGJtZP=_Zm_em)32#;_ zg?A92Yu6HudhiwCm*U2R1NS5@pLmTO5oJ*qd!~7I_;9EQYpN4lDxHdWOlvp@{5Agl zfF@qcM$ltZnux-YtwtL29Ec6{6smfkvf#{Vw{1k<9-YJd z-oaZhtHJNxtQisEsKXt1`Q*Rg274`H&L*szYJ3_|?7^N>G z7DTt%=%SnO0@J#%e#N=&bER+m9+wn8xhFyR6Nac4zhQ$4ca-B)j3E7E6UI3~ygFX_ zo-E!6z`S2ypIM0wQWdV5Z---Pq^hR0Upl*b;x3ju$kGdoA{vH`9j!tbqJD6B`vtC& z=@B!0Ds4;!CwLv(cJjmxf5+{S$RHG)pL6DUiDWE#1pa_Q)BoBA8$1r7pl{VT%lY-}tv>5{@ zfliZ9fQda1WxzYlR$Rh?cj%EB|cKl5?=6fHilO{ z?dP$O;?8+`s!}i*`Fw$cBgh|IokN>t)f8lwuN=;W6@|qk{k8$CXPC*~1Uvmeh5Qia zyH!%d8jtwu8wZTGT!1xn^+JpwZIHs-& zS`kDpHbTh2QJvSGt;=) zA4mUO=F`I%Wd$=gjE~5Ex$mW%n!jNLbzEJ^4?y_i)>+R<<=XI$o2+zSOKzAO&VLlSz(CM{p zKc;69&y$TgzEPDYI$*~`O08FI5P<*f|1F>4+7L$zuOQkFyvMlL&Z4nGx1C5PA9_j> zuJQ#nHcmU(} z2P4ke^5etrO=|8TK>Lk@&s~KHqFJM_sG5pBP%`i&DM|$3lR*p(SfU8LjD(rt+OlA;Hm}-|Ta(@&ic80c z9qErEVo3j>ELS%eiyY5a zmn7Dkn?WTeLYMJ)sxsTKOPg+rv051D^$}muTl%;i>Rctg$p=kqEc45dsw=8mduBks zwaM(~M`ha`wa!!~0e)4)Ii+=d{ie1#RgtF5!iXyU#0BVv*jS_-<bU-dX+^w z`%}ftP@-p1q-`d?dqLvQUSz&MFse%~684U*%__EtqBv_blI$sWSMKOlBd^&0<$@pZ z-W(Q^K4-c$kb@MkU#4Y1=Y%9I9Vj5QTAD_v zCWF^{(Xy^(kLQX_UN!iH+PVV^oC&w+H8vbFumd71YD;?%;^%hcJF6J*##}SuW67{~ z8xLXa$?yiWLWF>WX>^k=g~eC-Z-*NjeAIH^1cC7W8}g*w?hk&_!g}XFd&-4B8nv1g=_;&&u7r=ka2h?VAdB@P7|FA1 zu&wloFWY-V0#iBg&cb6FZM z@*4LIpT(SaLw+6VzU#P_f^c&YyDs^4;IlZ_Hn@49-Z7U!(z?eA7kY%dETZwi$Dm}y zp1Qe~eAyjxC~!wQf)X|JE5zPBUI|MFI(3a{HL={b2QQNIvZz_Cf^+=)(Mt`UrERCL z;1rU;E8LfdHqQ=z|GDv)HUEaQht7!8KL>gw6N^Y&SJir_<H2PZDHYuYR%8O52U3{8Ot+n}Hgzq5i88;x1Lx@p4}3=_p^omZ9-0 z(EzoHRpbls#5#iGE+@Hr8oa7Mzrn?=p39qDjXrL|e(0kJ#wDN~83Y-`5qek@`Xw6J zvMxTk9d29>7kuR!&57U#0dy8QZ+Q=2AAkdyT;_tgEgw`cQj8g3$8sGGu;D{k9F-wq z-C(0o&-V=$+plvAmhLK{U9z9w6USU{d8b#W?yvgAbgDN|tlMr|6Ude6ycaDzn-;i7 zoG)t6ye3QIi>{C{y&V=7OM@b+Zc25{-Z}?IHtZgW*Q}cBc?=nmwFOv9i#w2s3Ti?1 zVJsXg?ihiYzCnfVU*H28jy6m>gpdo%7YFn?BCbB!Y{@>BE|SA+NRrf#w*yPW#qA;W z0Iz~E-;$E##uN%oJx?8lZS-VHxvsO%B7wMs*snfj5+Z`aXAcjw0eTQ9_dR|0`4OnM zi3deJSU|Lbs~FmSmPb)Z&Xz&pp9l)G%n#Ln5Ec~Cx|7>?%jKn#@VN=mK$sVEEUn=w zM}iTk*t2tUDYQBaBS(Ha*9q?Sv#TeP9y;yna27n<9W8x5cky)yo{BkP2teeX>Toxgc4sn=zEL^?p%Bg&A zRAiqK3@%r#GsocOj>Oj7dVvr-y8Bme?IusT^{VrENfZ|m6GsvCA3LIi9q=mAicyrH zzd@y+;r^bcAcECGX_!La+q`0HjRN|kn4m7`^>}`rtrKp2JeG&eJm43XXd3_IIt%;z zAyU08apfATtHeZil&)+gZ?{D1M-8%DM%ZyL>uhMF7;?VL>8c7`-3=AC%>z@t`?4K5_FyJQ1fEf=W>OZ5z{}1Z^ x*XSb-SQ0oB=C^+#FW_Iu`|o-Po6MxY%y^KxO#h0wfd3V^ScsujnE(Cde*i6g8c6^E delta 9326 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 F{})Ro_X+?2 diff --git a/src/loading-bar.ls b/src/loading-bar.ls index 87e2b77..e36148c 100644 --- a/src/loading-bar.ls +++ b/src/loading-bar.ls @@ -146,6 +146,8 @@ do -> "max": 100 "precision": 0 "padding": undefined + 'limit-top': 1.0 + 'limit-bottom': 0.0 config["preset"] = root.attr("data-preset") or option["preset"] @@ -388,6 +390,10 @@ do -> decimals = "#{prec}".length - 1 text.textContent = "#{v.to-fixed decimals}" p = 100.0 * (v - min ) / ( max - min ) + t = 1 - config["limit-top"] + b = config["limit-bottom"] + p = 100 * ((v - min) * (1 - t - b)/ (max - min) + b) + if is-stroke => node = path1 style =