@x1mrdonut1x/nouislider-react
Version:
React component wrapping leongersen/noUiSlider
3 lines (2 loc) • 5.21 kB
JavaScript
import t,{useEffect as n}from"react";import r from"nouislider";function e(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),r.push.apply(r,e)}return r}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function i(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function a(){return a=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},a.apply(this,arguments)}function u(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==r)return;var e,o,i=[],a=!0,u=!1;try{for(r=r.call(t);!(a=(e=r.next()).done)&&(i.push(e.value),!n||i.length!==n);a=!0);}catch(t){u=!0,o=t}finally{try{a||null==r.return||r.return()}finally{if(u)throw o}}return i}(t,n)||l(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||l(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,n){if(t){if("string"==typeof t)return f(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(t,n):void 0}}function f(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=new Array(n);r<n;r++)e[r]=t[r];return e}var s=function(t){return Object.entries(t).sort().reduce((function(t,n){var r=u(n,2),e=r[0],o=r[1];return t[e]=o,t}),{})},p=function(t,n){return"number"==typeof t&&"number"==typeof n||"string"==typeof t&&"string"==typeof n?t===n:Array.isArray(t)&&Array.isArray(n)?JSON.stringify(t)===JSON.stringify(n):"object"===o(t)&&"object"===o(n)&&JSON.stringify(s(t))===JSON.stringify(s(n))},y=function(t,n){var r=t.start,e=t.step,o=t.disabled,i=t.range;return n.step===e&&p(n.start,r)&&n.disabled===o&&p(n.range,i)},d=function(o){var u=t.createRef(),l=function(){return(u.current||{}).noUiSlider};n((function(){var t=o.instanceRef,n=t&&Object.prototype.hasOwnProperty.call(t,"current");return t&&t instanceof Function&&t(u.current),n&&(t.current=u.current),function(){n&&(t.current=null)}}),[u]);var f=function(t){var n=Number(t.target.getAttribute("data-value")),r=l();r&&r.set(n)},s=function(t){var n=u.current;n&&(t?n.setAttribute("disabled",!0):n.removeAttribute("disabled"))},p=o.onUpdate,y=o.onChange,d=o.onSlide,b=o.onStart,m=o.onEnd,v=o.onSet,g=function(t){b&&(t.off("start"),t.on("start",b)),d&&(t.off("slide"),t.on("slide",d)),p&&(t.off("update"),t.on("update",p)),y&&(t.off("change"),t.on("change",y)),v&&(t.off("set"),t.on("set",v)),m&&(t.off("end"),t.on("end",m))},O=function(){o.clickablePips&&c(u.current.querySelectorAll(".noUi-value")).forEach((function(t){t.style.cursor="pointer",t.addEventListener("click",f)}))},S=function(){var t=r.create(u.current,function(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(n){i(t,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))}))}return t}({},o));g(t),O()};n((function(){var t=o.disabled,n=u.current;return n&&(s(t),S()),function(){var t=l();t&&t.destroy(),n&&c(n.querySelectorAll(".noUi-value")).forEach((function(t){t.removeEventListener("click",f)}))}}),[]);var h=o.start,j=o.disabled,A=o.range,w=o.step,P=o.margin,E=o.padding,N=o.limit,U=o.pips,k=o.snap,I=o.animate;n((function(){var t=l();t&&(!function(t){u.current.noUiSlider.updateOptions(t)}({range:A,step:w,padding:E,margin:P,limit:N,pips:U,snap:k,animate:I}),t.set(h),O()),s(j)}),[h,j,A,w,P,E,N,U,k,I]),n((function(){var t=l();t&&g(t)}),[p,y,d,b,m,v]);var D=o.id,J=o.className,C=o.style,R={};return D&&(R.id=D),J&&(R.className=J),t.createElement("div",a({},R,{ref:u,style:C}))};d.defaultProps={animate:!0,behaviour:"tap",className:null,clickablePips:!1,connect:!1,direction:"ltr",disabled:!1,format:null,margin:null,limit:null,keyboardSupport:!0,id:null,instanceRef:null,padding:0,pips:null,snap:!1,step:null,style:null,orientation:"horizontal",tooltips:!1,onChange:function(){},onEnd:function(){},onSet:function(){},onSlide:function(){},onStart:function(){},onUpdate:function(){}};var b=t.memo(d,y);export{b as default};
//# sourceMappingURL=nouislider-react.esm.production.min.js.map