New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-circle-slider

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-circle-slider - npm Package Compare versions

Comparing version

to
1.5.2

5

lib/index.js

@@ -1,2 +0,2 @@

!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";e.exports=n(2)},function(e,t,n){e.exports=n(7)},function(e,t,n){"use strict";var r=n(3),o=n(4);n(5);var i=n(6);function s(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);throw(t=Error(n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.")).name="Invariant Violation",t.framesToPop=1,t}var l={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function u(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||l}function a(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||l}function c(){}u.prototype.isReactComponent={},u.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&s("85"),this.updater.enqueueSetState(this,e,t,"setState")},u.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},c.prototype=u.prototype;var p=a.prototype=new c;function h(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||l}p.constructor=a,r(p,u.prototype),p.isPureReactComponent=!0;var f=h.prototype=new c;f.constructor=h,r(f,u.prototype),f.unstable_isAsyncReactComponent=!0,f.render=function(){return this.props.children};var d={Component:u,PureComponent:a,AsyncComponent:h},m={current:null},y=Object.prototype.hasOwnProperty,v="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,g={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n,r,o,i,s){return{$$typeof:v,type:e,key:t,ref:n,props:s,_owner:i}}S.createElement=function(e,t,n){var r,o={},i=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source,t)y.call(t,r)&&!g.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var u=Array(l),a=0;a<l;a++)u[a]=arguments[a+2];o.children=u}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return S(e,i,s,0,0,m.current,o)},S.createFactory=function(e){var t=S.createElement.bind(null,e);return t.type=e,t},S.cloneAndReplaceKey=function(e,t){return S(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},S.cloneElement=function(e,t,n){var o=r({},e.props),i=e.key,s=e.ref,l=(e._self,e._source,e._owner);if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=m.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(a in t)y.call(t,a)&&!g.hasOwnProperty(a)&&(o[a]=void 0===t[a]&&void 0!==u?u[a]:t[a])}var a=arguments.length-2;if(1===a)o.children=n;else if(1<a){u=Array(a);for(var c=0;c<a;c++)u[c]=arguments[c+2];o.children=u}return S(e.type,i,s,0,0,l,o)},S.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===v};var b="function"==typeof Symbol&&Symbol.iterator,x="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;var w=/\/+/g,E=[];function P(e,t,n,r){if(E.length){var o=E.pop();return o.result=e,o.keyPrefix=t,o.func=n,o.context=r,o.count=0,o}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function M(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>E.length&&E.push(e)}function A(e,t,n,r){var o=typeof e;if("undefined"!==o&&"boolean"!==o||(e=null),null===e||"string"===o||"number"===o||"object"===o&&e.$$typeof===x)return n(r,e,""===t?"."+C(e,0):t),1;var i=0;if(t=""===t?".":t+":",Array.isArray(e))for(var l=0;l<e.length;l++){var u=t+C(o=e[l],l);i+=A(o,u,n,r)}else if("function"==typeof(u=b&&e[b]||e["@@iterator"]))for(e=u.call(e),l=0;!(o=e.next()).done;)i+=A(o=o.value,u=t+C(o,l++),n,r);else"object"===o&&s("31","[object Object]"===(n=""+e)?"object with keys {"+Object.keys(e).join(", ")+"}":n,"");return i}function C(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function _(e,t){e.func.call(e.context,t,e.count++)}function O(e,t,n){var r=e.result,o=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?j(e,r,n,i.thatReturnsArgument):null!=e&&(S.isValidElement(e)&&(e=S.cloneAndReplaceKey(e,o+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(w,"$&/")+"/")+n)),r.push(e))}function j(e,t,n,r,o){var i="";null!=n&&(i=(""+n).replace(w,"$&/")+"/"),t=P(t,i,r,o),null==e||A(e,"",O,t),M(t)}var k={forEach:function(e,t,n){if(null==e)return e;t=P(null,null,t,n),null==e||A(e,"",_,t),M(t)},map:function(e,t,n){if(null==e)return e;var r=[];return j(e,r,null,t,n),r},count:function(e){return null==e?0:A(e,"",i.thatReturnsNull,null)},toArray:function(e){var t=[];return j(e,t,null,i.thatReturnsArgument),t}};e.exports={Children:{map:k.map,forEach:k.forEach,count:k.count,toArray:k.toArray,only:function(e){return S.isValidElement(e)||s("143"),e}},Component:d.Component,PureComponent:d.PureComponent,unstable_AsyncComponent:d.AsyncComponent,createElement:S.createElement,cloneElement:S.cloneElement,isValidElement:S.isValidElement,createFactory:S.createFactory,version:"16.0.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:m,assign:r}}},function(e,t,n){"use strict";
!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}([function(e,t,n){"use strict";e.exports=n(1)},function(e,t,n){"use strict";var r=n(2),o=n(3);n(4);var i=n(5);function s(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);throw(t=Error(n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.")).name="Invariant Violation",t.framesToPop=1,t}var l={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function u(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||l}function a(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||l}function c(){}u.prototype.isReactComponent={},u.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&s("85"),this.updater.enqueueSetState(this,e,t,"setState")},u.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},c.prototype=u.prototype;var p=a.prototype=new c;function h(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||l}p.constructor=a,r(p,u.prototype),p.isPureReactComponent=!0;var f=h.prototype=new c;f.constructor=h,r(f,u.prototype),f.unstable_isAsyncReactComponent=!0,f.render=function(){return this.props.children};var d={Component:u,PureComponent:a,AsyncComponent:h},m={current:null},y=Object.prototype.hasOwnProperty,v="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,g={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n,r,o,i,s){return{$$typeof:v,type:e,key:t,ref:n,props:s,_owner:i}}S.createElement=function(e,t,n){var r,o={},i=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source,t)y.call(t,r)&&!g.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var u=Array(l),a=0;a<l;a++)u[a]=arguments[a+2];o.children=u}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return S(e,i,s,0,0,m.current,o)},S.createFactory=function(e){var t=S.createElement.bind(null,e);return t.type=e,t},S.cloneAndReplaceKey=function(e,t){return S(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},S.cloneElement=function(e,t,n){var o=r({},e.props),i=e.key,s=e.ref,l=(e._self,e._source,e._owner);if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=m.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(a in t)y.call(t,a)&&!g.hasOwnProperty(a)&&(o[a]=void 0===t[a]&&void 0!==u?u[a]:t[a])}var a=arguments.length-2;if(1===a)o.children=n;else if(1<a){u=Array(a);for(var c=0;c<a;c++)u[c]=arguments[c+2];o.children=u}return S(e.type,i,s,0,0,l,o)},S.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===v};var b="function"==typeof Symbol&&Symbol.iterator,x="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;var w=/\/+/g,E=[];function P(e,t,n,r){if(E.length){var o=E.pop();return o.result=e,o.keyPrefix=t,o.func=n,o.context=r,o.count=0,o}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function M(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>E.length&&E.push(e)}function A(e,t,n,r){var o=typeof e;if("undefined"!==o&&"boolean"!==o||(e=null),null===e||"string"===o||"number"===o||"object"===o&&e.$$typeof===x)return n(r,e,""===t?"."+C(e,0):t),1;var i=0;if(t=""===t?".":t+":",Array.isArray(e))for(var l=0;l<e.length;l++){var u=t+C(o=e[l],l);i+=A(o,u,n,r)}else if("function"==typeof(u=b&&e[b]||e["@@iterator"]))for(e=u.call(e),l=0;!(o=e.next()).done;)i+=A(o=o.value,u=t+C(o,l++),n,r);else"object"===o&&s("31","[object Object]"===(n=""+e)?"object with keys {"+Object.keys(e).join(", ")+"}":n,"");return i}function C(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function _(e,t){e.func.call(e.context,t,e.count++)}function O(e,t,n){var r=e.result,o=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?j(e,r,n,i.thatReturnsArgument):null!=e&&(S.isValidElement(e)&&(e=S.cloneAndReplaceKey(e,o+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(w,"$&/")+"/")+n)),r.push(e))}function j(e,t,n,r,o){var i="";null!=n&&(i=(""+n).replace(w,"$&/")+"/"),t=P(t,i,r,o),null==e||A(e,"",O,t),M(t)}var k={forEach:function(e,t,n){if(null==e)return e;t=P(null,null,t,n),null==e||A(e,"",_,t),M(t)},map:function(e,t,n){if(null==e)return e;var r=[];return j(e,r,null,t,n),r},count:function(e){return null==e?0:A(e,"",i.thatReturnsNull,null)},toArray:function(e){var t=[];return j(e,t,null,i.thatReturnsArgument),t}};e.exports={Children:{map:k.map,forEach:k.forEach,count:k.count,toArray:k.toArray,only:function(e){return S.isValidElement(e)||s("143"),e}},Component:d.Component,PureComponent:d.PureComponent,unstable_AsyncComponent:d.AsyncComponent,createElement:S.createElement,cloneElement:S.cloneElement,isValidElement:S.isValidElement,createFactory:S.createFactory,version:"16.0.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:m,assign:r}}},function(e,t,n){"use strict";
/*

@@ -6,3 +6,2 @@ object-assign

@license MIT
*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;u<arguments.length;u++){for(var a in n=Object(arguments[u]))o.call(n,a)&&(l[a]=n[a]);if(r){s=r(n);for(var c=0;c<s.length;c++)i.call(n,s[c])&&(l[s[c]]=n[s[c]])}}return l}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,s,l,u){if(r(t),!e){var a;if(void 0===t)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,o,i,s,l,u],p=0;(a=new Error(t.replace(/%s/g,function(){return c[p++]}))).name="Invariant Violation"}throw a.framesToPop=1,a}}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";n.r(t);var r=n(0);class o{constructor(e,t){this.setCurrentStepIndexFromArray=(e=>{for(let t=0;t<this.countSteps;t++)if(e<=this.stepsArray[t])return this.stepIndex=t,!0;return!1}),this.stepsArray=e,this.countSteps=this.stepsArray.length-1,this.stepIndex=0,this.setCurrentStepIndexFromArray(t)}getAngle(){return Math.min(this.getAnglePoint()*this.stepIndex,2*Math.PI-Number.EPSILON)-1e-5}getCurrentStep(){return this.stepsArray[this.stepIndex]}updateStepIndexFromValue(e){this.setCurrentStepIndexFromArray(e)||(this.stepIndex=this.countSteps)}updateStepIndexFromAngle(e){const t=Math.round(e/this.getAnglePoint());t<this.countSteps?this.stepIndex=t:this.stepIndex=this.countSteps}getAnglePoint(){return 2*Math.PI/this.countSteps}}class i{constructor(e){this.container=e,this.setPosition({x:0,y:0})}setPosition(e){if(!this.container)return;const t=this.container.getBoundingClientRect(),n=t.width;this.center=n/2,this.relativeX=e.clientX-t.left,this.relativeY=e.clientY-t.top}getNewSliderAngle(){return(Math.atan2(this.relativeY-this.center,this.relativeX-this.center)+3*Math.PI/2)%(2*Math.PI)}}const s=(e,t,n,r,o)=>{const i=[];return i.push("M"+e),i.push(e+t),i.push("A"),i.push(t),i.push(t),i.push(0),i.push(n),i.push(1),i.push(r),i.push(o),i.join(" ")};class l extends r.Component{constructor(e){super(e),this.updateAngle=(e=>{this.circleSliderHelper.updateStepIndexFromAngle(e);const t=this.circleSliderHelper.getCurrentStep();this.setState({angle:e,currentStepValue:t}),this.props.onChange(t)}),this.updateSlider=(()=>{const e=this.mouseHelper.getNewSliderAngle();Math.abs(e-this.state.angle)<Math.PI&&this.updateAngle(e)}),this.updateSliderFromProps=(e=>{const{stepSize:t}=this.props,n=Math.round(e/t)*t;this.circleSliderHelper.updateStepIndexFromValue(n),this.setState({angle:this.circleSliderHelper.getAngle(),currentStepValue:n})}),this.getCenter=(()=>this.props.size/2),this.getAngle=(()=>this.state.angle+Math.PI/2),this.getPointPosition=(()=>{const e=this.getCenter(),t=this.getAngle();return{x:e+this.radius*Math.cos(t),y:e+this.radius*Math.sin(t)}}),this.getStepsArray=((e,t)=>{const n=[];for(let r=0;r<this.countSteps;r++)n.push(e+r*t);return n}),this.getPath=(()=>{const e=this.getCenter(),t=this.getAngle()<1.5*Math.PI?0:1,{x:n,y:r}=this.getPointPosition();return s(e,this.radius,t,n,r)}),this.handleMouseMove=(e=>{e.preventDefault(),this.setState({isMouseMove:!0}),this.mouseHelper.setPosition(e),this.updateSlider()}),this.handleMouseUp=(e=>{e.preventDefault(),this.setState({isMouseMove:!1}),window.removeEventListener("mousemove",this.handleMouseMove),window.removeEventListener("mouseup",this.handleMouseUp)}),this.handleMouseDown=(e=>{this.props.disabled||(e.preventDefault(),window.addEventListener("mousemove",this.handleMouseMove),window.addEventListener("mouseup",this.handleMouseUp))}),this.handleTouchMove=(e=>{const t=e.targetTouches,n=t.length,r=t.item(n-1);this.mouseHelper.setPosition(r),this.updateSlider()}),this.handleTouchUp=(()=>{window.removeEventListener("touchmove",this.handleTouchMove),window.removeEventListener("touchend",this.handleTouchUp)}),this.handleTouchStart=(()=>{this.props.disabled||(window.addEventListener("touchmove",this.handleTouchMove),window.addEventListener("touchend",this.handleTouchUp))}),this.state={angle:0,currentStepValue:0,isMouseMove:!1};const{min:t,max:n,stepSize:r,value:i,circleWidth:l,progressWidth:u,knobRadius:a}=this.props;this.maxLineWidth=Math.max(l,u),this.radius=this.getCenter()-Math.max(this.maxLineWidth,2*a)/2,this.countSteps=1+(n-t)/r,this.stepsArray=this.getStepsArray(t,r),this.circleSliderHelper=new o(this.stepsArray,i)}componentDidMount(){this.mouseHelper=new i(this.svg),this.setState({angle:this.circleSliderHelper.getAngle(),currentStepValue:this.circleSliderHelper.getCurrentStep()})}componentWillReceiveProps(e){this.props.value===e.value||this.state.isMouseMove||this.updateSliderFromProps(e.value)}render(){const{size:e,progressColor:t,gradientColorFrom:n,gradientColorTo:o,knobColor:i,circleColor:s,disabled:l,shadow:u,circleWidth:a,progressWidth:c,knobRadius:p,showTooltip:h,tooltipSize:f,tooltipColor:d}=this.props,m=u?"5px":"0px",{x:y,y:v}=this.getPointPosition(),g=this.getCenter(),S=n&&o;return r.createElement("svg",{ref:e=>this.svg=e,width:`${e}px`,height:`${e}px`,viewBox:`0 0 ${e} ${e}`,onMouseDown:this.handleMouseDown,onTouchStart:this.handleTouchStart,style:{padding:m,boxSizing:"border-box"}},r.createElement("g",null,r.createElement("circle",{style:{strokeWidth:a,stroke:s,fill:"none"},r:this.radius,cx:g,cy:g}),S&&r.createElement("defs",null,r.createElement("linearGradient",{id:"gradient",x1:"0",x2:"0",y1:"0",y2:"1"},r.createElement("stop",{offset:"0%","stop-color":n}),r.createElement("stop",{offset:"100%","stop-color":o}))),r.createElement("path",{style:{strokeLinecap:"round",strokeWidth:c,stroke:S?"url(#gradient)":t,fill:"none"},d:this.getPath()}),u&&r.createElement("filter",{id:"dropShadow",filterUnits:"userSpaceOnUse"},r.createElement("feGaussianBlur",{in:"SourceAlpha",stdDeviation:"3"}),r.createElement("feOffset",{dx:"2",dy:"2"}),r.createElement("feComponentTransfer",null,r.createElement("feFuncA",{type:"linear",slope:"0.3"})),r.createElement("feMerge",null,r.createElement("feMergeNode",null),r.createElement("feMergeNode",{in:"SourceGraphic"}))),r.createElement("circle",{style:{fill:i,cursor:l?"not-allowed":"pointer"},filter:u?"url(#dropShadow)":"none",r:p,cx:y,cy:v}),h&&r.createElement("text",{x:e/2,y:e/2+f/3,textAnchor:"middle",fontSize:f,fontFamily:"Arial",fill:d},this.state.currentStepValue)))}}l.defaultProps={circleColor:"#e9eaee",size:180,value:0,progressColor:"#007aff",knobColor:"#fff",circleWidth:5,progressWidth:20,knobRadius:20,stepSize:1,min:0,max:100,disabled:!1,shadow:!0,showTooltip:!1,tooltipSize:32,tooltipColor:"#333",onChange:()=>({})},n.d(t,"CircleSlider",function(){return l})}]));
//# sourceMappingURL=index.js.map
*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;u<arguments.length;u++){for(var a in n=Object(arguments[u]))o.call(n,a)&&(l[a]=n[a]);if(r){s=r(n);for(var c=0;c<s.length;c++)i.call(n,s[c])&&(l[s[c]]=n[s[c]])}}return l}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,s,l,u){if(r(t),!e){var a;if(void 0===t)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,o,i,s,l,u],p=0;(a=new Error(t.replace(/%s/g,function(){return c[p++]}))).name="Invariant Violation"}throw a.framesToPop=1,a}}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";n.r(t);var r=n(0);class o{constructor(e,t){this.setCurrentStepIndexFromArray=(e=>{for(let t=0;t<this.countSteps;t++)if(e<=this.stepsArray[t])return this.stepIndex=t,!0;return!1}),this.stepsArray=e,this.countSteps=this.stepsArray.length-1,this.stepIndex=0,this.setCurrentStepIndexFromArray(t)}getAngle(){return Math.min(this.getAnglePoint()*this.stepIndex,2*Math.PI-Number.EPSILON)-1e-5}getCurrentStep(){return this.stepsArray[this.stepIndex]}updateStepIndexFromValue(e){this.setCurrentStepIndexFromArray(e)||(this.stepIndex=this.countSteps)}updateStepIndexFromAngle(e){const t=Math.round(e/this.getAnglePoint());t<this.countSteps?this.stepIndex=t:this.stepIndex=this.countSteps}getAnglePoint(){return 2*Math.PI/this.countSteps}}class i{constructor(e){this.container=e,this.setPosition({x:0,y:0})}setPosition(e){if(!this.container)return;const t=this.container.getBoundingClientRect(),n=t.width;this.center=n/2,this.relativeX=e.clientX-t.left,this.relativeY=e.clientY-t.top}getNewSliderAngle(){return(Math.atan2(this.relativeY-this.center,this.relativeX-this.center)+3*Math.PI/2)%(2*Math.PI)}}const s=(e,t,n,r,o)=>{const i=[];return i.push("M"+e),i.push(e+t),i.push("A"),i.push(t),i.push(t),i.push(0),i.push(n),i.push(1),i.push(r),i.push(o),i.join(" ")};class l extends r.Component{constructor(e){super(e),this.updateAngle=(e=>{this.circleSliderHelper.updateStepIndexFromAngle(e);const t=this.circleSliderHelper.getCurrentStep();this.setState({angle:e,currentStepValue:t}),this.props.onChange(t)}),this.updateSlider=(()=>{const e=this.mouseHelper.getNewSliderAngle();Math.abs(e-this.state.angle)<Math.PI&&this.updateAngle(e)}),this.updateSliderFromProps=(e=>{const{stepSize:t}=this.props,n=Math.round(e/t)*t;this.circleSliderHelper.updateStepIndexFromValue(n),this.setState({angle:this.circleSliderHelper.getAngle(),currentStepValue:n})}),this.getCenter=(()=>this.props.size/2),this.getAngle=(()=>this.state.angle+Math.PI/2),this.getPointPosition=(()=>{const e=this.getCenter(),t=this.getAngle();return{x:e+this.radius*Math.cos(t),y:e+this.radius*Math.sin(t)}}),this.getStepsArray=((e,t)=>{const n=[];for(let r=0;r<this.countSteps;r++)n.push(e+r*t);return n}),this.getPath=(()=>{const e=this.getCenter(),t=this.getAngle()<1.5*Math.PI?0:1,{x:n,y:r}=this.getPointPosition();return s(e,this.radius,t,n,r)}),this.handleMouseMove=(e=>{e.preventDefault(),this.setState({isMouseMove:!0}),this.mouseHelper.setPosition(e),this.updateSlider()}),this.handleMouseUp=(e=>{e.preventDefault(),this.setState({isMouseMove:!1}),window.removeEventListener("mousemove",this.handleMouseMove),window.removeEventListener("mouseup",this.handleMouseUp)}),this.handleMouseDown=(e=>{this.props.disabled||(e.preventDefault(),window.addEventListener("mousemove",this.handleMouseMove),window.addEventListener("mouseup",this.handleMouseUp))}),this.handleTouchMove=(e=>{const t=e.targetTouches,n=t.length,r=t.item(n-1);this.mouseHelper.setPosition(r),this.updateSlider()}),this.handleTouchUp=(()=>{window.removeEventListener("touchmove",this.handleTouchMove),window.removeEventListener("touchend",this.handleTouchUp)}),this.handleTouchStart=(()=>{this.props.disabled||(window.addEventListener("touchmove",this.handleTouchMove),window.addEventListener("touchend",this.handleTouchUp))}),this.state={angle:0,currentStepValue:0,isMouseMove:!1};const{min:t,max:n,stepSize:r,value:i,circleWidth:l,progressWidth:u,knobRadius:a}=this.props;this.maxLineWidth=Math.max(l,u),this.radius=this.getCenter()-Math.max(this.maxLineWidth,2*a)/2,this.countSteps=1+(n-t)/r,this.stepsArray=this.getStepsArray(t,r),this.circleSliderHelper=new o(this.stepsArray,i)}componentDidMount(){this.mouseHelper=new i(this.svg),this.setState({angle:this.circleSliderHelper.getAngle(),currentStepValue:this.circleSliderHelper.getCurrentStep()})}componentWillReceiveProps(e){this.props.value===e.value||this.state.isMouseMove||this.updateSliderFromProps(e.value)}render(){const{size:e,progressColor:t,gradientColorFrom:n,gradientColorTo:o,knobColor:i,circleColor:s,disabled:l,shadow:u,circleWidth:a,progressWidth:c,knobRadius:p,showTooltip:h,tooltipSize:f,tooltipColor:d}=this.props,m=u?"5px":"0px",{x:y,y:v}=this.getPointPosition(),g=this.getCenter(),S=n&&o;return r.createElement("svg",{ref:e=>this.svg=e,width:`${e}px`,height:`${e}px`,viewBox:`0 0 ${e} ${e}`,onMouseDown:this.handleMouseDown,onTouchStart:this.handleTouchStart,style:{padding:m,boxSizing:"border-box"}},r.createElement("g",null,r.createElement("circle",{style:{strokeWidth:a,stroke:s,fill:"none"},r:this.radius,cx:g,cy:g}),S&&r.createElement("defs",null,r.createElement("linearGradient",{id:"gradient",x1:"0",x2:"0",y1:"0",y2:"1"},r.createElement("stop",{offset:"0%","stop-color":n}),r.createElement("stop",{offset:"100%","stop-color":o}))),r.createElement("path",{style:{strokeLinecap:"round",strokeWidth:c,stroke:S?"url(#gradient)":t,fill:"none"},d:this.getPath()}),u&&r.createElement("filter",{id:"dropShadow",filterUnits:"userSpaceOnUse"},r.createElement("feGaussianBlur",{in:"SourceAlpha",stdDeviation:"3"}),r.createElement("feOffset",{dx:"2",dy:"2"}),r.createElement("feComponentTransfer",null,r.createElement("feFuncA",{type:"linear",slope:"0.3"})),r.createElement("feMerge",null,r.createElement("feMergeNode",null),r.createElement("feMergeNode",{in:"SourceGraphic"}))),r.createElement("circle",{style:{fill:i,cursor:l?"not-allowed":"pointer"},filter:u?"url(#dropShadow)":"none",r:p,cx:y,cy:v}),h&&r.createElement("text",{x:e/2,y:e/2+f/3,textAnchor:"middle",fontSize:f,fontFamily:"Arial",fill:d},this.state.currentStepValue)))}}l.defaultProps={circleColor:"#e9eaee",size:180,value:0,progressColor:"#007aff",knobColor:"#fff",circleWidth:5,progressWidth:20,knobRadius:20,stepSize:1,min:0,max:100,disabled:!1,shadow:!0,showTooltip:!1,tooltipSize:32,tooltipColor:"#333",onChange:()=>({})},n.d(t,"CircleSlider",function(){return l})}]));

3

package.json
{
"name": "react-circle-slider",
"version": "1.5.1",
"version": "1.5.2",
"description": "Circle Slider UI component for React",

@@ -36,2 +36,3 @@ "main": "./lib/index.js",

"@types/react-syntax-highlighter": "0.0.6",
"awesome-typescript-loader": "^5.2.1",
"enzyme": "^3.5.0",

@@ -38,0 +39,0 @@ "enzyme-adapter-react-16": "^1.2.0",

const path = require("path");
const webpack = require("webpack");
const UglifyWebpackPlugin = require("uglifyjs-webpack-plugin");
module.exports = {
entry: {
app: ["./src/index.ts"],
},
entry: path.resolve(__dirname, "src/index.ts"),
output: {

@@ -15,3 +12,2 @@ path: path.resolve(__dirname, "./lib"),

},
devtool: "source-map",
resolve: {

@@ -24,19 +20,6 @@ extensions: [".js", ".jsx", ".json", ".ts", ".tsx"],

test: /\.(ts|tsx)$/,
loader: "ts-loader",
loader: "awesome-typescript-loader",
},
{ enforce: "pre", test: /\.js$/, loader: "source-map-loader" },
],
},
optimization: {
minimizer: [
new UglifyWebpackPlugin({
cache: true,
parallel: true,
uglifyOptions: {
mangle: true,
},
sourceMap: true,
}),
],
},
};