Socket
Socket
Sign inDemoInstall

react-draggable

Package Overview
Dependencies
Maintainers
2
Versions
79
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-draggable - npm Package Compare versions

Comparing version 3.0.5 to 3.1.0

lib/umd.js

2

bower.json
{
"name": "react-draggable",
"version": "3.0.5",
"version": "3.1.0",
"homepage": "https://github.com/mzabriskie/react-draggable",

@@ -5,0 +5,0 @@ "authors": [

# Changelog
### 3.0.5 (Jan 11, 2017)
### 3.1.0 (Dec 21, 2018)
- Feature: Added `scale` prop ([#352](https://github.com/mzabriskie/react-draggable/pull/352))
- Thanks, @wootencl
- Bugfix: Remove process.browser which is missing in browser ([#329]((https://github.com/mzabriskie/react-draggable/pull/329))
- Bugfix: Fix selection api on IE ([#292](https://github.com/mzabriskie/react-draggable/pull/292))
- Bugfix: Fixes some issues in the type definitions for TypeScript ([#331]((https://github.com/mzabriskie/react-draggable/pull/331))
- Bugfix: Fix compare where portal elements are different instance to main window ([#359]((https://github.com/mzabriskie/react-draggable/pull/359))
### 3.0.5 (Jan 11, 2018)
- Bugfix: Fix crash in test environments during removeUserSelectStyles().

@@ -10,3 +19,3 @@

- Bugfix: Fix "Cannot call property 'call' of undefined" (matchesSelector)
= Fixes [#300](https://github.com/mzabriskie/react-draggable/issues/300)
- Fixes [#300](https://github.com/mzabriskie/react-draggable/issues/300)

@@ -13,0 +22,0 @@ ### 3.0.3 (Aug 31, 2017)

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

!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("react-dom"),require("react")):"function"==typeof define&&define.amd?define(["react-dom","react"],factory):"object"==typeof exports?exports.ReactDraggable=factory(require("react-dom"),require("react")):root.ReactDraggable=factory(root.ReactDOM,root.React)}(this,function(__WEBPACK_EXTERNAL_MODULE_4__,__WEBPACK_EXTERNAL_MODULE_6__){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=12)}([function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.findInArray=function(array,callback){for(var i=0,length=array.length;i<length;i++)if(callback.apply(callback,[array[i],i,array]))return array[i]},exports.isFunction=function(func){return"function"==typeof func||"[object Function]"===Object.prototype.toString.call(func)},exports.isNum=function(num){return"number"==typeof num&&!isNaN(num)},exports.int=function(a){return parseInt(a,10)},exports.dontSetMe=function(props,propName,componentName){if(props[propName])return new Error("Invalid prop "+propName+" passed to "+componentName+" - do not set this, set it on the child.")}},function(module,exports,__webpack_require__){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function(){};emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(arg){return arg},module.exports=emptyFunction},function(module,exports,__webpack_require__){"use strict";var validateFormat=function(format){};"production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV&&(validateFormat=function(format){if(void 0===format)throw new Error("invariant requires an error message argument")}),module.exports=function(condition,format,a,b,c,d,e,f){if(validateFormat(format),!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;(error=new Error(format.replace(/%s/g,function(){return args[argIndex++]}))).name="Invariant Violation"}throw error.framesToPop=1,error}}},function(module,exports,__webpack_require__){"use strict";module.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_4__},function(module,exports,__webpack_require__){"use strict";function matchesSelector(el,selector){return matchesSelectorFunc||(matchesSelectorFunc=(0,_shims.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(method){return(0,_shims.isFunction)(el[method])})),!!(0,_shims.isFunction)(el[matchesSelectorFunc])&&el[matchesSelectorFunc](selector)}function addClassName(el,className){el.classList?el.classList.add(className):el.className.match(new RegExp("(?:^|\\s)"+className+"(?!\\S)"))||(el.className+=" "+className)}function removeClassName(el,className){el.classList?el.classList.remove(className):el.className=el.className.replace(new RegExp("(?:^|\\s)"+className+"(?!\\S)","g"),"")}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target};exports.matchesSelector=matchesSelector,exports.matchesSelectorAndParentsTo=function(el,selector,baseNode){var node=el;do{if(matchesSelector(node,selector))return!0;if(node===baseNode)return!1;node=node.parentNode}while(node);return!1},exports.addEvent=function(el,event,handler){el&&(el.attachEvent?el.attachEvent("on"+event,handler):el.addEventListener?el.addEventListener(event,handler,!0):el["on"+event]=handler)},exports.removeEvent=function(el,event,handler){el&&(el.detachEvent?el.detachEvent("on"+event,handler):el.removeEventListener?el.removeEventListener(event,handler,!0):el["on"+event]=null)},exports.outerHeight=function(node){var height=node.clientHeight,computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);return height+=(0,_shims.int)(computedStyle.borderTopWidth),height+=(0,_shims.int)(computedStyle.borderBottomWidth)},exports.outerWidth=function(node){var width=node.clientWidth,computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);return width+=(0,_shims.int)(computedStyle.borderLeftWidth),width+=(0,_shims.int)(computedStyle.borderRightWidth)},exports.innerHeight=function(node){var height=node.clientHeight,computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);return height-=(0,_shims.int)(computedStyle.paddingTop),height-=(0,_shims.int)(computedStyle.paddingBottom)},exports.innerWidth=function(node){var width=node.clientWidth,computedStyle=node.ownerDocument.defaultView.getComputedStyle(node);return width-=(0,_shims.int)(computedStyle.paddingLeft),width-=(0,_shims.int)(computedStyle.paddingRight)},exports.offsetXYFromParent=function(evt,offsetParent){var offsetParentRect=offsetParent===offsetParent.ownerDocument.body?{left:0,top:0}:offsetParent.getBoundingClientRect();return{x:evt.clientX+offsetParent.scrollLeft-offsetParentRect.left,y:evt.clientY+offsetParent.scrollTop-offsetParentRect.top}},exports.createCSSTransform=function(_ref){var x=_ref.x,y=_ref.y;return function(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}({},(0,_getPrefix.browserPrefixToKey)("transform",_getPrefix2.default),"translate("+x+"px,"+y+"px)")},exports.createSVGTransform=function(_ref3){return"translate("+_ref3.x+","+_ref3.y+")"},exports.getTouch=function(e,identifier){return e.targetTouches&&(0,_shims.findInArray)(e.targetTouches,function(t){return identifier===t.identifier})||e.changedTouches&&(0,_shims.findInArray)(e.changedTouches,function(t){return identifier===t.identifier})},exports.getTouchIdentifier=function(e){return e.targetTouches&&e.targetTouches[0]?e.targetTouches[0].identifier:e.changedTouches&&e.changedTouches[0]?e.changedTouches[0].identifier:void 0},exports.addUserSelectStyles=function(doc){if(doc){var styleEl=doc.getElementById("react-draggable-style-el");styleEl||((styleEl=doc.createElement("style")).type="text/css",styleEl.id="react-draggable-style-el",styleEl.innerHTML=".react-draggable-transparent-selection *::-moz-selection {background: transparent;}\n",styleEl.innerHTML+=".react-draggable-transparent-selection *::selection {background: transparent;}\n",doc.getElementsByTagName("head")[0].appendChild(styleEl)),doc.body&&addClassName(doc.body,"react-draggable-transparent-selection")}},exports.removeUserSelectStyles=function(doc){try{doc&&doc.body&&removeClassName(doc.body,"react-draggable-transparent-selection"),window.getSelection().removeAllRanges()}catch(e){}},exports.styleHacks=function(){var childStyle=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _extends({touchAction:"none"},childStyle)},exports.addClassName=addClassName,exports.removeClassName=removeClassName;var _shims=__webpack_require__(0),_getPrefix=__webpack_require__(19),_getPrefix2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_getPrefix),matchesSelectorFunc=""},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_6__},function(module,exports,__webpack_require__){if("production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV){var REACT_ELEMENT_TYPE="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;module.exports=__webpack_require__(14)(function(object){return"object"==typeof object&&null!==object&&object.$$typeof===REACT_ELEMENT_TYPE},!0)}else module.exports=__webpack_require__(17)()},function(module,exports,__webpack_require__){"use strict";var warning=__webpack_require__(1);if("production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV){warning=function(condition,format){if(void 0===format)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==format.indexOf("Failed Composite propType: ")&&!condition){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++)args[_key2-2]=arguments[_key2];(function(format){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];var argIndex=0,message="Warning: "+format.replace(/%s/g,function(){return args[argIndex++]});"undefined"!=typeof console&&console.error(message);try{throw new Error(message)}catch(x){}}).apply(void 0,[format].concat(args))}}}module.exports=warning},function(module,exports,__webpack_require__){"use strict";function findDOMNode(draggable){var node=_reactDom2.default.findDOMNode(draggable);if(!node)throw new Error("<DraggableCore>: Unmounted during event!");return node}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBoundPosition=function(draggable,x,y){if(!draggable.props.bounds)return[x,y];var bounds=draggable.props.bounds;bounds="string"==typeof bounds?bounds:function(bounds){return{left:bounds.left,top:bounds.top,right:bounds.right,bottom:bounds.bottom}}(bounds);var node=findDOMNode(draggable);if("string"==typeof bounds){var ownerDocument=node.ownerDocument,ownerWindow=ownerDocument.defaultView,boundNode=void 0;if(!((boundNode="parent"===bounds?node.parentNode:ownerDocument.querySelector(bounds))instanceof HTMLElement))throw new Error('Bounds selector "'+bounds+'" could not find an element.');var nodeStyle=ownerWindow.getComputedStyle(node),boundNodeStyle=ownerWindow.getComputedStyle(boundNode);bounds={left:-node.offsetLeft+(0,_shims.int)(boundNodeStyle.paddingLeft)+(0,_shims.int)(nodeStyle.marginLeft),top:-node.offsetTop+(0,_shims.int)(boundNodeStyle.paddingTop)+(0,_shims.int)(nodeStyle.marginTop),right:(0,_domFns.innerWidth)(boundNode)-(0,_domFns.outerWidth)(node)-node.offsetLeft+(0,_shims.int)(boundNodeStyle.paddingRight)-(0,_shims.int)(nodeStyle.marginRight),bottom:(0,_domFns.innerHeight)(boundNode)-(0,_domFns.outerHeight)(node)-node.offsetTop+(0,_shims.int)(boundNodeStyle.paddingBottom)-(0,_shims.int)(nodeStyle.marginBottom)}}return(0,_shims.isNum)(bounds.right)&&(x=Math.min(x,bounds.right)),(0,_shims.isNum)(bounds.bottom)&&(y=Math.min(y,bounds.bottom)),(0,_shims.isNum)(bounds.left)&&(x=Math.max(x,bounds.left)),(0,_shims.isNum)(bounds.top)&&(y=Math.max(y,bounds.top)),[x,y]},exports.snapToGrid=function(grid,pendingX,pendingY){return[Math.round(pendingX/grid[0])*grid[0],Math.round(pendingY/grid[1])*grid[1]]},exports.canDragX=function(draggable){return"both"===draggable.props.axis||"x"===draggable.props.axis},exports.canDragY=function(draggable){return"both"===draggable.props.axis||"y"===draggable.props.axis},exports.getControlPosition=function(e,touchIdentifier,draggableCore){var touchObj="number"==typeof touchIdentifier?(0,_domFns.getTouch)(e,touchIdentifier):null;if("number"==typeof touchIdentifier&&!touchObj)return null;var node=findDOMNode(draggableCore),offsetParent=draggableCore.props.offsetParent||node.offsetParent||node.ownerDocument.body;return(0,_domFns.offsetXYFromParent)(touchObj||e,offsetParent)},exports.createCoreData=function(draggable,x,y){var state=draggable.state,isStart=!(0,_shims.isNum)(state.lastX),node=findDOMNode(draggable);return isStart?{node:node,deltaX:0,deltaY:0,lastX:x,lastY:y,x:x,y:y}:{node:node,deltaX:x-state.lastX,deltaY:y-state.lastY,lastX:state.lastX,lastY:state.lastY,x:x,y:y}},exports.createDraggableData=function(draggable,coreData){return{node:coreData.node,x:draggable.state.x+coreData.deltaX,y:draggable.state.y+coreData.deltaY,deltaX:coreData.deltaX,deltaY:coreData.deltaY,lastX:draggable.state.x,lastY:draggable.state.y}};var _shims=__webpack_require__(0),_reactDom2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(__webpack_require__(4)),_domFns=__webpack_require__(5)},function(module,exports,__webpack_require__){"use strict";(function(process){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}Object.defineProperty(exports,"__esModule",{value:!0});var _slicedToArray=function(){return function(arr,i){if(Array.isArray(arr))return arr;if(Symbol.iterator in Object(arr))return function(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react2=_interopRequireDefault(__webpack_require__(6)),_propTypes2=_interopRequireDefault(__webpack_require__(7)),_reactDom2=_interopRequireDefault(__webpack_require__(4)),_domFns=__webpack_require__(5),_positionFns=__webpack_require__(9),_shims=__webpack_require__(0),_log2=_interopRequireDefault(__webpack_require__(11)),eventsFor={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}},dragEventFor=eventsFor.mouse,DraggableCore=function(_React$Component){function DraggableCore(){var _ref,_temp,_this,_ret;!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,DraggableCore);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_ref=DraggableCore.__proto__||Object.getPrototypeOf(DraggableCore)).call.apply(_ref,[this].concat(args))),_this.state={dragging:!1,lastX:NaN,lastY:NaN,touchIdentifier:null},_this.handleDragStart=function(e){if(_this.props.onMouseDown(e),!_this.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;var thisNode=_reactDom2.default.findDOMNode(_this);if(!thisNode||!thisNode.ownerDocument||!thisNode.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");var ownerDocument=thisNode.ownerDocument;if(!(_this.props.disabled||!(e.target instanceof ownerDocument.defaultView.Node)||_this.props.handle&&!(0,_domFns.matchesSelectorAndParentsTo)(e.target,_this.props.handle,thisNode)||_this.props.cancel&&(0,_domFns.matchesSelectorAndParentsTo)(e.target,_this.props.cancel,thisNode))){var touchIdentifier=(0,_domFns.getTouchIdentifier)(e);_this.setState({touchIdentifier:touchIdentifier});var position=(0,_positionFns.getControlPosition)(e,touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y,coreEvent=(0,_positionFns.createCoreData)(_this,x,y);(0,_log2.default)("DraggableCore: handleDragStart: %j",coreEvent),(0,_log2.default)("calling",_this.props.onStart);!1!==_this.props.onStart(e,coreEvent)&&(_this.props.enableUserSelectHack&&(0,_domFns.addUserSelectStyles)(ownerDocument),_this.setState({dragging:!0,lastX:x,lastY:y}),(0,_domFns.addEvent)(ownerDocument,dragEventFor.move,_this.handleDrag),(0,_domFns.addEvent)(ownerDocument,dragEventFor.stop,_this.handleDragStop))}}},_this.handleDrag=function(e){"touchmove"===e.type&&e.preventDefault();var position=(0,_positionFns.getControlPosition)(e,_this.state.touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y;if(Array.isArray(_this.props.grid)){var _deltaX=x-_this.state.lastX,_deltaY=y-_this.state.lastY,_snapToGrid=(0,_positionFns.snapToGrid)(_this.props.grid,_deltaX,_deltaY),_snapToGrid2=_slicedToArray(_snapToGrid,2);if(_deltaX=_snapToGrid2[0],_deltaY=_snapToGrid2[1],!_deltaX&&!_deltaY)return;x=_this.state.lastX+_deltaX,y=_this.state.lastY+_deltaY}var coreEvent=(0,_positionFns.createCoreData)(_this,x,y);(0,_log2.default)("DraggableCore: handleDrag: %j",coreEvent);if(!1!==_this.props.onDrag(e,coreEvent))_this.setState({lastX:x,lastY:y});else try{_this.handleDragStop(new MouseEvent("mouseup"))}catch(err){var event=document.createEvent("MouseEvents");event.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),_this.handleDragStop(event)}}},_this.handleDragStop=function(e){if(_this.state.dragging){var position=(0,_positionFns.getControlPosition)(e,_this.state.touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y,coreEvent=(0,_positionFns.createCoreData)(_this,x,y),thisNode=_reactDom2.default.findDOMNode(_this);thisNode&&_this.props.enableUserSelectHack&&(0,_domFns.removeUserSelectStyles)(thisNode.ownerDocument),(0,_log2.default)("DraggableCore: handleDragStop: %j",coreEvent),_this.setState({dragging:!1,lastX:NaN,lastY:NaN}),_this.props.onStop(e,coreEvent),thisNode&&((0,_log2.default)("DraggableCore: Removing handlers"),(0,_domFns.removeEvent)(thisNode.ownerDocument,dragEventFor.move,_this.handleDrag),(0,_domFns.removeEvent)(thisNode.ownerDocument,dragEventFor.stop,_this.handleDragStop))}}},_this.onMouseDown=function(e){return dragEventFor=eventsFor.mouse,_this.handleDragStart(e)},_this.onMouseUp=function(e){return dragEventFor=eventsFor.mouse,_this.handleDragStop(e)},_this.onTouchStart=function(e){return dragEventFor=eventsFor.touch,_this.handleDragStart(e)},_this.onTouchEnd=function(e){return dragEventFor=eventsFor.touch,_this.handleDragStop(e)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}(DraggableCore,_react2.default.Component),_createClass(DraggableCore,[{key:"componentWillUnmount",value:function(){var thisNode=_reactDom2.default.findDOMNode(this);if(thisNode){var ownerDocument=thisNode.ownerDocument;(0,_domFns.removeEvent)(ownerDocument,eventsFor.mouse.move,this.handleDrag),(0,_domFns.removeEvent)(ownerDocument,eventsFor.touch.move,this.handleDrag),(0,_domFns.removeEvent)(ownerDocument,eventsFor.mouse.stop,this.handleDragStop),(0,_domFns.removeEvent)(ownerDocument,eventsFor.touch.stop,this.handleDragStop),this.props.enableUserSelectHack&&(0,_domFns.removeUserSelectStyles)(ownerDocument)}}},{key:"render",value:function(){return _react2.default.cloneElement(_react2.default.Children.only(this.props.children),{style:(0,_domFns.styleHacks)(this.props.children.props.style),onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}]),DraggableCore}();DraggableCore.displayName="DraggableCore",DraggableCore.propTypes={allowAnyClick:_propTypes2.default.bool,disabled:_propTypes2.default.bool,enableUserSelectHack:_propTypes2.default.bool,offsetParent:function(props,propName){if(!0===process.browser&&props[propName]&&1!==props[propName].nodeType)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:_propTypes2.default.arrayOf(_propTypes2.default.number),handle:_propTypes2.default.string,cancel:_propTypes2.default.string,onStart:_propTypes2.default.func,onDrag:_propTypes2.default.func,onStop:_propTypes2.default.func,onMouseDown:_propTypes2.default.func,className:_shims.dontSetMe,style:_shims.dontSetMe,transform:_shims.dontSetMe},DraggableCore.defaultProps={allowAnyClick:!1,cancel:null,disabled:!1,enableUserSelectHack:!0,offsetParent:null,handle:null,grid:null,transform:null,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){}},exports.default=DraggableCore}).call(exports,__webpack_require__(20))},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(){}},function(module,exports,__webpack_require__){"use strict";var Draggable=__webpack_require__(13).default;module.exports=Draggable,module.exports.default=Draggable,module.exports.DraggableCore=__webpack_require__(10).default},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_slicedToArray=function(){return function(arr,i){if(Array.isArray(arr))return arr;if(Symbol.iterator in Object(arr))return function(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react2=_interopRequireDefault(__webpack_require__(6)),_propTypes2=_interopRequireDefault(__webpack_require__(7)),_reactDom2=_interopRequireDefault(__webpack_require__(4)),_classnames2=_interopRequireDefault(__webpack_require__(18)),_domFns=__webpack_require__(5),_positionFns=__webpack_require__(9),_shims=__webpack_require__(0),_DraggableCore2=_interopRequireDefault(__webpack_require__(10)),_log2=_interopRequireDefault(__webpack_require__(11)),Draggable=function(_React$Component){function Draggable(props){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,Draggable);var _this=function(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}(this,(Draggable.__proto__||Object.getPrototypeOf(Draggable)).call(this,props));return _this.onDragStart=function(e,coreData){(0,_log2.default)("Draggable: onDragStart: %j",coreData);if(!1===_this.props.onStart(e,(0,_positionFns.createDraggableData)(_this,coreData)))return!1;_this.setState({dragging:!0,dragged:!0})},_this.onDrag=function(e,coreData){if(!_this.state.dragging)return!1;(0,_log2.default)("Draggable: onDrag: %j",coreData);var uiData=(0,_positionFns.createDraggableData)(_this,coreData),newState={x:uiData.x,y:uiData.y};if(_this.props.bounds){var _x=newState.x,_y=newState.y;newState.x+=_this.state.slackX,newState.y+=_this.state.slackY;var _getBoundPosition=(0,_positionFns.getBoundPosition)(_this,newState.x,newState.y),_getBoundPosition2=_slicedToArray(_getBoundPosition,2),newStateX=_getBoundPosition2[0],newStateY=_getBoundPosition2[1];newState.x=newStateX,newState.y=newStateY,newState.slackX=_this.state.slackX+(_x-newState.x),newState.slackY=_this.state.slackY+(_y-newState.y),uiData.x=newState.x,uiData.y=newState.y,uiData.deltaX=newState.x-_this.state.x,uiData.deltaY=newState.y-_this.state.y}if(!1===_this.props.onDrag(e,uiData))return!1;_this.setState(newState)},_this.onDragStop=function(e,coreData){if(!_this.state.dragging)return!1;if(!1===_this.props.onStop(e,(0,_positionFns.createDraggableData)(_this,coreData)))return!1;(0,_log2.default)("Draggable: onDragStop: %j",coreData);var newState={dragging:!1,slackX:0,slackY:0};if(Boolean(_this.props.position)){var _this$props$position=_this.props.position,_x2=_this$props$position.x,_y2=_this$props$position.y;newState.x=_x2,newState.y=_y2}_this.setState(newState)},_this.state={dragging:!1,dragged:!1,x:props.position?props.position.x:props.defaultPosition.x,y:props.position?props.position.y:props.defaultPosition.y,slackX:0,slackY:0,isElementSVG:!1},_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}(Draggable,_react2.default.Component),_createClass(Draggable,[{key:"componentWillMount",value:function(){!this.props.position||this.props.onDrag||this.props.onStop||console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}},{key:"componentDidMount",value:function(){void 0!==window.SVGElement&&_reactDom2.default.findDOMNode(this)instanceof window.SVGElement&&this.setState({isElementSVG:!0})}},{key:"componentWillReceiveProps",value:function(nextProps){!nextProps.position||this.props.position&&nextProps.position.x===this.props.position.x&&nextProps.position.y===this.props.position.y||this.setState({x:nextProps.position.x,y:nextProps.position.y})}},{key:"componentWillUnmount",value:function(){this.setState({dragging:!1})}},{key:"render",value:function(){var _classNames,style={},svgTransform=null,draggable=!Boolean(this.props.position)||this.state.dragging,position=this.props.position||this.props.defaultPosition,transformOpts={x:(0,_positionFns.canDragX)(this)&&draggable?this.state.x:position.x,y:(0,_positionFns.canDragY)(this)&&draggable?this.state.y:position.y};this.state.isElementSVG?svgTransform=(0,_domFns.createSVGTransform)(transformOpts):style=(0,_domFns.createCSSTransform)(transformOpts);var _props=this.props,defaultClassName=_props.defaultClassName,defaultClassNameDragging=_props.defaultClassNameDragging,defaultClassNameDragged=_props.defaultClassNameDragged,children=_react2.default.Children.only(this.props.children),className=(0,_classnames2.default)(children.props.className||"",defaultClassName,(_classNames={},_defineProperty(_classNames,defaultClassNameDragging,this.state.dragging),_defineProperty(_classNames,defaultClassNameDragged,this.state.dragged),_classNames));return _react2.default.createElement(_DraggableCore2.default,_extends({},this.props,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),_react2.default.cloneElement(children,{className:className,style:_extends({},children.props.style,style),transform:svgTransform}))}}]),Draggable}();Draggable.displayName="Draggable",Draggable.propTypes=_extends({},_DraggableCore2.default.propTypes,{axis:_propTypes2.default.oneOf(["both","x","y","none"]),bounds:_propTypes2.default.oneOfType([_propTypes2.default.shape({left:_propTypes2.default.number,right:_propTypes2.default.number,top:_propTypes2.default.number,bottom:_propTypes2.default.number}),_propTypes2.default.string,_propTypes2.default.oneOf([!1])]),defaultClassName:_propTypes2.default.string,defaultClassNameDragging:_propTypes2.default.string,defaultClassNameDragged:_propTypes2.default.string,defaultPosition:_propTypes2.default.shape({x:_propTypes2.default.number,y:_propTypes2.default.number}),position:_propTypes2.default.shape({x:_propTypes2.default.number,y:_propTypes2.default.number}),className:_shims.dontSetMe,style:_shims.dontSetMe,transform:_shims.dontSetMe}),Draggable.defaultProps=_extends({},_DraggableCore2.default.defaultProps,{axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},position:null}),exports.default=Draggable},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(1),invariant=__webpack_require__(2),warning=__webpack_require__(8),assign=__webpack_require__(15),ReactPropTypesSecret=__webpack_require__(3),checkPropTypes=__webpack_require__(16);module.exports=function(isValidElement,throwOnDirectAccess){function is(x,y){return x===y?0!==x||1/x==1/y:x!=x&&y!=y}function PropTypeError(message){this.message=message,this.stack=""}function createChainableTypeChecker(validate){function checkType(isRequired,props,propName,componentName,location,propFullName,secret){if(componentName=componentName||ANONYMOUS,propFullName=propFullName||propName,secret!==ReactPropTypesSecret)if(throwOnDirectAccess)invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else if("production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV&&"undefined"!=typeof console){var cacheKey=componentName+":"+propName;!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3&&(warning(!1,"You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.",propFullName,componentName),manualPropTypeCallCache[cacheKey]=!0,manualPropTypeWarningCount++)}return null==props[propName]?isRequired?new PropTypeError(null===props[propName]?"The "+location+" `"+propFullName+"` is marked as required in `"+componentName+"`, but its value is `null`.":"The "+location+" `"+propFullName+"` is marked as required in `"+componentName+"`, but its value is `undefined`."):null:validate(props,propName,componentName,location,propFullName)}if("production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV)var manualPropTypeCallCache={},manualPropTypeWarningCount=0;var chainedCheckType=checkType.bind(null,!1);return chainedCheckType.isRequired=checkType.bind(null,!0),chainedCheckType}function createPrimitiveTypeChecker(expectedType){return createChainableTypeChecker(function(props,propName,componentName,location,propFullName,secret){var propValue=props[propName];if(getPropType(propValue)!==expectedType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+getPreciseType(propValue)+"` supplied to `"+componentName+"`, expected `"+expectedType+"`.");return null})}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return!0;case"boolean":return!propValue;case"object":if(Array.isArray(propValue))return propValue.every(isNode);if(null===propValue||isValidElement(propValue))return!0;var iteratorFn=function(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if("function"==typeof iteratorFn)return iteratorFn}(propValue);if(!iteratorFn)return!1;var step,iterator=iteratorFn.call(propValue);if(iteratorFn!==propValue.entries){for(;!(step=iterator.next()).done;)if(!isNode(step.value))return!1}else for(;!(step=iterator.next()).done;){var entry=step.value;if(entry&&!isNode(entry[1]))return!1}return!0;default:return!1}}function getPropType(propValue){var propType=typeof propValue;return Array.isArray(propValue)?"array":propValue instanceof RegExp?"object":function(propType,propValue){return"symbol"===propType||"Symbol"===propValue["@@toStringTag"]||"function"==typeof Symbol&&propValue instanceof Symbol}(propType,propValue)?"symbol":propType}function getPreciseType(propValue){if(void 0===propValue||null===propValue)return""+propValue;var propType=getPropType(propValue);if("object"===propType){if(propValue instanceof Date)return"date";if(propValue instanceof RegExp)return"regexp"}return propType}var ITERATOR_SYMBOL="function"==typeof Symbol&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator",ANONYMOUS="<<anonymous>>",ReactPropTypes={array:createPrimitiveTypeChecker("array"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createChainableTypeChecker(emptyFunction.thatReturnsNull),arrayOf:function(typeChecker){return createChainableTypeChecker(function(props,propName,componentName,location,propFullName){if("function"!=typeof typeChecker)return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.");var propValue=props[propName];if(!Array.isArray(propValue))return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+getPropType(propValue)+"` supplied to `"+componentName+"`, expected an array.");for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error)return error}return null})},element:createChainableTypeChecker(function(props,propName,componentName,location,propFullName){var propValue=props[propName];return isValidElement(propValue)?null:new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+getPropType(propValue)+"` supplied to `"+componentName+"`, expected a single ReactElement.")}),instanceOf:function(expectedClass){return createChainableTypeChecker(function(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS;return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+function(propValue){return propValue.constructor&&propValue.constructor.name?propValue.constructor.name:ANONYMOUS}(props[propName])+"` supplied to `"+componentName+"`, expected instance of `"+expectedClassName+"`.")}return null})},node:createChainableTypeChecker(function(props,propName,componentName,location,propFullName){return isNode(props[propName])?null:new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to `"+componentName+"`, expected a ReactNode.")}),objectOf:function(typeChecker){return createChainableTypeChecker(function(props,propName,componentName,location,propFullName){if("function"!=typeof typeChecker)return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.");var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` supplied to `"+componentName+"`, expected an object.");for(var key in propValue)if(propValue.hasOwnProperty(key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error)return error}return null})},oneOf:function(expectedValues){return Array.isArray(expectedValues)?createChainableTypeChecker(function(props,propName,componentName,location,propFullName){for(var propValue=props[propName],i=0;i<expectedValues.length;i++)if(is(propValue,expectedValues[i]))return null;return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+propValue+"` supplied to `"+componentName+"`, expected one of "+JSON.stringify(expectedValues)+".")}):("production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV&&warning(!1,"Invalid argument supplied to oneOf, expected an instance of array."),emptyFunction.thatReturnsNull)},oneOfType:function(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers))return"production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV&&warning(!1,"Invalid argument supplied to oneOfType, expected an instance of array."),emptyFunction.thatReturnsNull;for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if("function"!=typeof checker)return warning(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",function(value){var type=getPreciseType(checker);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}(),i),emptyFunction.thatReturnsNull}return createChainableTypeChecker(function(props,propName,componentName,location,propFullName){for(var i=0;i<arrayOfTypeCheckers.length;i++)if(null==(0,arrayOfTypeCheckers[i])(props,propName,componentName,location,propFullName,ReactPropTypesSecret))return null;return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to `"+componentName+"`.")})},shape:function(shapeTypes){return createChainableTypeChecker(function(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` supplied to `"+componentName+"`, expected `object`.");for(var key in shapeTypes){var checker=shapeTypes[key];if(checker){var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}}return null})},exact:function(shapeTypes){return createChainableTypeChecker(function(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` supplied to `"+componentName+"`, expected `object`.");var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(!checker)return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`.\nBad object: "+JSON.stringify(props[propName],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(shapeTypes),null," "));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null})}};return PropTypeError.prototype=Error.prototype,ReactPropTypes.checkPropTypes=checkPropTypes,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;module.exports=function(){try{if(!Object.assign)return!1;var test1=new String("abc");if(test1[5]="de","5"===Object.getOwnPropertyNames(test1)[0])return!1;for(var test2={},i=0;i<10;i++)test2["_"+String.fromCharCode(i)]=i;if("0123456789"!==Object.getOwnPropertyNames(test2).map(function(n){return test2[n]}).join(""))return!1;var test3={};return"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},test3)).join("")}catch(err){return!1}}()?Object.assign:function(target,source){for(var from,symbols,to=function(val){if(null===val||void 0===val)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(val)}(target),s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from)hasOwnProperty.call(from,key)&&(to[key]=from[key]);if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++)propIsEnumerable.call(from,symbols[i])&&(to[symbols[i]]=from[symbols[i]])}}return to}},function(module,exports,__webpack_require__){"use strict";if("production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV)var invariant=__webpack_require__(2),warning=__webpack_require__(8),ReactPropTypesSecret=__webpack_require__(3),loggedTypeFailures={};module.exports=function(typeSpecs,values,location,componentName,getStack){if("production"!==Object({DRAGGABLE_DEBUG:void 0}).NODE_ENV)for(var typeSpecName in typeSpecs)if(typeSpecs.hasOwnProperty(typeSpecName)){var error;try{invariant("function"==typeof typeSpecs[typeSpecName],"%s: %s type `%s` is invalid; it must be a function, usually from the `prop-types` package, but received `%s`.",componentName||"React class",location,typeSpecName,typeof typeSpecs[typeSpecName]),error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}if(warning(!error||error instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",componentName||"React class",location,typeSpecName,typeof error),error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=!0;var stack=getStack?getStack():"";warning(!1,"Failed %s type: %s%s",location,error.message,null!=stack?stack:"")}}}},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(1),invariant=__webpack_require__(2),ReactPropTypesSecret=__webpack_require__(3);module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){secret!==ReactPropTypesSecret&&invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function getShim(){return shim}shim.isRequired=shim;var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim};return ReactPropTypes.checkPropTypes=emptyFunction,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";function classNames(){for(var classes=[],i=0;i<arguments.length;i++){var arg=arguments[i];if(arg){var argType=typeof arg;if("string"===argType||"number"===argType)classes.push(arg);else if(Array.isArray(arg))classes.push(classNames.apply(null,arg));else if("object"===argType)for(var key in arg)hasOwn.call(arg,key)&&arg[key]&&classes.push(key)}}return classes.join(" ")}var hasOwn={}.hasOwnProperty;void 0!==module&&module.exports?module.exports=classNames:void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return classNames}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__=[]))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}()},function(module,exports,__webpack_require__){"use strict";function getPrefix(){var prop=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";if("undefined"==typeof window||void 0===window.document)return"";var style=window.document.documentElement.style;if(prop in style)return"";for(var i=0;i<prefixes.length;i++)if(browserPrefixToKey(prop,prefixes[i])in style)return prefixes[i];return""}function browserPrefixToKey(prop,prefix){return prefix?""+prefix+function(str){for(var out="",shouldCapitalize=!0,i=0;i<str.length;i++)shouldCapitalize?(out+=str[i].toUpperCase(),shouldCapitalize=!1):"-"===str[i]?shouldCapitalize=!0:out+=str[i];return out}(prop):prop}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getPrefix=getPrefix,exports.browserPrefixToKey=browserPrefixToKey,exports.browserPrefixToStyle=function(prop,prefix){return prefix?"-"+prefix.toLowerCase()+"-"+prop:prop};var prefixes=["Moz","Webkit","O","ms"];exports.default=getPrefix()},function(module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex<len;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,len=queue.length}currentQueue=null,draining=!1,function(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var cachedSetTimeout,cachedClearTimeout,process=module.exports={};!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)args[i-1]=arguments[i];queue.push(new Item(fun,args)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(name){return[]},process.binding=function(name){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(dir){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}}])});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("react-dom"),require("react")):"function"==typeof define&&define.amd?define(["react-dom","react"],e):t.ReactDraggable=e(t.ReactDOM,t.React)}(this,function(t,e){"use strict";function n(t,e){return t(e={exports:{}},e.exports),e.exports}function r(t){return function(){return t}}t=t&&t.hasOwnProperty("default")?t.default:t,e=e&&e.hasOwnProperty("default")?e.default: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(t){return t};var a=o;var i=function(t,e,n,r,o,a,i,s){if(!t){var u;if(void 0===e)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,a,i,s],c=0;(u=new Error(e.replace(/%s/g,function(){return l[c++]}))).name="Invariant Violation"}throw u.framesToPop=1,u}},s=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;(function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}})()&&Object.assign;var c="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",p=n(function(t){t.exports=function(){function t(t,e,n,r,o,a){a!==c&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=a,n.PropTypes=n,n}()}),f=n(function(t){!function(){var e={}.hasOwnProperty;function n(){for(var t=[],r=0;r<arguments.length;r++){var o=arguments[r];if(o){var a=typeof o;if("string"===a||"number"===a)t.push(o);else if(Array.isArray(o))t.push(n.apply(null,o));else if("object"===a)for(var i in o)e.call(o,i)&&o[i]&&t.push(i)}}return t.join(" ")}t.exports?t.exports=n:window.classNames=n}()});function d(t,e){for(var n=0,r=t.length;n<r;n++)if(e.apply(e,[t[n],n,t]))return t[n]}function g(t){return"function"==typeof t||"[object Function]"===Object.prototype.toString.call(t)}function h(t){return"number"==typeof t&&!isNaN(t)}function m(t){return parseInt(t,10)}function y(t,e,n){if(t[e])return new Error("Invalid prop "+e+" passed to "+n+" - do not set this, set it on the child.")}var b=["Moz","Webkit","O","ms"];function v(t,e){return e?""+e+function(t){for(var e="",n=!0,r=0;r<t.length;r++)n?(e+=t[r].toUpperCase(),n=!1):"-"===t[r]?n=!0:e+=t[r];return e}(t):t}var w=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";if("undefined"==typeof window||void 0===window.document)return"";var e=window.document.documentElement.style;if(t in e)return"";for(var n=0;n<b.length;n++)if(v(t,b[n])in e)return b[n];return""}(),S=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},D=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),x=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},O=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},T=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)},E=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},N=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,o=!1,a=void 0;try{for(var i,s=t[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!e||n.length!==e);r=!0);}catch(t){o=!0,a=t}finally{try{!r&&s.return&&s.return()}finally{if(o)throw a}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),k="";function M(t,e){return k||(k=d(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(e){return g(t[e])})),!!g(t[k])&&t[k](e)}function P(t,e,n){var r=t;do{if(M(r,e))return!0;if(r===n)return!1;r=r.parentNode}while(r);return!1}function C(t,e,n){t&&(t.attachEvent?t.attachEvent("on"+e,n):t.addEventListener?t.addEventListener(e,n,!0):t["on"+e]=n)}function j(t,e,n){t&&(t.detachEvent?t.detachEvent("on"+e,n):t.removeEventListener?t.removeEventListener(e,n,!0):t["on"+e]=null)}function R(t){if(t){var e,n,r=t.getElementById("react-draggable-style-el");r||((r=t.createElement("style")).type="text/css",r.id="react-draggable-style-el",r.innerHTML=".react-draggable-transparent-selection *::-moz-selection {background: transparent;}\n",r.innerHTML+=".react-draggable-transparent-selection *::selection {background: transparent;}\n",t.getElementsByTagName("head")[0].appendChild(r)),t.body&&(e=t.body,n="react-draggable-transparent-selection",e.classList?e.classList.add(n):e.className.match(new RegExp("(?:^|\\s)"+n+"(?!\\S)"))||(e.className+=" "+n))}}function X(t){try{t&&t.body&&(e=t.body,n="react-draggable-transparent-selection",e.classList?e.classList.remove(n):e.className=e.className.replace(new RegExp("(?:^|\\s)"+n+"(?!\\S)","g"),"")),t.selection?t.selection.empty():window.getSelection().removeAllRanges()}catch(t){}var e,n}function Y(t,e,n){if(!t.props.bounds)return[e,n];var r=t.props.bounds;r="string"==typeof r?r:function(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}(r);var o=U(t);if("string"==typeof r){var a=o.ownerDocument,i=a.defaultView,s=void 0;if(!((s="parent"===r?o.parentNode:a.querySelector(r))instanceof i.HTMLElement))throw new Error('Bounds selector "'+r+'" could not find an element.');var u=i.getComputedStyle(o),l=i.getComputedStyle(s);r={left:-o.offsetLeft+m(l.paddingLeft)+m(u.marginLeft),top:-o.offsetTop+m(l.paddingTop)+m(u.marginTop),right:function(t){var e=t.clientWidth,n=t.ownerDocument.defaultView.getComputedStyle(t);return e-=m(n.paddingLeft),e-=m(n.paddingRight)}(s)-function(t){var e=t.clientWidth,n=t.ownerDocument.defaultView.getComputedStyle(t);return e+=m(n.borderLeftWidth),e+=m(n.borderRightWidth)}(o)-o.offsetLeft+m(l.paddingRight)-m(u.marginRight),bottom:function(t){var e=t.clientHeight,n=t.ownerDocument.defaultView.getComputedStyle(t);return e-=m(n.paddingTop),e-=m(n.paddingBottom)}(s)-function(t){var e=t.clientHeight,n=t.ownerDocument.defaultView.getComputedStyle(t);return e+=m(n.borderTopWidth),e+=m(n.borderBottomWidth)}(o)-o.offsetTop+m(l.paddingBottom)-m(u.marginBottom)}}return h(r.right)&&(e=Math.min(e,r.right)),h(r.bottom)&&(n=Math.min(n,r.bottom)),h(r.left)&&(e=Math.max(e,r.left)),h(r.top)&&(n=Math.max(n,r.top)),[e,n]}function _(t,e,n){var r="number"==typeof e?function(t,e){return t.targetTouches&&d(t.targetTouches,function(t){return e===t.identifier})||t.changedTouches&&d(t.changedTouches,function(t){return e===t.identifier})}(t,e):null;if("number"==typeof e&&!r)return null;var o=U(n);return function(t,e){var n=e===e.ownerDocument.body?{left:0,top:0}:e.getBoundingClientRect();return{x:t.clientX+e.scrollLeft-n.left,y:t.clientY+e.scrollTop-n.top}}(r||t,n.props.offsetParent||o.offsetParent||o.ownerDocument.body)}function L(t,e,n){var r=t.state,o=!h(r.lastX),a=U(t);return o?{node:a,deltaX:0,deltaY:0,lastX:e,lastY:n,x:e,y:n}:{node:a,deltaX:e-r.lastX,deltaY:n-r.lastY,lastX:r.lastX,lastY:r.lastY,x:e,y:n}}function A(t,e){var n=t.props.scale;return{node:e.node,x:t.state.x+e.deltaX/n,y:t.state.y+e.deltaY/n,deltaX:e.deltaX/n,deltaY:e.deltaY/n,lastX:t.state.x,lastY:t.state.y}}function U(e){var n=t.findDOMNode(e);if(!n)throw new Error("<DraggableCore>: Unmounted during event!");return n}var I={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}},V=I.mouse,W=function(n){function r(){var e,n,o;S(this,r);for(var a=arguments.length,i=Array(a),s=0;s<a;s++)i[s]=arguments[s];return n=o=E(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(i))),o.state={dragging:!1,lastX:NaN,lastY:NaN,touchIdentifier:null},o.handleDragStart=function(e){if(o.props.onMouseDown(e),!o.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;var n=t.findDOMNode(o);if(!n||!n.ownerDocument||!n.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");var r=n.ownerDocument;if(!(o.props.disabled||!(e.target instanceof r.defaultView.Node)||o.props.handle&&!P(e.target,o.props.handle,n)||o.props.cancel&&P(e.target,o.props.cancel,n))){var a=function(t){return t.targetTouches&&t.targetTouches[0]?t.targetTouches[0].identifier:t.changedTouches&&t.changedTouches[0]?t.changedTouches[0].identifier:void 0}(e);o.setState({touchIdentifier:a});var i=_(e,a,o);if(null!=i){var s=i.x,u=i.y,l=L(o,s,u);o.props.onStart,!1!==o.props.onStart(e,l)&&(o.props.enableUserSelectHack&&R(r),o.setState({dragging:!0,lastX:s,lastY:u}),C(r,V.move,o.handleDrag),C(r,V.stop,o.handleDragStop))}}},o.handleDrag=function(t){"touchmove"===t.type&&t.preventDefault();var e=_(t,o.state.touchIdentifier,o);if(null!=e){var n,r,a,i=e.x,s=e.y;if(Array.isArray(o.props.grid)){var u=i-o.state.lastX,l=s-o.state.lastY,c=(n=o.props.grid,r=u,a=l,[Math.round(r/n[0])*n[0],Math.round(a/n[1])*n[1]]),p=N(c,2);if(u=p[0],l=p[1],!u&&!l)return;i=o.state.lastX+u,s=o.state.lastY+l}var f=L(o,i,s);if(!1!==o.props.onDrag(t,f))o.setState({lastX:i,lastY:s});else try{o.handleDragStop(new MouseEvent("mouseup"))}catch(t){var d=document.createEvent("MouseEvents");d.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),o.handleDragStop(d)}}},o.handleDragStop=function(e){if(o.state.dragging){var n=_(e,o.state.touchIdentifier,o);if(null!=n){var r=n.x,a=n.y,i=L(o,r,a),s=t.findDOMNode(o);s&&o.props.enableUserSelectHack&&X(s.ownerDocument),o.setState({dragging:!1,lastX:NaN,lastY:NaN}),o.props.onStop(e,i),s&&(j(s.ownerDocument,V.move,o.handleDrag),j(s.ownerDocument,V.stop,o.handleDragStop))}}},o.onMouseDown=function(t){return V=I.mouse,o.handleDragStart(t)},o.onMouseUp=function(t){return V=I.mouse,o.handleDragStop(t)},o.onTouchStart=function(t){return V=I.touch,o.handleDragStart(t)},o.onTouchEnd=function(t){return V=I.touch,o.handleDragStop(t)},E(o,n)}return T(r,n),D(r,[{key:"componentWillUnmount",value:function(){var e=t.findDOMNode(this);if(e){var n=e.ownerDocument;j(n,I.mouse.move,this.handleDrag),j(n,I.touch.move,this.handleDrag),j(n,I.mouse.stop,this.handleDragStop),j(n,I.touch.stop,this.handleDragStop),this.props.enableUserSelectHack&&X(n)}}},{key:"render",value:function(){return e.cloneElement(e.Children.only(this.props.children),{style:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return O({touchAction:"none"},t)}(this.props.children.props.style),onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}]),r}(e.Component);W.displayName="DraggableCore",W.propTypes={allowAnyClick:p.bool,disabled:p.bool,enableUserSelectHack:p.bool,offsetParent:function(t,e){if(t[e]&&1!==t[e].nodeType)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:p.arrayOf(p.number),scale:p.number,handle:p.string,cancel:p.string,onStart:p.func,onDrag:p.func,onStop:p.func,onMouseDown:p.func,className:y,style:y,transform:y},W.defaultProps={allowAnyClick:!1,cancel:null,disabled:!1,enableUserSelectHack:!0,offsetParent:null,handle:null,grid:null,transform:null,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){}};var B=function(n){function r(t){S(this,r);var e=E(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,t));return e.onDragStart=function(t,n){if(!1===e.props.onStart(t,A(e,n)))return!1;e.setState({dragging:!0,dragged:!0})},e.onDrag=function(t,n){if(!e.state.dragging)return!1;var r=A(e,n),o={x:r.x,y:r.y};if(e.props.bounds){var a=o.x,i=o.y;o.x+=e.state.slackX,o.y+=e.state.slackY;var s=Y(e,o.x,o.y),u=N(s,2),l=u[0],c=u[1];o.x=l,o.y=c,o.slackX=e.state.slackX+(a-o.x),o.slackY=e.state.slackY+(i-o.y),r.x=o.x,r.y=o.y,r.deltaX=o.x-e.state.x,r.deltaY=o.y-e.state.y}if(!1===e.props.onDrag(t,r))return!1;e.setState(o)},e.onDragStop=function(t,n){if(!e.state.dragging)return!1;if(!1===e.props.onStop(t,A(e,n)))return!1;var r={dragging:!1,slackX:0,slackY:0};if(Boolean(e.props.position)){var o=e.props.position,a=o.x,i=o.y;r.x=a,r.y=i}e.setState(r)},e.state={dragging:!1,dragged:!1,x:t.position?t.position.x:t.defaultPosition.x,y:t.position?t.position.y:t.defaultPosition.y,slackX:0,slackY:0,isElementSVG:!1},e}return T(r,n),D(r,[{key:"componentWillMount",value:function(){!this.props.position||this.props.onDrag||this.props.onStop||console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}},{key:"componentDidMount",value:function(){void 0!==window.SVGElement&&t.findDOMNode(this)instanceof window.SVGElement&&this.setState({isElementSVG:!0})}},{key:"componentWillReceiveProps",value:function(t){!t.position||this.props.position&&t.position.x===this.props.position.x&&t.position.y===this.props.position.y||this.setState({x:t.position.x,y:t.position.y})}},{key:"componentWillUnmount",value:function(){this.setState({dragging:!1})}},{key:"render",value:function(){var t,n,r,o,a,i={},s=null,u=!Boolean(this.props.position)||this.state.dragging,l=this.props.position||this.props.defaultPosition,c={x:function(t){return"both"===t.props.axis||"x"===t.props.axis}(this)&&u?this.state.x:l.x,y:function(t){return"both"===t.props.axis||"y"===t.props.axis}(this)&&u?this.state.y:l.y};this.state.isElementSVG?s="translate("+(a=c).x+","+a.y+")":(r=(n=c).x,o=n.y,i=x({},v("transform",w),"translate("+r+"px,"+o+"px)"));var p=this.props,d=p.defaultClassName,g=p.defaultClassNameDragging,h=p.defaultClassNameDragged,m=e.Children.only(this.props.children),y=f(m.props.className||"",d,(x(t={},g,this.state.dragging),x(t,h,this.state.dragged),t));return e.createElement(W,O({},this.props,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),e.cloneElement(m,{className:y,style:O({},m.props.style,i),transform:s}))}}]),r}(e.Component);return B.displayName="Draggable",B.propTypes=O({},W.propTypes,{axis:p.oneOf(["both","x","y","none"]),bounds:p.oneOfType([p.shape({left:p.number,right:p.number,top:p.number,bottom:p.number}),p.string,p.oneOf([!1])]),defaultClassName:p.string,defaultClassNameDragging:p.string,defaultClassNameDragged:p.string,defaultPosition:p.shape({x:p.number,y:p.number}),position:p.shape({x:p.number,y:p.number}),className:y,style:y,transform:y}),B.defaultProps=O({},W.defaultProps,{axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},position:null,scale:1}),B.default=B,B.DraggableCore=W,B});
//# sourceMappingURL=react-draggable.min.js.map

@@ -32,2 +32,3 @@ // @flow

position: ControlPosition,
scale: number
};

@@ -166,3 +167,4 @@

defaultPosition: {x: 0, y: 0},
position: null
position: null,
scale: 1
};

@@ -169,0 +171,0 @@

@@ -109,3 +109,3 @@ // @flow

offsetParent: function(props: DraggableCoreProps, propName: $Keys<DraggableCoreProps>) {
if (process.browser === true && props[propName] && props[propName].nodeType !== 1) {
if (props[propName] && props[propName].nodeType !== 1) {
throw new Error('Draggable\'s offsetParent must be a DOM Node.');

@@ -119,2 +119,8 @@ }

grid: PropTypes.arrayOf(PropTypes.number),
/**
* `scale` specifies the scale of the area you are dragging inside of. It allows
* the drag deltas to scale correctly with how far zoomed in/out you are.
*/
scale: PropTypes.number,

@@ -121,0 +127,0 @@ /**

@@ -153,3 +153,9 @@ // @flow

if (doc && doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');
window.getSelection().removeAllRanges(); // remove selection caused by scroll
// $FlowIgnore: IE
if (doc.selection) {
// $FlowIgnore: IE
doc.selection.empty();
} else {
window.getSelection().removeAllRanges(); // remove selection caused by scroll
}
} catch (e) {

@@ -156,0 +162,0 @@ // probably IE

@@ -28,3 +28,3 @@ // @flow

}
if (!(boundNode instanceof HTMLElement)) {
if (!(boundNode instanceof ownerWindow.HTMLElement)) {
throw new Error('Bounds selector "' + bounds + '" could not find an element.');

@@ -107,8 +107,9 @@ }

export function createDraggableData(draggable: Draggable, coreData: DraggableData): DraggableData {
const scale = draggable.props.scale;
return {
node: coreData.node,
x: draggable.state.x + coreData.deltaX,
y: draggable.state.y + coreData.deltaY,
deltaX: coreData.deltaX,
deltaY: coreData.deltaY,
x: draggable.state.x + (coreData.deltaX / scale),
y: draggable.state.y + (coreData.deltaY / scale),
deltaX: (coreData.deltaX / scale),
deltaY: (coreData.deltaY / scale),
lastX: draggable.state.x,

@@ -115,0 +116,0 @@ lastY: draggable.state.y

{
"name": "react-draggable",
"version": "3.0.5",
"version": "3.1.0",
"description": "React draggable component",

@@ -17,2 +17,3 @@ "main": "dist/react-draggable.js",

"typings": "./typings/index.d.ts",
"types": "./typings/index.d.ts",
"repository": {

@@ -41,10 +42,11 @@ "type": "git",

"babel-plugin-espower": "^2.3.2",
"babel-plugin-external-helpers": "^6.22.0",
"babel-plugin-transform-flow-comments": "^6.22.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-1": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"core-js": "^2.5.1",
"eslint": "^4.12.0",
"eslint-plugin-react": "^7.5.1",
"flow-bin": "^0.59.0",
"flow-bin": "^0.69.0",
"jasmine-core": "^2.8.0",

@@ -71,2 +73,9 @@ "json-loader": "^0.5.7",

"react-test-renderer": "^16.1.1",
"rollup": "^0.57.1",
"rollup-plugin-babel": "^3.0.3",
"rollup-plugin-commonjs": "^9.1.0",
"rollup-plugin-node-resolve": "^3.3.0",
"rollup-plugin-replace": "^2.0.0",
"rollup-plugin-size-snapshot": "^0.2.1",
"rollup-plugin-uglify": "^3.0.0",
"semver": "^5.4.1",

@@ -73,0 +82,0 @@ "static-server": "^3.0.0",

@@ -85,3 +85,3 @@ # React-Draggable

class App extends React.Element {
class App extends React.Component {

@@ -101,2 +101,3 @@ eventLogger = (e: MouseEvent, data: Object) => {

grid={[25, 25]}
scale={1}
onStart={this.handleStart}

@@ -222,2 +223,7 @@ onDrag={this.handleDrag}

position: {x: number, y: number}
// Specifies the scale of the canvas your are dragging this element on. This allows
// you to, for example, get the correct drag deltas while you are zoomed in or out via
// a transform or matrix in the parent of this element.
scale: number
}

@@ -278,3 +284,4 @@ ```

onStop: DraggableEventHandler,
onMouseDown: (e: MouseEvent) => void
onMouseDown: (e: MouseEvent) => void,
scale: number
}

@@ -281,0 +288,0 @@ ```

@@ -21,3 +21,3 @@ declare module 'react-draggable' {

export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;
export type DraggableEventHandler = (e: React.MouseEvent<HTMLElement> | React.TouchEvent<HTMLElement>, data: DraggableData) => void | false;

@@ -24,0 +24,0 @@ export interface DraggableData {

@@ -40,6 +40,6 @@ var webpack = require('webpack');

plugins: [
new webpack.DefinePlugin({
'process.env': {
DRAGGABLE_DEBUG: process.env.DRAGGABLE_DEBUG
}
new webpack.EnvironmentPlugin({
// Default values
DRAGGABLE_DEBUG: false,
NODE_ENV: 'production'
}),

@@ -46,0 +46,0 @@ // Scope hoisting

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc