From 85a4860580fe712c27bf415183073794df2531dc Mon Sep 17 00:00:00 2001 From: Kirby Wu Date: Wed, 2 Jun 2021 19:54:11 +0800 Subject: [PATCH] - add `ldslider` and deprecate `ldSlider`. --- CHANGELOG.md | 5 +++++ README.md | 14 +++++++------- dist/ldrs.js | 11 ++++++++--- dist/ldrs.min.js | 2 +- package-lock.json | 2 +- package.json | 2 +- src/ldrs.ls | 7 +++++-- web/static/assets/lib/ldrs/dev/ldrs.js | 11 ++++++++--- web/static/assets/lib/ldrs/dev/ldrs.min.js | 2 +- 9 files changed, 37 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc65eaa..0278e20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log +## v2.0.4 + + - add `ldslider` and deprecate `ldSlider`. + + ## v2.0.3 - use `number ~ number` instead of `number to number` for input value. diff --git a/README.md b/README.md index 886b9ec..c8526d6 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Slider Library in Vanilla JS. Support exponential scale. ## Usage -1. download and include ldSlider [JS](https://github.com/loadingio/ldSlider/releases/latest/download/ldrs.min.js) / [CSS](https://github.com/loadingio/ldSlider/releases/latest/download/ldrs.min.css): +1. download and include ldSlider [JS](https://github.com/loadingio/ldslider/releases/latest/download/ldrs.min.js) / [CSS](https://github.com/loadingio/ldslider/releases/latest/download/ldrs.min.css): @@ -17,20 +17,20 @@ you an use a CDN, such as, from jsDelivr: + -You can also use an input box to initialize ldSlider: +You can also use an input box to initialize ldslider: - + In this case, a new `div` will be created and inserted before the `input` element, inherits all classes of the `input` element. The `input` element's type will be set to `hidden`. @@ -94,7 +94,7 @@ Some quick and useful tweaks: ## Restyling with CSS Variable -Default colorschema of ldSlider can be changed with CSS variables by adding `tone` class along with `ldrs` class: +Default colorschema of ldslider can be changed with CSS variables by adding `tone` class along with `ldrs` class:
...
diff --git a/dist/ldrs.js b/dist/ldrs.js index 52c1526..1a906eb 100644 --- a/dist/ldrs.js +++ b/dist/ldrs.js @@ -1,5 +1,5 @@ -var ldSlider; -ldSlider = function(opt){ +var ldslider; +ldslider = function(opt){ var root, i$, to$, i, that, handle, el, mouse, this$ = this; opt == null && (opt = {}); this.evtHandler = {}; @@ -105,7 +105,7 @@ ldSlider = function(opt){ this.prepare(); return this; }; -ldSlider.prototype = import$(Object.create(Object.prototype), { +ldslider.prototype = import$(Object.create(Object.prototype), { on: function(n, cb){ var ref$; return ((ref$ = this.evtHandler)[n] || (ref$[n] = [])).push(cb); @@ -321,6 +321,11 @@ ldSlider.prototype = import$(Object.create(Object.prototype), { } } }); +if (typeof module != 'undefined' && module !== null) { + module.exports = ldslider; +} else if (typeof window != 'undefined' && window !== null) { + window.ldSlider = window.ldslider = ldslider; +} function import$(obj, src){ var own = {}.hasOwnProperty; for (var key in src) if (own.call(src, key)) obj[key] = src[key]; diff --git a/dist/ldrs.min.js b/dist/ldrs.min.js index a48f6cb..165eaf1 100644 --- a/dist/ldrs.min.js +++ b/dist/ldrs.min.js @@ -1 +1 @@ -var ldSlider;ldSlider=function(opt){var root,i$,to$,i,that,handle,el,mouse,this$=this;opt==null&&(opt={});this.evtHandler={};this.opt=import$({min:0,max:100,from:0,to:0,step:1},opt);this.val={to:0,from:0};this.root=root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;if(this.root.tagName==="INPUT"){this.input=this.root;ld$.attr(this.input,"type","hidden");this.root=root=document.createElement("div");this.input.parentNode.insertBefore(this.root,this.input);this.input.classList;for(i$=0,to$=this.input.classList.length;i$\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
';this.el=el={b:{fg:ld$.find(root,".fg",0)},p:ld$.find(root,".line.p",0),q:ld$.find(root,".line.p.alt",0),h:{p:ld$.find(root,".hint.p",0),q:ld$.find(root,".hint.p.alt",0),l:ld$.find(root,".hint.l",0),r:ld$.find(root,".hint.r",0),lock:ld$.find(root,".hint.lock",0),lockLine:ld$.find(root,".lock-line",0)}};mouse={move:function(e){if(e.buttons&1){return this$.repos(e.clientX,true,true,false,mouse.alt)}else{return mouse.up(e)}},up:function(){var ref$,p,v;document.removeEventListener("mouseup",mouse.up);document.removeEventListener("mousemove",mouse.move);ref$=!mouse.alt?[this$.el.h.p,this$.val.from]:[this$.el.h.q,this$.val.to],p=ref$[0],v=ref$[1];return p.innerText=this$.label.ptr(Math.round(1e4*v)/1e4)},prepare:function(e){mouse.alt=e.target&&e.target.classList&&e.target.classList.contains("alt")?true:false;document.addEventListener("mousemove",mouse.move);return document.addEventListener("mouseup",mouse.up)}};el.p.addEventListener("mousedown",mouse.prepare);root.addEventListener("click",mouse.move);root.addEventListener("mousedown",mouse.prepare);this.prepare();return this};ldSlider.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this.evtHandler)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$0?ref2$:0)<(ref1$=rbox.width)?ref$:ref1$;dx=x/rbox.width;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+(this.opt.max-this.opt.min)*dx;if(this.opt.limitMax!=null){if(x>w06){value=this.opt.limitMax+(this.opt.max-this.opt.limitMax)*(x-w06)/(rbox.width-w06)}else{dx=x/w06;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+this.opt.limitMax*dx}}}else{value=v}value=v=(ref$=(ref2$=this.opt.min+Math.round((value-this.opt.min)/this.opt.step)*this.opt.step)>(ref3$=this.opt.min)?ref2$:ref3$)<(ref1$=this.opt.max)?ref$:ref1$;this.val[label]=value;xs={};for(k in ref$=this.val){v=ref$[k];if(!this.range&&k==="to"){continue}if(this.opt.limitMax!=null){if(v>this.opt.limitMax){x=(v-this.opt.limitMax)/(this.opt.max-this.opt.limitMax)*40+60}else{if(this.expFactor){x=60*Math.pow((v-this.opt.min)/(this.opt.limitMax-this.opt.min),1/this.expFactor)}else{x=60*(v-this.opt.min)/(this.opt.limitMax-this.opt.min)}}}else{if(this.expFactor){x=100*Math.pow((v-this.opt.min)/(this.opt.max-this.opt.min),1/this.expFactor)}else{x=100*((v-this.opt.min)/(this.opt.max-this.opt.min))}}if(this.opt.limitMax!=null&&this.opt.limitHard){if(x>60){x=60}if(v>this.opt.limitMax){v=this.opt.limitMax}}this.val[k]=v;xs[k]=x}x=xs[label];v=this.val[label];left=!this.range?0:Math.min(xs.from,xs.to)+.5;width=!this.range?xs.from:Math.max(xs.from,xs.to)-left+.5;hbox=elH.getBoundingClientRect();elH.innerText=this.label.ptr(Math.round(1e4*v)/1e4);elH.style.left=100*(.01*x*rbox.width)/rbox.width+"%";elH.style.transform="translate(-50%,0)";elL.style.left=x+"%";this.el.b.fg.style.width=width+"%";this.el.b.fg.style.left=left+"%";if(v!==old&&forceNotify){this.fire("change",this.range?this.val:this.val[label])}if(this.input){return this.updateInput({now:!fromInput})}}});function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj} +var ldslider;ldslider=function(opt){var root,i$,to$,i,that,handle,el,mouse,this$=this;opt==null&&(opt={});this.evtHandler={};this.opt=import$({min:0,max:100,from:0,to:0,step:1},opt);this.val={to:0,from:0};this.root=root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;if(this.root.tagName==="INPUT"){this.input=this.root;ld$.attr(this.input,"type","hidden");this.root=root=document.createElement("div");this.input.parentNode.insertBefore(this.root,this.input);this.input.classList;for(i$=0,to$=this.input.classList.length;i$\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
';this.el=el={b:{fg:ld$.find(root,".fg",0)},p:ld$.find(root,".line.p",0),q:ld$.find(root,".line.p.alt",0),h:{p:ld$.find(root,".hint.p",0),q:ld$.find(root,".hint.p.alt",0),l:ld$.find(root,".hint.l",0),r:ld$.find(root,".hint.r",0),lock:ld$.find(root,".hint.lock",0),lockLine:ld$.find(root,".lock-line",0)}};mouse={move:function(e){if(e.buttons&1){return this$.repos(e.clientX,true,true,false,mouse.alt)}else{return mouse.up(e)}},up:function(){var ref$,p,v;document.removeEventListener("mouseup",mouse.up);document.removeEventListener("mousemove",mouse.move);ref$=!mouse.alt?[this$.el.h.p,this$.val.from]:[this$.el.h.q,this$.val.to],p=ref$[0],v=ref$[1];return p.innerText=this$.label.ptr(Math.round(1e4*v)/1e4)},prepare:function(e){mouse.alt=e.target&&e.target.classList&&e.target.classList.contains("alt")?true:false;document.addEventListener("mousemove",mouse.move);return document.addEventListener("mouseup",mouse.up)}};el.p.addEventListener("mousedown",mouse.prepare);root.addEventListener("click",mouse.move);root.addEventListener("mousedown",mouse.prepare);this.prepare();return this};ldslider.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this.evtHandler)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$0?ref2$:0)<(ref1$=rbox.width)?ref$:ref1$;dx=x/rbox.width;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+(this.opt.max-this.opt.min)*dx;if(this.opt.limitMax!=null){if(x>w06){value=this.opt.limitMax+(this.opt.max-this.opt.limitMax)*(x-w06)/(rbox.width-w06)}else{dx=x/w06;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+this.opt.limitMax*dx}}}else{value=v}value=v=(ref$=(ref2$=this.opt.min+Math.round((value-this.opt.min)/this.opt.step)*this.opt.step)>(ref3$=this.opt.min)?ref2$:ref3$)<(ref1$=this.opt.max)?ref$:ref1$;this.val[label]=value;xs={};for(k in ref$=this.val){v=ref$[k];if(!this.range&&k==="to"){continue}if(this.opt.limitMax!=null){if(v>this.opt.limitMax){x=(v-this.opt.limitMax)/(this.opt.max-this.opt.limitMax)*40+60}else{if(this.expFactor){x=60*Math.pow((v-this.opt.min)/(this.opt.limitMax-this.opt.min),1/this.expFactor)}else{x=60*(v-this.opt.min)/(this.opt.limitMax-this.opt.min)}}}else{if(this.expFactor){x=100*Math.pow((v-this.opt.min)/(this.opt.max-this.opt.min),1/this.expFactor)}else{x=100*((v-this.opt.min)/(this.opt.max-this.opt.min))}}if(this.opt.limitMax!=null&&this.opt.limitHard){if(x>60){x=60}if(v>this.opt.limitMax){v=this.opt.limitMax}}this.val[k]=v;xs[k]=x}x=xs[label];v=this.val[label];left=!this.range?0:Math.min(xs.from,xs.to)+.5;width=!this.range?xs.from:Math.max(xs.from,xs.to)-left+.5;hbox=elH.getBoundingClientRect();elH.innerText=this.label.ptr(Math.round(1e4*v)/1e4);elH.style.left=100*(.01*x*rbox.width)/rbox.width+"%";elH.style.transform="translate(-50%,0)";elL.style.left=x+"%";this.el.b.fg.style.width=width+"%";this.el.b.fg.style.left=left+"%";if(v!==old&&forceNotify){this.fire("change",this.range?this.val:this.val[label])}if(this.input){return this.updateInput({now:!fromInput})}}});if(typeof module!="undefined"&&module!==null){module.exports=ldslider}else if(typeof window!="undefined"&&window!==null){window.ldSlider=window.ldslider=ldslider}function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj} diff --git a/package-lock.json b/package-lock.json index 8571907..e02811c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ldslider", - "version": "2.0.3", + "version": "2.0.4", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index cf2b64e..a4f7b32 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "name": "ldslider", "license": "MIT", "description": "Slider Library in Vanilla JS", - "version": "2.0.3", + "version": "2.0.4", "files": [ "dist/**/*" ], diff --git a/src/ldrs.ls b/src/ldrs.ls index be7435b..adb1859 100644 --- a/src/ldrs.ls +++ b/src/ldrs.ls @@ -1,4 +1,4 @@ -ldSlider = (opt={}) -> +ldslider = (opt={}) -> @ <<< evt-handler: {}, opt: {min: 0, max: 100, from: 0, to: 0, step: 1} <<< opt @val = {to: 0, from: 0} @root = root = if typeof(opt.root) == \string => document.querySelector(opt.root) else opt.root @@ -82,7 +82,7 @@ ldSlider = (opt={}) -> @prepare! @ -ldSlider.prototype = Object.create(Object.prototype) <<< do +ldslider.prototype = Object.create(Object.prototype) <<< do on: (n, cb) -> @evt-handler.[][n].push cb fire: (n, ...v) -> for cb in (@evt-handler[n] or []) => cb.apply @, v update: -> @set @val @@ -193,3 +193,6 @@ ldSlider.prototype = Object.create(Object.prototype) <<< do # if from-input = true: repos is triggered from user input of input box, # so we have to debounce if v is modified. if @input => @update-input {now: !from-input} + +if module? => module.exports = ldslider +else if window? => window.ldSlider = window.ldslider = ldslider diff --git a/web/static/assets/lib/ldrs/dev/ldrs.js b/web/static/assets/lib/ldrs/dev/ldrs.js index 52c1526..1a906eb 100644 --- a/web/static/assets/lib/ldrs/dev/ldrs.js +++ b/web/static/assets/lib/ldrs/dev/ldrs.js @@ -1,5 +1,5 @@ -var ldSlider; -ldSlider = function(opt){ +var ldslider; +ldslider = function(opt){ var root, i$, to$, i, that, handle, el, mouse, this$ = this; opt == null && (opt = {}); this.evtHandler = {}; @@ -105,7 +105,7 @@ ldSlider = function(opt){ this.prepare(); return this; }; -ldSlider.prototype = import$(Object.create(Object.prototype), { +ldslider.prototype = import$(Object.create(Object.prototype), { on: function(n, cb){ var ref$; return ((ref$ = this.evtHandler)[n] || (ref$[n] = [])).push(cb); @@ -321,6 +321,11 @@ ldSlider.prototype = import$(Object.create(Object.prototype), { } } }); +if (typeof module != 'undefined' && module !== null) { + module.exports = ldslider; +} else if (typeof window != 'undefined' && window !== null) { + window.ldSlider = window.ldslider = ldslider; +} function import$(obj, src){ var own = {}.hasOwnProperty; for (var key in src) if (own.call(src, key)) obj[key] = src[key]; diff --git a/web/static/assets/lib/ldrs/dev/ldrs.min.js b/web/static/assets/lib/ldrs/dev/ldrs.min.js index a48f6cb..165eaf1 100644 --- a/web/static/assets/lib/ldrs/dev/ldrs.min.js +++ b/web/static/assets/lib/ldrs/dev/ldrs.min.js @@ -1 +1 @@ -var ldSlider;ldSlider=function(opt){var root,i$,to$,i,that,handle,el,mouse,this$=this;opt==null&&(opt={});this.evtHandler={};this.opt=import$({min:0,max:100,from:0,to:0,step:1},opt);this.val={to:0,from:0};this.root=root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;if(this.root.tagName==="INPUT"){this.input=this.root;ld$.attr(this.input,"type","hidden");this.root=root=document.createElement("div");this.input.parentNode.insertBefore(this.root,this.input);this.input.classList;for(i$=0,to$=this.input.classList.length;i$\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
';this.el=el={b:{fg:ld$.find(root,".fg",0)},p:ld$.find(root,".line.p",0),q:ld$.find(root,".line.p.alt",0),h:{p:ld$.find(root,".hint.p",0),q:ld$.find(root,".hint.p.alt",0),l:ld$.find(root,".hint.l",0),r:ld$.find(root,".hint.r",0),lock:ld$.find(root,".hint.lock",0),lockLine:ld$.find(root,".lock-line",0)}};mouse={move:function(e){if(e.buttons&1){return this$.repos(e.clientX,true,true,false,mouse.alt)}else{return mouse.up(e)}},up:function(){var ref$,p,v;document.removeEventListener("mouseup",mouse.up);document.removeEventListener("mousemove",mouse.move);ref$=!mouse.alt?[this$.el.h.p,this$.val.from]:[this$.el.h.q,this$.val.to],p=ref$[0],v=ref$[1];return p.innerText=this$.label.ptr(Math.round(1e4*v)/1e4)},prepare:function(e){mouse.alt=e.target&&e.target.classList&&e.target.classList.contains("alt")?true:false;document.addEventListener("mousemove",mouse.move);return document.addEventListener("mouseup",mouse.up)}};el.p.addEventListener("mousedown",mouse.prepare);root.addEventListener("click",mouse.move);root.addEventListener("mousedown",mouse.prepare);this.prepare();return this};ldSlider.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this.evtHandler)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$0?ref2$:0)<(ref1$=rbox.width)?ref$:ref1$;dx=x/rbox.width;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+(this.opt.max-this.opt.min)*dx;if(this.opt.limitMax!=null){if(x>w06){value=this.opt.limitMax+(this.opt.max-this.opt.limitMax)*(x-w06)/(rbox.width-w06)}else{dx=x/w06;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+this.opt.limitMax*dx}}}else{value=v}value=v=(ref$=(ref2$=this.opt.min+Math.round((value-this.opt.min)/this.opt.step)*this.opt.step)>(ref3$=this.opt.min)?ref2$:ref3$)<(ref1$=this.opt.max)?ref$:ref1$;this.val[label]=value;xs={};for(k in ref$=this.val){v=ref$[k];if(!this.range&&k==="to"){continue}if(this.opt.limitMax!=null){if(v>this.opt.limitMax){x=(v-this.opt.limitMax)/(this.opt.max-this.opt.limitMax)*40+60}else{if(this.expFactor){x=60*Math.pow((v-this.opt.min)/(this.opt.limitMax-this.opt.min),1/this.expFactor)}else{x=60*(v-this.opt.min)/(this.opt.limitMax-this.opt.min)}}}else{if(this.expFactor){x=100*Math.pow((v-this.opt.min)/(this.opt.max-this.opt.min),1/this.expFactor)}else{x=100*((v-this.opt.min)/(this.opt.max-this.opt.min))}}if(this.opt.limitMax!=null&&this.opt.limitHard){if(x>60){x=60}if(v>this.opt.limitMax){v=this.opt.limitMax}}this.val[k]=v;xs[k]=x}x=xs[label];v=this.val[label];left=!this.range?0:Math.min(xs.from,xs.to)+.5;width=!this.range?xs.from:Math.max(xs.from,xs.to)-left+.5;hbox=elH.getBoundingClientRect();elH.innerText=this.label.ptr(Math.round(1e4*v)/1e4);elH.style.left=100*(.01*x*rbox.width)/rbox.width+"%";elH.style.transform="translate(-50%,0)";elL.style.left=x+"%";this.el.b.fg.style.width=width+"%";this.el.b.fg.style.left=left+"%";if(v!==old&&forceNotify){this.fire("change",this.range?this.val:this.val[label])}if(this.input){return this.updateInput({now:!fromInput})}}});function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj} +var ldslider;ldslider=function(opt){var root,i$,to$,i,that,handle,el,mouse,this$=this;opt==null&&(opt={});this.evtHandler={};this.opt=import$({min:0,max:100,from:0,to:0,step:1},opt);this.val={to:0,from:0};this.root=root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;if(this.root.tagName==="INPUT"){this.input=this.root;ld$.attr(this.input,"type","hidden");this.root=root=document.createElement("div");this.input.parentNode.insertBefore(this.root,this.input);this.input.classList;for(i$=0,to$=this.input.classList.length;i$\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
';this.el=el={b:{fg:ld$.find(root,".fg",0)},p:ld$.find(root,".line.p",0),q:ld$.find(root,".line.p.alt",0),h:{p:ld$.find(root,".hint.p",0),q:ld$.find(root,".hint.p.alt",0),l:ld$.find(root,".hint.l",0),r:ld$.find(root,".hint.r",0),lock:ld$.find(root,".hint.lock",0),lockLine:ld$.find(root,".lock-line",0)}};mouse={move:function(e){if(e.buttons&1){return this$.repos(e.clientX,true,true,false,mouse.alt)}else{return mouse.up(e)}},up:function(){var ref$,p,v;document.removeEventListener("mouseup",mouse.up);document.removeEventListener("mousemove",mouse.move);ref$=!mouse.alt?[this$.el.h.p,this$.val.from]:[this$.el.h.q,this$.val.to],p=ref$[0],v=ref$[1];return p.innerText=this$.label.ptr(Math.round(1e4*v)/1e4)},prepare:function(e){mouse.alt=e.target&&e.target.classList&&e.target.classList.contains("alt")?true:false;document.addEventListener("mousemove",mouse.move);return document.addEventListener("mouseup",mouse.up)}};el.p.addEventListener("mousedown",mouse.prepare);root.addEventListener("click",mouse.move);root.addEventListener("mousedown",mouse.prepare);this.prepare();return this};ldslider.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this.evtHandler)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$0?ref2$:0)<(ref1$=rbox.width)?ref$:ref1$;dx=x/rbox.width;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+(this.opt.max-this.opt.min)*dx;if(this.opt.limitMax!=null){if(x>w06){value=this.opt.limitMax+(this.opt.max-this.opt.limitMax)*(x-w06)/(rbox.width-w06)}else{dx=x/w06;if(this.expFactor){dx=Math.pow(dx,this.expFactor)}value=this.opt.min+this.opt.limitMax*dx}}}else{value=v}value=v=(ref$=(ref2$=this.opt.min+Math.round((value-this.opt.min)/this.opt.step)*this.opt.step)>(ref3$=this.opt.min)?ref2$:ref3$)<(ref1$=this.opt.max)?ref$:ref1$;this.val[label]=value;xs={};for(k in ref$=this.val){v=ref$[k];if(!this.range&&k==="to"){continue}if(this.opt.limitMax!=null){if(v>this.opt.limitMax){x=(v-this.opt.limitMax)/(this.opt.max-this.opt.limitMax)*40+60}else{if(this.expFactor){x=60*Math.pow((v-this.opt.min)/(this.opt.limitMax-this.opt.min),1/this.expFactor)}else{x=60*(v-this.opt.min)/(this.opt.limitMax-this.opt.min)}}}else{if(this.expFactor){x=100*Math.pow((v-this.opt.min)/(this.opt.max-this.opt.min),1/this.expFactor)}else{x=100*((v-this.opt.min)/(this.opt.max-this.opt.min))}}if(this.opt.limitMax!=null&&this.opt.limitHard){if(x>60){x=60}if(v>this.opt.limitMax){v=this.opt.limitMax}}this.val[k]=v;xs[k]=x}x=xs[label];v=this.val[label];left=!this.range?0:Math.min(xs.from,xs.to)+.5;width=!this.range?xs.from:Math.max(xs.from,xs.to)-left+.5;hbox=elH.getBoundingClientRect();elH.innerText=this.label.ptr(Math.round(1e4*v)/1e4);elH.style.left=100*(.01*x*rbox.width)/rbox.width+"%";elH.style.transform="translate(-50%,0)";elL.style.left=x+"%";this.el.b.fg.style.width=width+"%";this.el.b.fg.style.left=left+"%";if(v!==old&&forceNotify){this.fire("change",this.range?this.val:this.val[label])}if(this.input){return this.updateInput({now:!fromInput})}}});if(typeof module!="undefined"&&module!==null){module.exports=ldslider}else if(typeof window!="undefined"&&window!==null){window.ldSlider=window.ldslider=ldslider}function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj}