1 !
function(
t,
e){
"use strict";
"object"==typeof module&&
"object"==typeof module.exports?module.exports=
e(
t,document):
"function"==typeof define&&define.amd?define(
null,
function(){
e(
t,document)}):
t.rangetouch=
e(
t,document)}(
"undefined"!=typeof
window?
window:
this,
function(
t,
e){
"use strict";
function n(
t){
return t instanceof HTMLElement&&
t.classList.contains(
l.selectors.disabled)}
function o(
t,
e,
n){
t.addEventListener(
e,
n,!1)}
function i(
t){var
e=(
""+
t).match(/(?:\.(\
d+))?(?:[eE]([+-]?
\d+))?$/);
return e?Math.max(0,(
e[1]?
e[1].length:0)-(
e[2]?+
e[2]:0)):0}
function u(
t,
e){
if(
e<1){var
n=
i(
e);
return parseFloat(
t.toFixed(
n))}
return Math.round(
t/
e)*
e}
function r(
t){var
e,
n=
t.target,
o=
t.changedTouches[0],
i=parseFloat(
n.getAttribute(
"min"))||0,
r=parseFloat(
n.getAttribute(
"max"))||100,
a=parseFloat(
n.getAttribute(
"step"))||1,
c=
r-
i,
s=
n.getBoundingClientRect(),
d=100/
s.width*(
l.thumbWidth/2)/100;
return e=100/
s.width*(
o.clientX-
s.left),e<0?e=0:e>100&&(
e=100),
e<50?
e-=(100-2*
e)*
d:
e>50&&(
e+=2*(
e-50)*
d),
i+
u(
c*(
e/100),
a)}
function a(
t){
l.enabled&&
"range"===
t.target.type&&!
n(
t.target)&&(
t.preventDefault(),
t.target.value=
r(
t),
s(
t.target,
t.type===
l.events.end?
"change":
"input"))}
function c(){
o(
e.body,
l.events.start,
a),
o(
e.body,
l.events.move,
a),
o(
e.body,
l.events.end,
a)}
function s(
t,
e,
n){
t.dispatchEvent(
new CustomEvent(
e,
n))}
function d(){
return[
l.selectors.range,
":not(.",
l.selectors.disabled,
")"].join(
"")}var
l={enabled:!0,selectors:{range:
'[type="range"]',disabled:
"rangetouch--disabled"},thumbWidth:15,events:{start:
"touchstart",move:
"touchmove",end:
"touchend"}};
return function(){
if(
"ontouchstart"in
e.documentElement){
for(var
t=
e.querySelectorAll(
d()),
n=
t.length-1;
n>=0;
n--)
t[
n].style.touchAction=
"manipulation",
t[
n].style.webkitUserSelect=
"none";
c()}}(),{
set:
function(
t,
e){
l[
t]=
e}}}),
function(){
"use strict";
function t(
t,
e){
e=
e||{bubbles:!1,cancelable:!1,detail:
void 0};var
n=document.createEvent(
"CustomEvent");
return n.initCustomEvent(
t,
e.bubbles,
e.cancelable,
e.detail),
n}
if(
"function"==typeof
window.CustomEvent)
return!1;
t.prototype=
window.Event.prototype,
window.CustomEvent=
t}();