diff --git a/CHANGELOG.md b/CHANGELOG.md
index 98f0359a..345a25c3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -42,3 +42,7 @@
- Add `"browser"` config to package.json for browserify imports (fix #45).
- Remove unnecessary `emptyFunction` and `React.addons.classSet` imports.
+
+### 0.4.3 (Apr 30, 2015)
+
+- Fix React.addons error caused by faulty test.
diff --git a/bower.json b/bower.json
index dbfba7cb..e54eec7f 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "react-draggable",
- "version": "0.4.2",
+ "version": "0.4.3",
"homepage": "https://github.com/mzabriskie/react-draggable",
"authors": [
"Matt Zabriskie"
diff --git a/dist/react-draggable.js b/dist/react-draggable.js
index aa89c398..e980bbac 100644
--- a/dist/react-draggable.js
+++ b/dist/react-draggable.js
@@ -66,6 +66,7 @@ return /******/ (function(modules) { // webpackBootstrap
/** @jsx React.DOM */
var React = __webpack_require__(2);
var emptyFunction = function(){};
+ var cloneWithProps = __webpack_require__(3);
function createUIEvent(draggable) {
return {
@@ -516,7 +517,7 @@ return /******/ (function(modules) { // webpackBootstrap
// Reuse the child provided
// This makes it flexible to use whatever element is wanted (div, ul, etc)
- return React.addons.cloneWithProps(React.Children.only(this.props.children), {
+ return cloneWithProps(React.Children.only(this.props.children), {
style: style,
className: className,
@@ -539,6 +540,973 @@ return /******/ (function(modules) { // webpackBootstrap
module.exports = __WEBPACK_EXTERNAL_MODULE_2__;
+/***/ },
+/* 3 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @typechecks static-only
+ * @providesModule cloneWithProps
+ */
+
+ 'use strict';
+
+ var ReactElement = __webpack_require__(4);
+ var ReactPropTransferer = __webpack_require__(5);
+
+ var keyOf = __webpack_require__(6);
+ var warning = __webpack_require__(7);
+
+ var CHILDREN_PROP = keyOf({children: null});
+
+ /**
+ * Sometimes you want to change the props of a child passed to you. Usually
+ * this is to add a CSS class.
+ *
+ * @param {ReactElement} child child element you'd like to clone
+ * @param {object} props props you'd like to modify. className and style will be
+ * merged automatically.
+ * @return {ReactElement} a clone of child with props merged in.
+ */
+ function cloneWithProps(child, props) {
+ if ("production" !== process.env.NODE_ENV) {
+ ("production" !== process.env.NODE_ENV ? warning(
+ !child.ref,
+ 'You are calling cloneWithProps() on a child with a ref. This is ' +
+ 'dangerous because you\'re creating a new child which will not be ' +
+ 'added as a ref to its parent.'
+ ) : null);
+ }
+
+ var newProps = ReactPropTransferer.mergeProps(props, child.props);
+
+ // Use `child.props.children` if it is provided.
+ if (!newProps.hasOwnProperty(CHILDREN_PROP) &&
+ child.props.hasOwnProperty(CHILDREN_PROP)) {
+ newProps.children = child.props.children;
+ }
+
+ // The current API doesn't retain _owner and _context, which is why this
+ // doesn't use ReactElement.cloneAndReplaceProps.
+ return ReactElement.createElement(child.type, newProps);
+ }
+
+ module.exports = cloneWithProps;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)))
+
+/***/ },
+/* 4 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2014-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule ReactElement
+ */
+
+ 'use strict';
+
+ var ReactContext = __webpack_require__(9);
+ var ReactCurrentOwner = __webpack_require__(10);
+
+ var assign = __webpack_require__(11);
+ var warning = __webpack_require__(7);
+
+ var RESERVED_PROPS = {
+ key: true,
+ ref: true
+ };
+
+ /**
+ * Warn for mutations.
+ *
+ * @internal
+ * @param {object} object
+ * @param {string} key
+ */
+ function defineWarningProperty(object, key) {
+ Object.defineProperty(object, key, {
+
+ configurable: false,
+ enumerable: true,
+
+ get: function() {
+ if (!this._store) {
+ return null;
+ }
+ return this._store[key];
+ },
+
+ set: function(value) {
+ ("production" !== process.env.NODE_ENV ? warning(
+ false,
+ 'Don\'t set the %s property of the React element. Instead, ' +
+ 'specify the correct value when initially creating the element.',
+ key
+ ) : null);
+ this._store[key] = value;
+ }
+
+ });
+ }
+
+ /**
+ * This is updated to true if the membrane is successfully created.
+ */
+ var useMutationMembrane = false;
+
+ /**
+ * Warn for mutations.
+ *
+ * @internal
+ * @param {object} element
+ */
+ function defineMutationMembrane(prototype) {
+ try {
+ var pseudoFrozenProperties = {
+ props: true
+ };
+ for (var key in pseudoFrozenProperties) {
+ defineWarningProperty(prototype, key);
+ }
+ useMutationMembrane = true;
+ } catch (x) {
+ // IE will fail on defineProperty
+ }
+ }
+
+ /**
+ * Base constructor for all React elements. This is only used to make this
+ * work with a dynamic instanceof check. Nothing should live on this prototype.
+ *
+ * @param {*} type
+ * @param {string|object} ref
+ * @param {*} key
+ * @param {*} props
+ * @internal
+ */
+ var ReactElement = function(type, key, ref, owner, context, props) {
+ // Built-in properties that belong on the element
+ this.type = type;
+ this.key = key;
+ this.ref = ref;
+
+ // Record the component responsible for creating this element.
+ this._owner = owner;
+
+ // TODO: Deprecate withContext, and then the context becomes accessible
+ // through the owner.
+ this._context = context;
+
+ if ("production" !== process.env.NODE_ENV) {
+ // The validation flag and props are currently mutative. We put them on
+ // an external backing store so that we can freeze the whole object.
+ // This can be replaced with a WeakMap once they are implemented in
+ // commonly used development environments.
+ this._store = {props: props, originalProps: assign({}, props)};
+
+ // To make comparing ReactElements easier for testing purposes, we make
+ // the validation flag non-enumerable (where possible, which should
+ // include every environment we run tests in), so the test framework
+ // ignores it.
+ try {
+ Object.defineProperty(this._store, 'validated', {
+ configurable: false,
+ enumerable: false,
+ writable: true
+ });
+ } catch (x) {
+ }
+ this._store.validated = false;
+
+ // We're not allowed to set props directly on the object so we early
+ // return and rely on the prototype membrane to forward to the backing
+ // store.
+ if (useMutationMembrane) {
+ Object.freeze(this);
+ return;
+ }
+ }
+
+ this.props = props;
+ };
+
+ // We intentionally don't expose the function on the constructor property.
+ // ReactElement should be indistinguishable from a plain object.
+ ReactElement.prototype = {
+ _isReactElement: true
+ };
+
+ if ("production" !== process.env.NODE_ENV) {
+ defineMutationMembrane(ReactElement.prototype);
+ }
+
+ ReactElement.createElement = function(type, config, children) {
+ var propName;
+
+ // Reserved names are extracted
+ var props = {};
+
+ var key = null;
+ var ref = null;
+
+ if (config != null) {
+ ref = config.ref === undefined ? null : config.ref;
+ key = config.key === undefined ? null : '' + config.key;
+ // Remaining properties are added to a new props object
+ for (propName in config) {
+ if (config.hasOwnProperty(propName) &&
+ !RESERVED_PROPS.hasOwnProperty(propName)) {
+ props[propName] = config[propName];
+ }
+ }
+ }
+
+ // Children can be more than one argument, and those are transferred onto
+ // the newly allocated props object.
+ var childrenLength = arguments.length - 2;
+ if (childrenLength === 1) {
+ props.children = children;
+ } else if (childrenLength > 1) {
+ var childArray = Array(childrenLength);
+ for (var i = 0; i < childrenLength; i++) {
+ childArray[i] = arguments[i + 2];
+ }
+ props.children = childArray;
+ }
+
+ // Resolve default props
+ if (type && type.defaultProps) {
+ var defaultProps = type.defaultProps;
+ for (propName in defaultProps) {
+ if (typeof props[propName] === 'undefined') {
+ props[propName] = defaultProps[propName];
+ }
+ }
+ }
+
+ return new ReactElement(
+ type,
+ key,
+ ref,
+ ReactCurrentOwner.current,
+ ReactContext.current,
+ props
+ );
+ };
+
+ ReactElement.createFactory = function(type) {
+ var factory = ReactElement.createElement.bind(null, type);
+ // Expose the type on the factory and the prototype so that it can be
+ // easily accessed on elements. E.g. .type === Foo.type.
+ // This should not be named `constructor` since this may not be the function
+ // that created the element, and it may not even be a constructor.
+ // Legacy hook TODO: Warn if this is accessed
+ factory.type = type;
+ return factory;
+ };
+
+ ReactElement.cloneAndReplaceProps = function(oldElement, newProps) {
+ var newElement = new ReactElement(
+ oldElement.type,
+ oldElement.key,
+ oldElement.ref,
+ oldElement._owner,
+ oldElement._context,
+ newProps
+ );
+
+ if ("production" !== process.env.NODE_ENV) {
+ // If the key on the original is valid, then the clone is valid
+ newElement._store.validated = oldElement._store.validated;
+ }
+ return newElement;
+ };
+
+ ReactElement.cloneElement = function(element, config, children) {
+ var propName;
+
+ // Original props are copied
+ var props = assign({}, element.props);
+
+ // Reserved names are extracted
+ var key = element.key;
+ var ref = element.ref;
+
+ // Owner will be preserved, unless ref is overridden
+ var owner = element._owner;
+
+ if (config != null) {
+ if (config.ref !== undefined) {
+ // Silently steal the ref from the parent.
+ ref = config.ref;
+ owner = ReactCurrentOwner.current;
+ }
+ if (config.key !== undefined) {
+ key = '' + config.key;
+ }
+ // Remaining properties override existing props
+ for (propName in config) {
+ if (config.hasOwnProperty(propName) &&
+ !RESERVED_PROPS.hasOwnProperty(propName)) {
+ props[propName] = config[propName];
+ }
+ }
+ }
+
+ // Children can be more than one argument, and those are transferred onto
+ // the newly allocated props object.
+ var childrenLength = arguments.length - 2;
+ if (childrenLength === 1) {
+ props.children = children;
+ } else if (childrenLength > 1) {
+ var childArray = Array(childrenLength);
+ for (var i = 0; i < childrenLength; i++) {
+ childArray[i] = arguments[i + 2];
+ }
+ props.children = childArray;
+ }
+
+ return new ReactElement(
+ element.type,
+ key,
+ ref,
+ owner,
+ element._context,
+ props
+ );
+ };
+
+ /**
+ * @param {?object} object
+ * @return {boolean} True if `object` is a valid component.
+ * @final
+ */
+ ReactElement.isValidElement = function(object) {
+ // ReactTestUtils is often used outside of beforeEach where as React is
+ // within it. This leads to two different instances of React on the same
+ // page. To identify a element from a different React instance we use
+ // a flag instead of an instanceof check.
+ var isElement = !!(object && object._isReactElement);
+ // if (isElement && !(object instanceof ReactElement)) {
+ // This is an indicator that you're using multiple versions of React at the
+ // same time. This will screw with ownership and stuff. Fix it, please.
+ // TODO: We could possibly warn here.
+ // }
+ return isElement;
+ };
+
+ module.exports = ReactElement;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)))
+
+/***/ },
+/* 5 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /**
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule ReactPropTransferer
+ */
+
+ 'use strict';
+
+ var assign = __webpack_require__(11);
+ var emptyFunction = __webpack_require__(12);
+ var joinClasses = __webpack_require__(13);
+
+ /**
+ * Creates a transfer strategy that will merge prop values using the supplied
+ * `mergeStrategy`. If a prop was previously unset, this just sets it.
+ *
+ * @param {function} mergeStrategy
+ * @return {function}
+ */
+ function createTransferStrategy(mergeStrategy) {
+ return function(props, key, value) {
+ if (!props.hasOwnProperty(key)) {
+ props[key] = value;
+ } else {
+ props[key] = mergeStrategy(props[key], value);
+ }
+ };
+ }
+
+ var transferStrategyMerge = createTransferStrategy(function(a, b) {
+ // `merge` overrides the first object's (`props[key]` above) keys using the
+ // second object's (`value`) keys. An object's style's existing `propA` would
+ // get overridden. Flip the order here.
+ return assign({}, b, a);
+ });
+
+ /**
+ * Transfer strategies dictate how props are transferred by `transferPropsTo`.
+ * NOTE: if you add any more exceptions to this list you should be sure to
+ * update `cloneWithProps()` accordingly.
+ */
+ var TransferStrategies = {
+ /**
+ * Never transfer `children`.
+ */
+ children: emptyFunction,
+ /**
+ * Transfer the `className` prop by merging them.
+ */
+ className: createTransferStrategy(joinClasses),
+ /**
+ * Transfer the `style` prop (which is an object) by merging them.
+ */
+ style: transferStrategyMerge
+ };
+
+ /**
+ * Mutates the first argument by transferring the properties from the second
+ * argument.
+ *
+ * @param {object} props
+ * @param {object} newProps
+ * @return {object}
+ */
+ function transferInto(props, newProps) {
+ for (var thisKey in newProps) {
+ if (!newProps.hasOwnProperty(thisKey)) {
+ continue;
+ }
+
+ var transferStrategy = TransferStrategies[thisKey];
+
+ if (transferStrategy && TransferStrategies.hasOwnProperty(thisKey)) {
+ transferStrategy(props, thisKey, newProps[thisKey]);
+ } else if (!props.hasOwnProperty(thisKey)) {
+ props[thisKey] = newProps[thisKey];
+ }
+ }
+ return props;
+ }
+
+ /**
+ * ReactPropTransferer are capable of transferring props to another component
+ * using a `transferPropsTo` method.
+ *
+ * @class ReactPropTransferer
+ */
+ var ReactPropTransferer = {
+
+ /**
+ * Merge two props objects using TransferStrategies.
+ *
+ * @param {object} oldProps original props (they take precedence)
+ * @param {object} newProps new props to merge in
+ * @return {object} a new object containing both sets of props merged.
+ */
+ mergeProps: function(oldProps, newProps) {
+ return transferInto(assign({}, oldProps), newProps);
+ }
+
+ };
+
+ module.exports = ReactPropTransferer;
+
+
+/***/ },
+/* 6 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /**
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule keyOf
+ */
+
+ /**
+ * Allows extraction of a minified key. Let's the build system minify keys
+ * without loosing the ability to dynamically use key strings as values
+ * themselves. Pass in an object with a single key/val pair and it will return
+ * you the string key of that single record. Suppose you want to grab the
+ * value for a key 'className' inside of an object. Key/val minification may
+ * have aliased that key to be 'xa12'. keyOf({className: null}) will return
+ * 'xa12' in that case. Resolve keys you want to use once at startup time, then
+ * reuse those resolutions.
+ */
+ var keyOf = function(oneKeyObj) {
+ var key;
+ for (key in oneKeyObj) {
+ if (!oneKeyObj.hasOwnProperty(key)) {
+ continue;
+ }
+ return key;
+ }
+ return null;
+ };
+
+
+ module.exports = keyOf;
+
+
+/***/ },
+/* 7 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2014-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule warning
+ */
+
+ "use strict";
+
+ var emptyFunction = __webpack_require__(12);
+
+ /**
+ * Similar to invariant but only logs a warning if the condition is not met.
+ * This can be used to log issues in development environments in critical
+ * paths. Removing the logging code for production environments will keep the
+ * same logic and follow the same code paths.
+ */
+
+ var warning = emptyFunction;
+
+ if ("production" !== process.env.NODE_ENV) {
+ warning = function(condition, format ) {for (var args=[],$__0=2,$__1=arguments.length;$__0<$__1;$__0++) args.push(arguments[$__0]);
+ if (format === undefined) {
+ throw new Error(
+ '`warning(condition, format, ...args)` requires a warning ' +
+ 'message argument'
+ );
+ }
+
+ if (format.length < 10 || /^[s\W]*$/.test(format)) {
+ throw new Error(
+ 'The warning format should be able to uniquely identify this ' +
+ 'warning. Please, use a more descriptive format than: ' + format
+ );
+ }
+
+ if (format.indexOf('Failed Composite propType: ') === 0) {
+ return; // Ignore CompositeComponent proptype check.
+ }
+
+ if (!condition) {
+ var argIndex = 0;
+ var message = 'Warning: ' + format.replace(/%s/g, function() {return args[argIndex++];});
+ console.warn(message);
+ try {
+ // --- Welcome to debugging React ---
+ // This error was thrown as a convenience so that you can use this stack
+ // to find the callsite that caused this warning to fire.
+ throw new Error(message);
+ } catch(x) {}
+ }
+ };
+ }
+
+ module.exports = warning;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)))
+
+/***/ },
+/* 8 */
+/***/ function(module, exports, __webpack_require__) {
+
+ // shim for using process in browser
+
+ var process = module.exports = {};
+
+ process.nextTick = (function () {
+ var canSetImmediate = typeof window !== 'undefined'
+ && window.setImmediate;
+ var canMutationObserver = typeof window !== 'undefined'
+ && window.MutationObserver;
+ var canPost = typeof window !== 'undefined'
+ && window.postMessage && window.addEventListener
+ ;
+
+ if (canSetImmediate) {
+ return function (f) { return window.setImmediate(f) };
+ }
+
+ var queue = [];
+
+ if (canMutationObserver) {
+ var hiddenDiv = document.createElement("div");
+ var observer = new MutationObserver(function () {
+ var queueList = queue.slice();
+ queue.length = 0;
+ queueList.forEach(function (fn) {
+ fn();
+ });
+ });
+
+ observer.observe(hiddenDiv, { attributes: true });
+
+ return function nextTick(fn) {
+ if (!queue.length) {
+ hiddenDiv.setAttribute('yes', 'no');
+ }
+ queue.push(fn);
+ };
+ }
+
+ if (canPost) {
+ window.addEventListener('message', function (ev) {
+ var source = ev.source;
+ if ((source === window || source === null) && ev.data === 'process-tick') {
+ ev.stopPropagation();
+ if (queue.length > 0) {
+ var fn = queue.shift();
+ fn();
+ }
+ }
+ }, true);
+
+ return function nextTick(fn) {
+ queue.push(fn);
+ window.postMessage('process-tick', '*');
+ };
+ }
+
+ return function nextTick(fn) {
+ setTimeout(fn, 0);
+ };
+ })();
+
+ process.title = 'browser';
+ process.browser = true;
+ process.env = {};
+ process.argv = [];
+
+ function noop() {}
+
+ process.on = noop;
+ process.addListener = noop;
+ process.once = noop;
+ process.off = noop;
+ process.removeListener = noop;
+ process.removeAllListeners = noop;
+ process.emit = noop;
+
+ process.binding = function (name) {
+ throw new Error('process.binding is not supported');
+ };
+
+ // TODO(shtylman)
+ process.cwd = function () { return '/' };
+ process.chdir = function (dir) {
+ throw new Error('process.chdir is not supported');
+ };
+
+
+/***/ },
+/* 9 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule ReactContext
+ */
+
+ 'use strict';
+
+ var assign = __webpack_require__(11);
+ var emptyObject = __webpack_require__(14);
+ var warning = __webpack_require__(7);
+
+ var didWarn = false;
+
+ /**
+ * Keeps track of the current context.
+ *
+ * The context is automatically passed down the component ownership hierarchy
+ * and is accessible via `this.context` on ReactCompositeComponents.
+ */
+ var ReactContext = {
+
+ /**
+ * @internal
+ * @type {object}
+ */
+ current: emptyObject,
+
+ /**
+ * Temporarily extends the current context while executing scopedCallback.
+ *
+ * A typical use case might look like
+ *
+ * render: function() {
+ * var children = ReactContext.withContext({foo: 'foo'}, () => (
+ *
+ * ));
+ * return
{children}
;
+ * }
+ *
+ * @param {object} newContext New context to merge into the existing context
+ * @param {function} scopedCallback Callback to run with the new context
+ * @return {ReactComponent|array}
+ */
+ withContext: function(newContext, scopedCallback) {
+ if ("production" !== process.env.NODE_ENV) {
+ ("production" !== process.env.NODE_ENV ? warning(
+ didWarn,
+ 'withContext is deprecated and will be removed in a future version. ' +
+ 'Use a wrapper component with getChildContext instead.'
+ ) : null);
+
+ didWarn = true;
+ }
+
+ var result;
+ var previousContext = ReactContext.current;
+ ReactContext.current = assign({}, previousContext, newContext);
+ try {
+ result = scopedCallback();
+ } finally {
+ ReactContext.current = previousContext;
+ }
+ return result;
+ }
+
+ };
+
+ module.exports = ReactContext;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)))
+
+/***/ },
+/* 10 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /**
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule ReactCurrentOwner
+ */
+
+ 'use strict';
+
+ /**
+ * Keeps track of the current owner.
+ *
+ * The current owner is the component who should own any components that are
+ * currently being constructed.
+ *
+ * The depth indicate how many composite components are above this render level.
+ */
+ var ReactCurrentOwner = {
+
+ /**
+ * @internal
+ * @type {ReactComponent}
+ */
+ current: null
+
+ };
+
+ module.exports = ReactCurrentOwner;
+
+
+/***/ },
+/* 11 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /**
+ * Copyright 2014-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule Object.assign
+ */
+
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign
+
+ 'use strict';
+
+ function assign(target, sources) {
+ if (target == null) {
+ throw new TypeError('Object.assign target cannot be null or undefined');
+ }
+
+ var to = Object(target);
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+
+ for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) {
+ var nextSource = arguments[nextIndex];
+ if (nextSource == null) {
+ continue;
+ }
+
+ var from = Object(nextSource);
+
+ // We don't currently support accessors nor proxies. Therefore this
+ // copy cannot throw. If we ever supported this then we must handle
+ // exceptions and side-effects. We don't support symbols so they won't
+ // be transferred.
+
+ for (var key in from) {
+ if (hasOwnProperty.call(from, key)) {
+ to[key] = from[key];
+ }
+ }
+ }
+
+ return to;
+ }
+
+ module.exports = assign;
+
+
+/***/ },
+/* 12 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /**
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule emptyFunction
+ */
+
+ function makeEmptyFunction(arg) {
+ return function() {
+ return arg;
+ };
+ }
+
+ /**
+ * This function accepts and discards inputs; it has no side effects. This is
+ * primarily useful idiomatically for overridable function endpoints which
+ * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
+ */
+ function emptyFunction() {}
+
+ emptyFunction.thatReturns = makeEmptyFunction;
+ emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
+ emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
+ emptyFunction.thatReturnsNull = makeEmptyFunction(null);
+ emptyFunction.thatReturnsThis = function() { return this; };
+ emptyFunction.thatReturnsArgument = function(arg) { return arg; };
+
+ module.exports = emptyFunction;
+
+
+/***/ },
+/* 13 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /**
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule joinClasses
+ * @typechecks static-only
+ */
+
+ 'use strict';
+
+ /**
+ * Combines multiple className strings into one.
+ * http://jsperf.com/joinclasses-args-vs-array
+ *
+ * @param {...?string} classes
+ * @return {string}
+ */
+ function joinClasses(className/*, ... */) {
+ if (!className) {
+ className = '';
+ }
+ var nextClass;
+ var argLength = arguments.length;
+ if (argLength > 1) {
+ for (var ii = 1; ii < argLength; ii++) {
+ nextClass = arguments[ii];
+ if (nextClass) {
+ className = (className ? className + ' ' : '') + nextClass;
+ }
+ }
+ }
+ return className;
+ }
+
+ module.exports = joinClasses;
+
+
+/***/ },
+/* 14 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2013-2015, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ * @providesModule emptyObject
+ */
+
+ "use strict";
+
+ var emptyObject = {};
+
+ if ("production" !== process.env.NODE_ENV) {
+ Object.freeze(emptyObject);
+ }
+
+ module.exports = emptyObject;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(8)))
+
/***/ }
/******/ ])
});
diff --git a/dist/react-draggable.map b/dist/react-draggable.map
index ce83e872..e5f6afb4 100644
--- a/dist/react-draggable.map
+++ b/dist/react-draggable.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 300f832e840189067574","webpack:///./index.js","webpack:///./lib/draggable.js","webpack:///external \"React\""],"names":[],"mappings":"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","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactDraggable\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactDraggable\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 300f832e840189067574\n **/","module.exports = require('./lib/draggable');\n\n\n\n/** WEBPACK FOOTER **\n ** ./index.js\n **/","'use strict';\n\n/** @jsx React.DOM */\nvar React = require('react');\nvar emptyFunction = function(){};\n\nfunction createUIEvent(draggable) {\n\treturn {\n\t\tposition: {\n\t\t\ttop: draggable.state.clientY,\n\t\t\tleft: draggable.state.clientX\n\t\t}\n\t};\n}\n\nfunction canDragY(draggable) {\n\treturn draggable.props.axis === 'both' ||\n\t\t\tdraggable.props.axis === 'y';\n}\n\nfunction canDragX(draggable) {\n\treturn draggable.props.axis === 'both' ||\n\t\t\tdraggable.props.axis === 'x';\n}\n\nfunction isFunction(func) {\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]'\n}\n\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array, callback) {\n for (var i = 0, length = array.length, element = null; i < length, element = array[i]; i++) {\n if (callback.apply(callback, [element, i, array])) return element;\n }\n}\n\nfunction matchesSelector(el, selector) {\n var method = findInArray([\n 'matches',\n 'webkitMatchesSelector',\n 'mozMatchesSelector',\n 'msMatchesSelector',\n 'oMatchesSelector'\n ], function(method){\n return isFunction(el[method]);\n });\n\n return el[method].call(el, selector);\n}\n\n// @credits: http://stackoverflow.com/questions/4817029/whats-the-best-way-to-detect-a-touch-screen-device-using-javascript/4819886#4819886\n/* Conditional to fix node server side rendering of component */\nif (typeof window === 'undefined') {\n // Do Node Stuff\n var isTouchDevice = false;\n} else {\n // Do Browser Stuff\n var isTouchDevice = 'ontouchstart' in window // works on most browsers\n || 'onmsgesturechange' in window; // works on ie10 on ms surface\n\n}\n\n// look ::handleDragStart\n//function isMultiTouch(e) {\n// return e.touches && Array.isArray(e.touches) && e.touches.length > 1\n//}\n\n/**\n * simple abstraction for dragging events names\n * */\nvar dragEventFor = (function () {\n var eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n end: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n end: 'mouseup'\n }\n };\n return eventsFor[isTouchDevice ? 'touch' : 'mouse'];\n})();\n\n/**\n * get {clientX, clientY} positions of control\n * */\nfunction getControlPosition(e) {\n var position = (e.touches && e.touches[0]) || e;\n return {\n clientX: position.clientX,\n clientY: position.clientY\n }\n}\n\nfunction addEvent(el, event, handler) {\n\tif (!el) { return; }\n\tif (el.attachEvent) {\n\t\tel.attachEvent('on' + event, handler);\n\t} else if (el.addEventListener) {\n\t\tel.addEventListener(event, handler, true);\n\t} else {\n\t\tel['on' + event] = handler;\n\t}\n}\n\nfunction removeEvent(el, event, handler) {\n\tif (!el) { return; }\n\tif (el.detachEvent) {\n\t\tel.detachEvent('on' + event, handler);\n\t} else if (el.removeEventListener) {\n\t\tel.removeEventListener(event, handler, true);\n\t} else {\n\t\tel['on' + event] = null;\n\t}\n}\n\nmodule.exports = React.createClass({\n\tdisplayName: 'Draggable',\n\n\tpropTypes: {\n\t\t/**\n\t\t * `axis` determines which axis the draggable can move.\n\t\t *\n\t\t * 'both' allows movement horizontally and vertically.\n\t\t * 'x' limits movement to horizontal axis.\n\t\t * 'y' limits movement to vertical axis.\n\t\t *\n\t\t * Defaults to 'both'.\n\t\t */\n\t\taxis: React.PropTypes.oneOf(['both', 'x', 'y']),\n\n\t\t/**\n\t\t * `handle` specifies a selector to be used as the handle that initiates drag.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t \treturn (\n\t\t * \t \t \t\n\t\t * \t \t \t \n\t\t * \t \t \t
Click me to drag
\n\t\t * \t \t \t
This is some other content
\n\t\t * \t \t \t
\n\t\t * \t \t\t\n\t\t * \t \t);\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\thandle: React.PropTypes.string,\n\n\t\t/**\n\t\t * `cancel` specifies a selector to be used to prevent drag initialization.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return(\n\t\t * \t \n\t\t * \t \n\t\t * \t \t
You can't drag from here
\n\t\t *\t\t\t\t\t\t
Dragging here works fine
\n\t\t * \t
\n\t\t * \t \n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tcancel: React.PropTypes.string,\n\n\t\t/**\n\t\t * `grid` specifies the x and y that dragging should snap to.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t I snap to a 25 x 25 grid
\n\t\t * \t \n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tgrid: React.PropTypes.arrayOf(React.PropTypes.number),\n\n\t\t/**\n\t\t * `start` specifies the x and y that the dragged item should start at\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t I start with left: 25px; top: 25px;
\n\t\t * \t \n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tstart: React.PropTypes.object,\n\n\t\t/**\n\t\t * `zIndex` specifies the zIndex to use while dragging.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t I have a zIndex
\n\t\t * \t \n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tzIndex: React.PropTypes.number,\n\n\t\t/**\n\t\t * Called when dragging starts.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonStart: React.PropTypes.func,\n\n\t\t/**\n\t\t * Called while dragging.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonDrag: React.PropTypes.func,\n\n\t\t/**\n\t\t * Called when dragging stops.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonStop: React.PropTypes.func,\n\n\t\t/**\n\t\t * A workaround option which can be passed if onMouseDown needs to be accessed, since it'll always be blocked (due to that there's internal use of onMouseDown)\n\t\t *\n\t\t */\n\t\tonMouseDown: React.PropTypes.func\n\t},\n\n\tcomponentWillUnmount: function() {\n\t\t// Remove any leftover event handlers\n\t\tremoveEvent(window, dragEventFor['move'], this.handleDrag);\n\t\tremoveEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\tgetDefaultProps: function () {\n\t\treturn {\n\t\t\taxis: 'both',\n\t\t\thandle: null,\n\t\t\tcancel: null,\n\t\t\tgrid: null,\n\t\t\tstart: {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0\n\t\t\t},\n\t\t\tzIndex: NaN,\n\t\t\tonStart: emptyFunction,\n\t\t\tonDrag: emptyFunction,\n\t\t\tonStop: emptyFunction,\n\t\t\tonMouseDown: emptyFunction\n\t\t};\n\t},\n\n\tgetInitialState: function () {\n\t\treturn {\n\t\t\t// Whether or not currently dragging\n\t\t\tdragging: false,\n\n\t\t\t// Start top/left of this.getDOMNode()\n\t\t\tstartX: 0, startY: 0,\n\n\t\t\t// Offset between start top/left and mouse top/left\n\t\t\toffsetX: 0, offsetY: 0,\n\n\t\t\t// Current top/left of this.getDOMNode()\n\t\t\tclientX: this.props.start.x, clientY: this.props.start.y\n\t\t};\n\t},\n\n\thandleDragStart: function (e) {\n // todo: write right implementation to prevent multitouch drag\n // prevent multi-touch events\n // if (isMultiTouch(e)) {\n // this.handleDragEnd.apply(e, arguments);\n // return\n // }\n\n\t\t// Make it possible to attach event handlers on top of this one\n\t\tthis.props.onMouseDown(e);\n\n\t\tvar node = this.getDOMNode();\n\n\t\t// Short circuit if handle or cancel prop was provided and selector doesn't match\n\t\tif ((this.props.handle && !matchesSelector(e.target, this.props.handle)) ||\n\t\t\t(this.props.cancel && matchesSelector(e.target, this.props.cancel))) {\n\t\t\treturn;\n\t\t}\n\n var dragPoint = getControlPosition(e);\n\n\t\t// Initiate dragging\n\t\tthis.setState({\n\t\t\tdragging: true,\n\t\t\toffsetX: parseInt(dragPoint.clientX, 10),\n\t\t\toffsetY: parseInt(dragPoint.clientY, 10),\n\t\t\tstartX: parseInt(node.style.left, 10) || 0,\n\t\t\tstartY: parseInt(node.style.top, 10) || 0\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onStart(e, createUIEvent(this));\n\n\t\t// Add event handlers\n\t\taddEvent(window, dragEventFor['move'], this.handleDrag);\n\t\taddEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\thandleDragEnd: function (e) {\n\t\t// Short circuit if not currently dragging\n\t\tif (!this.state.dragging) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Turn off dragging\n\t\tthis.setState({\n\t\t\tdragging: false\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onStop(e, createUIEvent(this));\n\n\t\t// Remove event handlers\n removeEvent(window, dragEventFor['move'], this.handleDrag);\n removeEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\thandleDrag: function (e) {\n var dragPoint = getControlPosition(e);\n\n\t\t// Calculate top and left\n var clientX = (this.state.startX + (dragPoint.clientX - this.state.offsetX));\n var clientY = (this.state.startY + (dragPoint.clientY - this.state.offsetY));\n\n\t\t// Snap to grid if prop has been provided\n\t\tif (Array.isArray(this.props.grid)) {\n\t\t\tvar directionX = clientX < parseInt(this.state.clientX, 10) ? -1 : 1;\n\t\t\tvar directionY = clientY < parseInt(this.state.clientY, 10) ? -1 : 1;\n\n\t\t\tclientX = Math.abs(clientX - parseInt(this.state.clientX, 10)) >= this.props.grid[0]\n\t\t\t\t\t? (parseInt(this.state.clientX, 10) + (this.props.grid[0] * directionX))\n\t\t\t\t\t: this.state.clientX;\n\n\t\t\tclientY = Math.abs(clientY - parseInt(this.state.clientY, 10)) >= this.props.grid[1]\n\t\t\t\t\t? (parseInt(this.state.clientY, 10) + (this.props.grid[1] * directionY))\n\t\t\t\t\t: this.state.clientY;\n\t\t}\n\n\t\t// Update top and left\n\t\tthis.setState({\n\t\t\tclientX: clientX,\n\t\t\tclientY: clientY\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onDrag(e, createUIEvent(this));\n\t},\n\n\trender: function () {\n\t\tvar style = {\n\t\t\t// Set top if vertical drag is enabled\n\t\t\ttop: canDragY(this)\n\t\t\t\t? this.state.clientY\n\t\t\t\t: this.state.startY,\n\n\t\t\t// Set left if horizontal drag is enabled\n\t\t\tleft: canDragX(this)\n\t\t\t\t? this.state.clientX\n\t\t\t\t: this.state.startX\n\t\t};\n\n\t\t// Set zIndex if currently dragging and prop has been provided\n\t\tif (this.state.dragging && !isNaN(this.props.zIndex)) {\n\t\t\tstyle.zIndex = this.props.zIndex;\n\t\t}\n\n\t\tvar className = 'react-draggable';\n\t\tif (this.state.dragging) {\n\t\t\tclassName += ' react-draggable-dragging';\n\t\t}\n\n\t\t// Reuse the child provided\n\t\t// This makes it flexible to use whatever element is wanted (div, ul, etc)\n\t\treturn React.addons.cloneWithProps(React.Children.only(this.props.children), {\n\t\t\tstyle: style,\n\t\t\tclassName: className,\n\n\t\t\tonMouseDown: this.handleDragStart,\n\t\t\tonTouchStart: function(ev){\n ev.preventDefault(); // prevent for scroll\n return this.handleDragStart.apply(this, arguments);\n }.bind(this),\n\n\t\t\tonMouseUp: this.handleDragEnd,\n\t\t\tonTouchEnd: this.handleDragEnd\n\t\t});\n\t}\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/draggable.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/"],"sourceRoot":"","file":"./dist/react-draggable.js"}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap fb8b33fa04334fccba28","webpack:///./index.js","webpack:///./lib/draggable.js","webpack:///external \"React\"","webpack:///./~/react/lib/cloneWithProps.js","webpack:///./~/react/lib/ReactElement.js","webpack:///./~/react/lib/ReactPropTransferer.js","webpack:///./~/react/lib/keyOf.js","webpack:///./~/react/lib/warning.js","webpack:///(webpack)/~/node-libs-browser/~/process/browser.js","webpack:///./~/react/lib/ReactContext.js","webpack:///./~/react/lib/ReactCurrentOwner.js","webpack:///./~/react/lib/Object.assign.js","webpack:///./~/react/lib/emptyFunction.js","webpack:///./~/react/lib/joinClasses.js","webpack:///./~/react/lib/emptyObject.js"],"names":[],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AAC9B;AACA;AACA;AACA;;GAEE,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AACnC,GAAE;;AAEF,EAAC,oBAAoB,EAAE,WAAW;;GAEhC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;GAC3D,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAC/D,GAAE;;EAED,eAAe,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","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactDraggable\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactDraggable\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap fb8b33fa04334fccba28\n **/","module.exports = require('./lib/draggable');\n\n\n\n/** WEBPACK FOOTER **\n ** ./index.js\n **/","'use strict';\n\n/** @jsx React.DOM */\nvar React = require('react');\nvar emptyFunction = function(){};\nvar cloneWithProps = require('react/lib/cloneWithProps');\n\nfunction createUIEvent(draggable) {\n\treturn {\n\t\tposition: {\n\t\t\ttop: draggable.state.clientY,\n\t\t\tleft: draggable.state.clientX\n\t\t}\n\t};\n}\n\nfunction canDragY(draggable) {\n\treturn draggable.props.axis === 'both' ||\n\t\t\tdraggable.props.axis === 'y';\n}\n\nfunction canDragX(draggable) {\n\treturn draggable.props.axis === 'both' ||\n\t\t\tdraggable.props.axis === 'x';\n}\n\nfunction isFunction(func) {\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]'\n}\n\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array, callback) {\n for (var i = 0, length = array.length, element = null; i < length, element = array[i]; i++) {\n if (callback.apply(callback, [element, i, array])) return element;\n }\n}\n\nfunction matchesSelector(el, selector) {\n var method = findInArray([\n 'matches',\n 'webkitMatchesSelector',\n 'mozMatchesSelector',\n 'msMatchesSelector',\n 'oMatchesSelector'\n ], function(method){\n return isFunction(el[method]);\n });\n\n return el[method].call(el, selector);\n}\n\n// @credits: http://stackoverflow.com/questions/4817029/whats-the-best-way-to-detect-a-touch-screen-device-using-javascript/4819886#4819886\n/* Conditional to fix node server side rendering of component */\nif (typeof window === 'undefined') {\n // Do Node Stuff\n var isTouchDevice = false;\n} else {\n // Do Browser Stuff\n var isTouchDevice = 'ontouchstart' in window // works on most browsers\n || 'onmsgesturechange' in window; // works on ie10 on ms surface\n\n}\n\n// look ::handleDragStart\n//function isMultiTouch(e) {\n// return e.touches && Array.isArray(e.touches) && e.touches.length > 1\n//}\n\n/**\n * simple abstraction for dragging events names\n * */\nvar dragEventFor = (function () {\n var eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n end: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n end: 'mouseup'\n }\n };\n return eventsFor[isTouchDevice ? 'touch' : 'mouse'];\n})();\n\n/**\n * get {clientX, clientY} positions of control\n * */\nfunction getControlPosition(e) {\n var position = (e.touches && e.touches[0]) || e;\n return {\n clientX: position.clientX,\n clientY: position.clientY\n }\n}\n\nfunction addEvent(el, event, handler) {\n\tif (!el) { return; }\n\tif (el.attachEvent) {\n\t\tel.attachEvent('on' + event, handler);\n\t} else if (el.addEventListener) {\n\t\tel.addEventListener(event, handler, true);\n\t} else {\n\t\tel['on' + event] = handler;\n\t}\n}\n\nfunction removeEvent(el, event, handler) {\n\tif (!el) { return; }\n\tif (el.detachEvent) {\n\t\tel.detachEvent('on' + event, handler);\n\t} else if (el.removeEventListener) {\n\t\tel.removeEventListener(event, handler, true);\n\t} else {\n\t\tel['on' + event] = null;\n\t}\n}\n\nmodule.exports = React.createClass({\n\tdisplayName: 'Draggable',\n\n\tpropTypes: {\n\t\t/**\n\t\t * `axis` determines which axis the draggable can move.\n\t\t *\n\t\t * 'both' allows movement horizontally and vertically.\n\t\t * 'x' limits movement to horizontal axis.\n\t\t * 'y' limits movement to vertical axis.\n\t\t *\n\t\t * Defaults to 'both'.\n\t\t */\n\t\taxis: React.PropTypes.oneOf(['both', 'x', 'y']),\n\n\t\t/**\n\t\t * `handle` specifies a selector to be used as the handle that initiates drag.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t \treturn (\n\t\t * \t \t \t\n\t\t * \t \t \t \n\t\t * \t \t \t
Click me to drag
\n\t\t * \t \t \t
This is some other content
\n\t\t * \t \t \t
\n\t\t * \t \t\t\n\t\t * \t \t);\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\thandle: React.PropTypes.string,\n\n\t\t/**\n\t\t * `cancel` specifies a selector to be used to prevent drag initialization.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return(\n\t\t * \t \n\t\t * \t \n\t\t * \t \t
You can't drag from here
\n\t\t *\t\t\t\t\t\t
Dragging here works fine
\n\t\t * \t
\n\t\t * \t \n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tcancel: React.PropTypes.string,\n\n\t\t/**\n\t\t * `grid` specifies the x and y that dragging should snap to.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t I snap to a 25 x 25 grid
\n\t\t * \t \n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tgrid: React.PropTypes.arrayOf(React.PropTypes.number),\n\n\t\t/**\n\t\t * `start` specifies the x and y that the dragged item should start at\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t I start with left: 25px; top: 25px;
\n\t\t * \t \n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tstart: React.PropTypes.object,\n\n\t\t/**\n\t\t * `zIndex` specifies the zIndex to use while dragging.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t I have a zIndex
\n\t\t * \t \n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tzIndex: React.PropTypes.number,\n\n\t\t/**\n\t\t * Called when dragging starts.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonStart: React.PropTypes.func,\n\n\t\t/**\n\t\t * Called while dragging.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonDrag: React.PropTypes.func,\n\n\t\t/**\n\t\t * Called when dragging stops.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonStop: React.PropTypes.func,\n\n\t\t/**\n\t\t * A workaround option which can be passed if onMouseDown needs to be accessed, since it'll always be blocked (due to that there's internal use of onMouseDown)\n\t\t *\n\t\t */\n\t\tonMouseDown: React.PropTypes.func\n\t},\n\n\tcomponentWillUnmount: function() {\n\t\t// Remove any leftover event handlers\n\t\tremoveEvent(window, dragEventFor['move'], this.handleDrag);\n\t\tremoveEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\tgetDefaultProps: function () {\n\t\treturn {\n\t\t\taxis: 'both',\n\t\t\thandle: null,\n\t\t\tcancel: null,\n\t\t\tgrid: null,\n\t\t\tstart: {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0\n\t\t\t},\n\t\t\tzIndex: NaN,\n\t\t\tonStart: emptyFunction,\n\t\t\tonDrag: emptyFunction,\n\t\t\tonStop: emptyFunction,\n\t\t\tonMouseDown: emptyFunction\n\t\t};\n\t},\n\n\tgetInitialState: function () {\n\t\treturn {\n\t\t\t// Whether or not currently dragging\n\t\t\tdragging: false,\n\n\t\t\t// Start top/left of this.getDOMNode()\n\t\t\tstartX: 0, startY: 0,\n\n\t\t\t// Offset between start top/left and mouse top/left\n\t\t\toffsetX: 0, offsetY: 0,\n\n\t\t\t// Current top/left of this.getDOMNode()\n\t\t\tclientX: this.props.start.x, clientY: this.props.start.y\n\t\t};\n\t},\n\n\thandleDragStart: function (e) {\n // todo: write right implementation to prevent multitouch drag\n // prevent multi-touch events\n // if (isMultiTouch(e)) {\n // this.handleDragEnd.apply(e, arguments);\n // return\n // }\n\n\t\t// Make it possible to attach event handlers on top of this one\n\t\tthis.props.onMouseDown(e);\n\n\t\tvar node = this.getDOMNode();\n\n\t\t// Short circuit if handle or cancel prop was provided and selector doesn't match\n\t\tif ((this.props.handle && !matchesSelector(e.target, this.props.handle)) ||\n\t\t\t(this.props.cancel && matchesSelector(e.target, this.props.cancel))) {\n\t\t\treturn;\n\t\t}\n\n var dragPoint = getControlPosition(e);\n\n\t\t// Initiate dragging\n\t\tthis.setState({\n\t\t\tdragging: true,\n\t\t\toffsetX: parseInt(dragPoint.clientX, 10),\n\t\t\toffsetY: parseInt(dragPoint.clientY, 10),\n\t\t\tstartX: parseInt(node.style.left, 10) || 0,\n\t\t\tstartY: parseInt(node.style.top, 10) || 0\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onStart(e, createUIEvent(this));\n\n\t\t// Add event handlers\n\t\taddEvent(window, dragEventFor['move'], this.handleDrag);\n\t\taddEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\thandleDragEnd: function (e) {\n\t\t// Short circuit if not currently dragging\n\t\tif (!this.state.dragging) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Turn off dragging\n\t\tthis.setState({\n\t\t\tdragging: false\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onStop(e, createUIEvent(this));\n\n\t\t// Remove event handlers\n removeEvent(window, dragEventFor['move'], this.handleDrag);\n removeEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\thandleDrag: function (e) {\n var dragPoint = getControlPosition(e);\n\n\t\t// Calculate top and left\n var clientX = (this.state.startX + (dragPoint.clientX - this.state.offsetX));\n var clientY = (this.state.startY + (dragPoint.clientY - this.state.offsetY));\n\n\t\t// Snap to grid if prop has been provided\n\t\tif (Array.isArray(this.props.grid)) {\n\t\t\tvar directionX = clientX < parseInt(this.state.clientX, 10) ? -1 : 1;\n\t\t\tvar directionY = clientY < parseInt(this.state.clientY, 10) ? -1 : 1;\n\n\t\t\tclientX = Math.abs(clientX - parseInt(this.state.clientX, 10)) >= this.props.grid[0]\n\t\t\t\t\t? (parseInt(this.state.clientX, 10) + (this.props.grid[0] * directionX))\n\t\t\t\t\t: this.state.clientX;\n\n\t\t\tclientY = Math.abs(clientY - parseInt(this.state.clientY, 10)) >= this.props.grid[1]\n\t\t\t\t\t? (parseInt(this.state.clientY, 10) + (this.props.grid[1] * directionY))\n\t\t\t\t\t: this.state.clientY;\n\t\t}\n\n\t\t// Update top and left\n\t\tthis.setState({\n\t\t\tclientX: clientX,\n\t\t\tclientY: clientY\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onDrag(e, createUIEvent(this));\n\t},\n\n\trender: function () {\n\t\tvar style = {\n\t\t\t// Set top if vertical drag is enabled\n\t\t\ttop: canDragY(this)\n\t\t\t\t? this.state.clientY\n\t\t\t\t: this.state.startY,\n\n\t\t\t// Set left if horizontal drag is enabled\n\t\t\tleft: canDragX(this)\n\t\t\t\t? this.state.clientX\n\t\t\t\t: this.state.startX\n\t\t};\n\n\t\t// Set zIndex if currently dragging and prop has been provided\n\t\tif (this.state.dragging && !isNaN(this.props.zIndex)) {\n\t\t\tstyle.zIndex = this.props.zIndex;\n\t\t}\n\n\t\tvar className = 'react-draggable';\n\t\tif (this.state.dragging) {\n\t\t\tclassName += ' react-draggable-dragging';\n\t\t}\n\n\t\t// Reuse the child provided\n\t\t// This makes it flexible to use whatever element is wanted (div, ul, etc)\n\t\treturn cloneWithProps(React.Children.only(this.props.children), {\n\t\t\tstyle: style,\n\t\t\tclassName: className,\n\n\t\t\tonMouseDown: this.handleDragStart,\n\t\t\tonTouchStart: function(ev){\n ev.preventDefault(); // prevent for scroll\n return this.handleDragStart.apply(this, arguments);\n }.bind(this),\n\n\t\t\tonMouseUp: this.handleDragEnd,\n\t\t\tonTouchEnd: this.handleDragEnd\n\t\t});\n\t}\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/draggable.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @typechecks static-only\n * @providesModule cloneWithProps\n */\n\n'use strict';\n\nvar ReactElement = require(\"./ReactElement\");\nvar ReactPropTransferer = require(\"./ReactPropTransferer\");\n\nvar keyOf = require(\"./keyOf\");\nvar warning = require(\"./warning\");\n\nvar CHILDREN_PROP = keyOf({children: null});\n\n/**\n * Sometimes you want to change the props of a child passed to you. Usually\n * this is to add a CSS class.\n *\n * @param {ReactElement} child child element you'd like to clone\n * @param {object} props props you'd like to modify. className and style will be\n * merged automatically.\n * @return {ReactElement} a clone of child with props merged in.\n */\nfunction cloneWithProps(child, props) {\n if (\"production\" !== process.env.NODE_ENV) {\n (\"production\" !== process.env.NODE_ENV ? warning(\n !child.ref,\n 'You are calling cloneWithProps() on a child with a ref. This is ' +\n 'dangerous because you\\'re creating a new child which will not be ' +\n 'added as a ref to its parent.'\n ) : null);\n }\n\n var newProps = ReactPropTransferer.mergeProps(props, child.props);\n\n // Use `child.props.children` if it is provided.\n if (!newProps.hasOwnProperty(CHILDREN_PROP) &&\n child.props.hasOwnProperty(CHILDREN_PROP)) {\n newProps.children = child.props.children;\n }\n\n // The current API doesn't retain _owner and _context, which is why this\n // doesn't use ReactElement.cloneAndReplaceProps.\n return ReactElement.createElement(child.type, newProps);\n}\n\nmodule.exports = cloneWithProps;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/cloneWithProps.js\n **/","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactElement\n */\n\n'use strict';\n\nvar ReactContext = require(\"./ReactContext\");\nvar ReactCurrentOwner = require(\"./ReactCurrentOwner\");\n\nvar assign = require(\"./Object.assign\");\nvar warning = require(\"./warning\");\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true\n};\n\n/**\n * Warn for mutations.\n *\n * @internal\n * @param {object} object\n * @param {string} key\n */\nfunction defineWarningProperty(object, key) {\n Object.defineProperty(object, key, {\n\n configurable: false,\n enumerable: true,\n\n get: function() {\n if (!this._store) {\n return null;\n }\n return this._store[key];\n },\n\n set: function(value) {\n (\"production\" !== process.env.NODE_ENV ? warning(\n false,\n 'Don\\'t set the %s property of the React element. Instead, ' +\n 'specify the correct value when initially creating the element.',\n key\n ) : null);\n this._store[key] = value;\n }\n\n });\n}\n\n/**\n * This is updated to true if the membrane is successfully created.\n */\nvar useMutationMembrane = false;\n\n/**\n * Warn for mutations.\n *\n * @internal\n * @param {object} element\n */\nfunction defineMutationMembrane(prototype) {\n try {\n var pseudoFrozenProperties = {\n props: true\n };\n for (var key in pseudoFrozenProperties) {\n defineWarningProperty(prototype, key);\n }\n useMutationMembrane = true;\n } catch (x) {\n // IE will fail on defineProperty\n }\n}\n\n/**\n * Base constructor for all React elements. This is only used to make this\n * work with a dynamic instanceof check. Nothing should live on this prototype.\n *\n * @param {*} type\n * @param {string|object} ref\n * @param {*} key\n * @param {*} props\n * @internal\n */\nvar ReactElement = function(type, key, ref, owner, context, props) {\n // Built-in properties that belong on the element\n this.type = type;\n this.key = key;\n this.ref = ref;\n\n // Record the component responsible for creating this element.\n this._owner = owner;\n\n // TODO: Deprecate withContext, and then the context becomes accessible\n // through the owner.\n this._context = context;\n\n if (\"production\" !== process.env.NODE_ENV) {\n // The validation flag and props are currently mutative. We put them on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n this._store = {props: props, originalProps: assign({}, props)};\n\n // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n try {\n Object.defineProperty(this._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true\n });\n } catch (x) {\n }\n this._store.validated = false;\n\n // We're not allowed to set props directly on the object so we early\n // return and rely on the prototype membrane to forward to the backing\n // store.\n if (useMutationMembrane) {\n Object.freeze(this);\n return;\n }\n }\n\n this.props = props;\n};\n\n// We intentionally don't expose the function on the constructor property.\n// ReactElement should be indistinguishable from a plain object.\nReactElement.prototype = {\n _isReactElement: true\n};\n\nif (\"production\" !== process.env.NODE_ENV) {\n defineMutationMembrane(ReactElement.prototype);\n}\n\nReactElement.createElement = function(type, config, children) {\n var propName;\n\n // Reserved names are extracted\n var props = {};\n\n var key = null;\n var ref = null;\n\n if (config != null) {\n ref = config.ref === undefined ? null : config.ref;\n key = config.key === undefined ? null : '' + config.key;\n // Remaining properties are added to a new props object\n for (propName in config) {\n if (config.hasOwnProperty(propName) &&\n !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n // Resolve default props\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n for (propName in defaultProps) {\n if (typeof props[propName] === 'undefined') {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n return new ReactElement(\n type,\n key,\n ref,\n ReactCurrentOwner.current,\n ReactContext.current,\n props\n );\n};\n\nReactElement.createFactory = function(type) {\n var factory = ReactElement.createElement.bind(null, type);\n // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. .type === Foo.type.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook TODO: Warn if this is accessed\n factory.type = type;\n return factory;\n};\n\nReactElement.cloneAndReplaceProps = function(oldElement, newProps) {\n var newElement = new ReactElement(\n oldElement.type,\n oldElement.key,\n oldElement.ref,\n oldElement._owner,\n oldElement._context,\n newProps\n );\n\n if (\"production\" !== process.env.NODE_ENV) {\n // If the key on the original is valid, then the clone is valid\n newElement._store.validated = oldElement._store.validated;\n }\n return newElement;\n};\n\nReactElement.cloneElement = function(element, config, children) {\n var propName;\n\n // Original props are copied\n var props = assign({}, element.props);\n\n // Reserved names are extracted\n var key = element.key;\n var ref = element.ref;\n\n // Owner will be preserved, unless ref is overridden\n var owner = element._owner;\n\n if (config != null) {\n if (config.ref !== undefined) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n if (config.key !== undefined) {\n key = '' + config.key;\n }\n // Remaining properties override existing props\n for (propName in config) {\n if (config.hasOwnProperty(propName) &&\n !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n return new ReactElement(\n element.type,\n key,\n ref,\n owner,\n element._context,\n props\n );\n};\n\n/**\n * @param {?object} object\n * @return {boolean} True if `object` is a valid component.\n * @final\n */\nReactElement.isValidElement = function(object) {\n // ReactTestUtils is often used outside of beforeEach where as React is\n // within it. This leads to two different instances of React on the same\n // page. To identify a element from a different React instance we use\n // a flag instead of an instanceof check.\n var isElement = !!(object && object._isReactElement);\n // if (isElement && !(object instanceof ReactElement)) {\n // This is an indicator that you're using multiple versions of React at the\n // same time. This will screw with ownership and stuff. Fix it, please.\n // TODO: We could possibly warn here.\n // }\n return isElement;\n};\n\nmodule.exports = ReactElement;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactElement.js\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactPropTransferer\n */\n\n'use strict';\n\nvar assign = require(\"./Object.assign\");\nvar emptyFunction = require(\"./emptyFunction\");\nvar joinClasses = require(\"./joinClasses\");\n\n/**\n * Creates a transfer strategy that will merge prop values using the supplied\n * `mergeStrategy`. If a prop was previously unset, this just sets it.\n *\n * @param {function} mergeStrategy\n * @return {function}\n */\nfunction createTransferStrategy(mergeStrategy) {\n return function(props, key, value) {\n if (!props.hasOwnProperty(key)) {\n props[key] = value;\n } else {\n props[key] = mergeStrategy(props[key], value);\n }\n };\n}\n\nvar transferStrategyMerge = createTransferStrategy(function(a, b) {\n // `merge` overrides the first object's (`props[key]` above) keys using the\n // second object's (`value`) keys. An object's style's existing `propA` would\n // get overridden. Flip the order here.\n return assign({}, b, a);\n});\n\n/**\n * Transfer strategies dictate how props are transferred by `transferPropsTo`.\n * NOTE: if you add any more exceptions to this list you should be sure to\n * update `cloneWithProps()` accordingly.\n */\nvar TransferStrategies = {\n /**\n * Never transfer `children`.\n */\n children: emptyFunction,\n /**\n * Transfer the `className` prop by merging them.\n */\n className: createTransferStrategy(joinClasses),\n /**\n * Transfer the `style` prop (which is an object) by merging them.\n */\n style: transferStrategyMerge\n};\n\n/**\n * Mutates the first argument by transferring the properties from the second\n * argument.\n *\n * @param {object} props\n * @param {object} newProps\n * @return {object}\n */\nfunction transferInto(props, newProps) {\n for (var thisKey in newProps) {\n if (!newProps.hasOwnProperty(thisKey)) {\n continue;\n }\n\n var transferStrategy = TransferStrategies[thisKey];\n\n if (transferStrategy && TransferStrategies.hasOwnProperty(thisKey)) {\n transferStrategy(props, thisKey, newProps[thisKey]);\n } else if (!props.hasOwnProperty(thisKey)) {\n props[thisKey] = newProps[thisKey];\n }\n }\n return props;\n}\n\n/**\n * ReactPropTransferer are capable of transferring props to another component\n * using a `transferPropsTo` method.\n *\n * @class ReactPropTransferer\n */\nvar ReactPropTransferer = {\n\n /**\n * Merge two props objects using TransferStrategies.\n *\n * @param {object} oldProps original props (they take precedence)\n * @param {object} newProps new props to merge in\n * @return {object} a new object containing both sets of props merged.\n */\n mergeProps: function(oldProps, newProps) {\n return transferInto(assign({}, oldProps), newProps);\n }\n\n};\n\nmodule.exports = ReactPropTransferer;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactPropTransferer.js\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyOf\n */\n\n/**\n * Allows extraction of a minified key. Let's the build system minify keys\n * without loosing the ability to dynamically use key strings as values\n * themselves. Pass in an object with a single key/val pair and it will return\n * you the string key of that single record. Suppose you want to grab the\n * value for a key 'className' inside of an object. Key/val minification may\n * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n * reuse those resolutions.\n */\nvar keyOf = function(oneKeyObj) {\n var key;\n for (key in oneKeyObj) {\n if (!oneKeyObj.hasOwnProperty(key)) {\n continue;\n }\n return key;\n }\n return null;\n};\n\n\nmodule.exports = keyOf;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/keyOf.js\n **/","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule warning\n */\n\n\"use strict\";\n\nvar emptyFunction = require(\"./emptyFunction\");\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (\"production\" !== process.env.NODE_ENV) {\n warning = function(condition, format ) {for (var args=[],$__0=2,$__1=arguments.length;$__0<$__1;$__0++) args.push(arguments[$__0]);\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || /^[s\\W]*$/.test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function() {return args[argIndex++];});\n console.warn(message);\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/warning.js\n **/","// shim for using process in browser\n\nvar process = module.exports = {};\n\nprocess.nextTick = (function () {\n var canSetImmediate = typeof window !== 'undefined'\n && window.setImmediate;\n var canMutationObserver = typeof window !== 'undefined'\n && window.MutationObserver;\n var canPost = typeof window !== 'undefined'\n && window.postMessage && window.addEventListener\n ;\n\n if (canSetImmediate) {\n return function (f) { return window.setImmediate(f) };\n }\n\n var queue = [];\n\n if (canMutationObserver) {\n var hiddenDiv = document.createElement(\"div\");\n var observer = new MutationObserver(function () {\n var queueList = queue.slice();\n queue.length = 0;\n queueList.forEach(function (fn) {\n fn();\n });\n });\n\n observer.observe(hiddenDiv, { attributes: true });\n\n return function nextTick(fn) {\n if (!queue.length) {\n hiddenDiv.setAttribute('yes', 'no');\n }\n queue.push(fn);\n };\n }\n\n if (canPost) {\n window.addEventListener('message', function (ev) {\n var source = ev.source;\n if ((source === window || source === null) && ev.data === 'process-tick') {\n ev.stopPropagation();\n if (queue.length > 0) {\n var fn = queue.shift();\n fn();\n }\n }\n }, true);\n\n return function nextTick(fn) {\n queue.push(fn);\n window.postMessage('process-tick', '*');\n };\n }\n\n return function nextTick(fn) {\n setTimeout(fn, 0);\n };\n})();\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\n// TODO(shtylman)\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\n\n\n/** WEBPACK FOOTER **\n ** (webpack)/~/node-libs-browser/~/process/browser.js\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactContext\n */\n\n'use strict';\n\nvar assign = require(\"./Object.assign\");\nvar emptyObject = require(\"./emptyObject\");\nvar warning = require(\"./warning\");\n\nvar didWarn = false;\n\n/**\n * Keeps track of the current context.\n *\n * The context is automatically passed down the component ownership hierarchy\n * and is accessible via `this.context` on ReactCompositeComponents.\n */\nvar ReactContext = {\n\n /**\n * @internal\n * @type {object}\n */\n current: emptyObject,\n\n /**\n * Temporarily extends the current context while executing scopedCallback.\n *\n * A typical use case might look like\n *\n * render: function() {\n * var children = ReactContext.withContext({foo: 'foo'}, () => (\n *\n * ));\n * return {children}
;\n * }\n *\n * @param {object} newContext New context to merge into the existing context\n * @param {function} scopedCallback Callback to run with the new context\n * @return {ReactComponent|array}\n */\n withContext: function(newContext, scopedCallback) {\n if (\"production\" !== process.env.NODE_ENV) {\n (\"production\" !== process.env.NODE_ENV ? warning(\n didWarn,\n 'withContext is deprecated and will be removed in a future version. ' +\n 'Use a wrapper component with getChildContext instead.'\n ) : null);\n\n didWarn = true;\n }\n\n var result;\n var previousContext = ReactContext.current;\n ReactContext.current = assign({}, previousContext, newContext);\n try {\n result = scopedCallback();\n } finally {\n ReactContext.current = previousContext;\n }\n return result;\n }\n\n};\n\nmodule.exports = ReactContext;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactContext.js\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ReactCurrentOwner\n */\n\n'use strict';\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n *\n * The depth indicate how many composite components are above this render level.\n */\nvar ReactCurrentOwner = {\n\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n\n};\n\nmodule.exports = ReactCurrentOwner;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/ReactCurrentOwner.js\n **/","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule Object.assign\n */\n\n// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign\n\n'use strict';\n\nfunction assign(target, sources) {\n if (target == null) {\n throw new TypeError('Object.assign target cannot be null or undefined');\n }\n\n var to = Object(target);\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) {\n var nextSource = arguments[nextIndex];\n if (nextSource == null) {\n continue;\n }\n\n var from = Object(nextSource);\n\n // We don't currently support accessors nor proxies. Therefore this\n // copy cannot throw. If we ever supported this then we must handle\n // exceptions and side-effects. We don't support symbols so they won't\n // be transferred.\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n }\n\n return to;\n}\n\nmodule.exports = assign;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/Object.assign.js\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule emptyFunction\n */\n\nfunction makeEmptyFunction(arg) {\n return function() {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nfunction emptyFunction() {}\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function() { return this; };\nemptyFunction.thatReturnsArgument = function(arg) { return arg; };\n\nmodule.exports = emptyFunction;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/emptyFunction.js\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule joinClasses\n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Combines multiple className strings into one.\n * http://jsperf.com/joinclasses-args-vs-array\n *\n * @param {...?string} classes\n * @return {string}\n */\nfunction joinClasses(className/*, ... */) {\n if (!className) {\n className = '';\n }\n var nextClass;\n var argLength = arguments.length;\n if (argLength > 1) {\n for (var ii = 1; ii < argLength; ii++) {\n nextClass = arguments[ii];\n if (nextClass) {\n className = (className ? className + ' ' : '') + nextClass;\n }\n }\n }\n return className;\n}\n\nmodule.exports = joinClasses;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/joinClasses.js\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule emptyObject\n */\n\n\"use strict\";\n\nvar emptyObject = {};\n\nif (\"production\" !== process.env.NODE_ENV) {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/emptyObject.js\n **/"],"sourceRoot":"","file":"./dist/react-draggable.js"}
\ No newline at end of file
diff --git a/dist/react-draggable.min.js b/dist/react-draggable.min.js
index d060aa51..5e08e5e7 100644
--- a/dist/react-draggable.min.js
+++ b/dist/react-draggable.min.js
@@ -1,2 +1,2 @@
-!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("React")):"function"==typeof define&&define.amd?define(["React"],factory):"object"==typeof exports?exports.ReactDraggable=factory(require("React")):root.ReactDraggable=factory(root.React)}(this,function(__WEBPACK_EXTERNAL_MODULE_2__){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){module.exports=__webpack_require__(1)},function(module,exports,__webpack_require__){"use strict";function createUIEvent(draggable){return{position:{top:draggable.state.clientY,left:draggable.state.clientX}}}function canDragY(draggable){return"both"===draggable.props.axis||"y"===draggable.props.axis}function canDragX(draggable){return"both"===draggable.props.axis||"x"===draggable.props.axis}function isFunction(func){return"function"==typeof func||"[object Function]"===Object.prototype.toString.call(func)}function findInArray(array,callback){for(var i=0,element=(array.length,null);element=array[i];i++)if(callback.apply(callback,[element,i,array]))return element}function matchesSelector(el,selector){var method=findInArray(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(method){return isFunction(el[method])});return el[method].call(el,selector)}function getControlPosition(e){var position=e.touches&&e.touches[0]||e;return{clientX:position.clientX,clientY:position.clientY}}function addEvent(el,event,handler){el&&(el.attachEvent?el.attachEvent("on"+event,handler):el.addEventListener?el.addEventListener(event,handler,!0):el["on"+event]=handler)}function removeEvent(el,event,handler){el&&(el.detachEvent?el.detachEvent("on"+event,handler):el.removeEventListener?el.removeEventListener(event,handler,!0):el["on"+event]=null)}var React=__webpack_require__(2),emptyFunction=function(){};if("undefined"==typeof window)var isTouchDevice=!1;else var isTouchDevice="ontouchstart"in window||"onmsgesturechange"in window;var dragEventFor=function(){var eventsFor={touch:{start:"touchstart",move:"touchmove",end:"touchend"},mouse:{start:"mousedown",move:"mousemove",end:"mouseup"}};return eventsFor[isTouchDevice?"touch":"mouse"]}();module.exports=React.createClass({displayName:"Draggable",propTypes:{axis:React.PropTypes.oneOf(["both","x","y"]),handle:React.PropTypes.string,cancel:React.PropTypes.string,grid:React.PropTypes.arrayOf(React.PropTypes.number),start:React.PropTypes.object,zIndex:React.PropTypes.number,onStart:React.PropTypes.func,onDrag:React.PropTypes.func,onStop:React.PropTypes.func,onMouseDown:React.PropTypes.func},componentWillUnmount:function(){removeEvent(window,dragEventFor.move,this.handleDrag),removeEvent(window,dragEventFor.end,this.handleDragEnd)},getDefaultProps:function(){return{axis:"both",handle:null,cancel:null,grid:null,start:{x:0,y:0},zIndex:0/0,onStart:emptyFunction,onDrag:emptyFunction,onStop:emptyFunction,onMouseDown:emptyFunction}},getInitialState:function(){return{dragging:!1,startX:0,startY:0,offsetX:0,offsetY:0,clientX:this.props.start.x,clientY:this.props.start.y}},handleDragStart:function(e){this.props.onMouseDown(e);var node=this.getDOMNode();if(!(this.props.handle&&!matchesSelector(e.target,this.props.handle)||this.props.cancel&&matchesSelector(e.target,this.props.cancel))){var dragPoint=getControlPosition(e);this.setState({dragging:!0,offsetX:parseInt(dragPoint.clientX,10),offsetY:parseInt(dragPoint.clientY,10),startX:parseInt(node.style.left,10)||0,startY:parseInt(node.style.top,10)||0}),this.props.onStart(e,createUIEvent(this)),addEvent(window,dragEventFor.move,this.handleDrag),addEvent(window,dragEventFor.end,this.handleDragEnd)}},handleDragEnd:function(e){this.state.dragging&&(this.setState({dragging:!1}),this.props.onStop(e,createUIEvent(this)),removeEvent(window,dragEventFor.move,this.handleDrag),removeEvent(window,dragEventFor.end,this.handleDragEnd))},handleDrag:function(e){var dragPoint=getControlPosition(e),clientX=this.state.startX+(dragPoint.clientX-this.state.offsetX),clientY=this.state.startY+(dragPoint.clientY-this.state.offsetY);if(Array.isArray(this.props.grid)){var directionX=clientX=this.props.grid[0]?parseInt(this.state.clientX,10)+this.props.grid[0]*directionX:this.state.clientX,clientY=Math.abs(clientY-parseInt(this.state.clientY,10))>=this.props.grid[1]?parseInt(this.state.clientY,10)+this.props.grid[1]*directionY:this.state.clientY}this.setState({clientX:clientX,clientY:clientY}),this.props.onDrag(e,createUIEvent(this))},render:function(){var style={top:canDragY(this)?this.state.clientY:this.state.startY,left:canDragX(this)?this.state.clientX:this.state.startX};this.state.dragging&&!isNaN(this.props.zIndex)&&(style.zIndex=this.props.zIndex);var className="react-draggable";return this.state.dragging&&(className+=" react-draggable-dragging"),React.addons.cloneWithProps(React.Children.only(this.props.children),{style:style,className:className,onMouseDown:this.handleDragStart,onTouchStart:function(ev){return ev.preventDefault(),this.handleDragStart.apply(this,arguments)}.bind(this),onMouseUp:this.handleDragEnd,onTouchEnd:this.handleDragEnd})}})},function(module){module.exports=__WEBPACK_EXTERNAL_MODULE_2__}])});
+!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("React")):"function"==typeof define&&define.amd?define(["React"],factory):"object"==typeof exports?exports.ReactDraggable=factory(require("React")):root.ReactDraggable=factory(root.React)}(this,function(__WEBPACK_EXTERNAL_MODULE_2__){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){module.exports=__webpack_require__(1)},function(module,exports,__webpack_require__){"use strict";function createUIEvent(draggable){return{position:{top:draggable.state.clientY,left:draggable.state.clientX}}}function canDragY(draggable){return"both"===draggable.props.axis||"y"===draggable.props.axis}function canDragX(draggable){return"both"===draggable.props.axis||"x"===draggable.props.axis}function isFunction(func){return"function"==typeof func||"[object Function]"===Object.prototype.toString.call(func)}function findInArray(array,callback){for(var i=0,element=(array.length,null);element=array[i];i++)if(callback.apply(callback,[element,i,array]))return element}function matchesSelector(el,selector){var method=findInArray(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(method){return isFunction(el[method])});return el[method].call(el,selector)}function getControlPosition(e){var position=e.touches&&e.touches[0]||e;return{clientX:position.clientX,clientY:position.clientY}}function addEvent(el,event,handler){el&&(el.attachEvent?el.attachEvent("on"+event,handler):el.addEventListener?el.addEventListener(event,handler,!0):el["on"+event]=handler)}function removeEvent(el,event,handler){el&&(el.detachEvent?el.detachEvent("on"+event,handler):el.removeEventListener?el.removeEventListener(event,handler,!0):el["on"+event]=null)}var React=__webpack_require__(2),emptyFunction=function(){},cloneWithProps=__webpack_require__(3);if("undefined"==typeof window)var isTouchDevice=!1;else var isTouchDevice="ontouchstart"in window||"onmsgesturechange"in window;var dragEventFor=function(){var eventsFor={touch:{start:"touchstart",move:"touchmove",end:"touchend"},mouse:{start:"mousedown",move:"mousemove",end:"mouseup"}};return eventsFor[isTouchDevice?"touch":"mouse"]}();module.exports=React.createClass({displayName:"Draggable",propTypes:{axis:React.PropTypes.oneOf(["both","x","y"]),handle:React.PropTypes.string,cancel:React.PropTypes.string,grid:React.PropTypes.arrayOf(React.PropTypes.number),start:React.PropTypes.object,zIndex:React.PropTypes.number,onStart:React.PropTypes.func,onDrag:React.PropTypes.func,onStop:React.PropTypes.func,onMouseDown:React.PropTypes.func},componentWillUnmount:function(){removeEvent(window,dragEventFor.move,this.handleDrag),removeEvent(window,dragEventFor.end,this.handleDragEnd)},getDefaultProps:function(){return{axis:"both",handle:null,cancel:null,grid:null,start:{x:0,y:0},zIndex:0/0,onStart:emptyFunction,onDrag:emptyFunction,onStop:emptyFunction,onMouseDown:emptyFunction}},getInitialState:function(){return{dragging:!1,startX:0,startY:0,offsetX:0,offsetY:0,clientX:this.props.start.x,clientY:this.props.start.y}},handleDragStart:function(e){this.props.onMouseDown(e);var node=this.getDOMNode();if(!(this.props.handle&&!matchesSelector(e.target,this.props.handle)||this.props.cancel&&matchesSelector(e.target,this.props.cancel))){var dragPoint=getControlPosition(e);this.setState({dragging:!0,offsetX:parseInt(dragPoint.clientX,10),offsetY:parseInt(dragPoint.clientY,10),startX:parseInt(node.style.left,10)||0,startY:parseInt(node.style.top,10)||0}),this.props.onStart(e,createUIEvent(this)),addEvent(window,dragEventFor.move,this.handleDrag),addEvent(window,dragEventFor.end,this.handleDragEnd)}},handleDragEnd:function(e){this.state.dragging&&(this.setState({dragging:!1}),this.props.onStop(e,createUIEvent(this)),removeEvent(window,dragEventFor.move,this.handleDrag),removeEvent(window,dragEventFor.end,this.handleDragEnd))},handleDrag:function(e){var dragPoint=getControlPosition(e),clientX=this.state.startX+(dragPoint.clientX-this.state.offsetX),clientY=this.state.startY+(dragPoint.clientY-this.state.offsetY);if(Array.isArray(this.props.grid)){var directionX=clientX=this.props.grid[0]?parseInt(this.state.clientX,10)+this.props.grid[0]*directionX:this.state.clientX,clientY=Math.abs(clientY-parseInt(this.state.clientY,10))>=this.props.grid[1]?parseInt(this.state.clientY,10)+this.props.grid[1]*directionY:this.state.clientY}this.setState({clientX:clientX,clientY:clientY}),this.props.onDrag(e,createUIEvent(this))},render:function(){var style={top:canDragY(this)?this.state.clientY:this.state.startY,left:canDragX(this)?this.state.clientX:this.state.startX};this.state.dragging&&!isNaN(this.props.zIndex)&&(style.zIndex=this.props.zIndex);var className="react-draggable";return this.state.dragging&&(className+=" react-draggable-dragging"),cloneWithProps(React.Children.only(this.props.children),{style:style,className:className,onMouseDown:this.handleDragStart,onTouchStart:function(ev){return ev.preventDefault(),this.handleDragStart.apply(this,arguments)}.bind(this),onMouseUp:this.handleDragEnd,onTouchEnd:this.handleDragEnd})}})},function(module){module.exports=__WEBPACK_EXTERNAL_MODULE_2__},function(module,exports,__webpack_require__){(function(process){"use strict";function cloneWithProps(child,props){"production"!==process.env.NODE_ENV&&("production"!==process.env.NODE_ENV?warning(!child.ref,"You are calling cloneWithProps() on a child with a ref. This is dangerous because you're creating a new child which will not be added as a ref to its parent."):null);var newProps=ReactPropTransferer.mergeProps(props,child.props);return!newProps.hasOwnProperty(CHILDREN_PROP)&&child.props.hasOwnProperty(CHILDREN_PROP)&&(newProps.children=child.props.children),ReactElement.createElement(child.type,newProps)}var ReactElement=__webpack_require__(4),ReactPropTransferer=__webpack_require__(5),keyOf=__webpack_require__(6),warning=__webpack_require__(7),CHILDREN_PROP=keyOf({children:null});module.exports=cloneWithProps}).call(exports,__webpack_require__(8))},function(module,exports,__webpack_require__){(function(process){"use strict";function defineWarningProperty(object,key){Object.defineProperty(object,key,{configurable:!1,enumerable:!0,get:function(){return this._store?this._store[key]:null},set:function(value){"production"!==process.env.NODE_ENV?warning(!1,"Don't set the %s property of the React element. Instead, specify the correct value when initially creating the element.",key):null,this._store[key]=value}})}function defineMutationMembrane(prototype){try{var pseudoFrozenProperties={props:!0};for(var key in pseudoFrozenProperties)defineWarningProperty(prototype,key);useMutationMembrane=!0}catch(x){}}var ReactContext=__webpack_require__(9),ReactCurrentOwner=__webpack_require__(10),assign=__webpack_require__(11),warning=__webpack_require__(7),RESERVED_PROPS={key:!0,ref:!0},useMutationMembrane=!1,ReactElement=function(type,key,ref,owner,context,props){if(this.type=type,this.key=key,this.ref=ref,this._owner=owner,this._context=context,"production"!==process.env.NODE_ENV){this._store={props:props,originalProps:assign({},props)};try{Object.defineProperty(this._store,"validated",{configurable:!1,enumerable:!1,writable:!0})}catch(x){}if(this._store.validated=!1,useMutationMembrane)return void Object.freeze(this)}this.props=props};ReactElement.prototype={_isReactElement:!0},"production"!==process.env.NODE_ENV&&defineMutationMembrane(ReactElement.prototype),ReactElement.createElement=function(type,config,children){var propName,props={},key=null,ref=null;if(null!=config){ref=void 0===config.ref?null:config.ref,key=void 0===config.key?null:""+config.key;for(propName in config)config.hasOwnProperty(propName)&&!RESERVED_PROPS.hasOwnProperty(propName)&&(props[propName]=config[propName])}var childrenLength=arguments.length-2;if(1===childrenLength)props.children=children;else if(childrenLength>1){for(var childArray=Array(childrenLength),i=0;childrenLength>i;i++)childArray[i]=arguments[i+2];props.children=childArray}if(type&&type.defaultProps){var defaultProps=type.defaultProps;for(propName in defaultProps)"undefined"==typeof props[propName]&&(props[propName]=defaultProps[propName])}return new ReactElement(type,key,ref,ReactCurrentOwner.current,ReactContext.current,props)},ReactElement.createFactory=function(type){var factory=ReactElement.createElement.bind(null,type);return factory.type=type,factory},ReactElement.cloneAndReplaceProps=function(oldElement,newProps){var newElement=new ReactElement(oldElement.type,oldElement.key,oldElement.ref,oldElement._owner,oldElement._context,newProps);return"production"!==process.env.NODE_ENV&&(newElement._store.validated=oldElement._store.validated),newElement},ReactElement.cloneElement=function(element,config,children){var propName,props=assign({},element.props),key=element.key,ref=element.ref,owner=element._owner;if(null!=config){void 0!==config.ref&&(ref=config.ref,owner=ReactCurrentOwner.current),void 0!==config.key&&(key=""+config.key);for(propName in config)config.hasOwnProperty(propName)&&!RESERVED_PROPS.hasOwnProperty(propName)&&(props[propName]=config[propName])}var childrenLength=arguments.length-2;if(1===childrenLength)props.children=children;else if(childrenLength>1){for(var childArray=Array(childrenLength),i=0;childrenLength>i;i++)childArray[i]=arguments[i+2];props.children=childArray}return new ReactElement(element.type,key,ref,owner,element._context,props)},ReactElement.isValidElement=function(object){var isElement=!(!object||!object._isReactElement);return isElement},module.exports=ReactElement}).call(exports,__webpack_require__(8))},function(module,exports,__webpack_require__){"use strict";function createTransferStrategy(mergeStrategy){return function(props,key,value){props[key]=props.hasOwnProperty(key)?mergeStrategy(props[key],value):value}}function transferInto(props,newProps){for(var thisKey in newProps)if(newProps.hasOwnProperty(thisKey)){var transferStrategy=TransferStrategies[thisKey];transferStrategy&&TransferStrategies.hasOwnProperty(thisKey)?transferStrategy(props,thisKey,newProps[thisKey]):props.hasOwnProperty(thisKey)||(props[thisKey]=newProps[thisKey])}return props}var assign=__webpack_require__(11),emptyFunction=__webpack_require__(12),joinClasses=__webpack_require__(13),transferStrategyMerge=createTransferStrategy(function(a,b){return assign({},b,a)}),TransferStrategies={children:emptyFunction,className:createTransferStrategy(joinClasses),style:transferStrategyMerge},ReactPropTransferer={mergeProps:function(oldProps,newProps){return transferInto(assign({},oldProps),newProps)}};module.exports=ReactPropTransferer},function(module){var keyOf=function(oneKeyObj){var key;for(key in oneKeyObj)if(oneKeyObj.hasOwnProperty(key))return key;return null};module.exports=keyOf},function(module,exports,__webpack_require__){(function(process){"use strict";var emptyFunction=__webpack_require__(12),warning=emptyFunction;"production"!==process.env.NODE_ENV&&(warning=function(condition,format){for(var args=[],$__0=2,$__1=arguments.length;$__1>$__0;$__0++)args.push(arguments[$__0]);if(void 0===format)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(format.length<10||/^[s\W]*$/.test(format))throw new Error("The warning format should be able to uniquely identify this warning. Please, use a more descriptive format than: "+format);if(0!==format.indexOf("Failed Composite propType: ")&&!condition){var argIndex=0,message="Warning: "+format.replace(/%s/g,function(){return args[argIndex++]});console.warn(message);try{throw new Error(message)}catch(x){}}}),module.exports=warning}).call(exports,__webpack_require__(8))},function(module){function noop(){}var process=module.exports={};process.nextTick=function(){var canSetImmediate="undefined"!=typeof window&&window.setImmediate,canMutationObserver="undefined"!=typeof window&&window.MutationObserver,canPost="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(canSetImmediate)return function(f){return window.setImmediate(f)};var queue=[];if(canMutationObserver){var hiddenDiv=document.createElement("div"),observer=new MutationObserver(function(){var queueList=queue.slice();queue.length=0,queueList.forEach(function(fn){fn()})});return observer.observe(hiddenDiv,{attributes:!0}),function(fn){queue.length||hiddenDiv.setAttribute("yes","no"),queue.push(fn)}}return canPost?(window.addEventListener("message",function(ev){var source=ev.source;if((source===window||null===source)&&"process-tick"===ev.data&&(ev.stopPropagation(),queue.length>0)){var fn=queue.shift();fn()}},!0),function(fn){queue.push(fn),window.postMessage("process-tick","*")}):function(fn){setTimeout(fn,0)}}(),process.title="browser",process.browser=!0,process.env={},process.argv=[],process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.binding=function(){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(){throw new Error("process.chdir is not supported")}},function(module,exports,__webpack_require__){(function(process){"use strict";var assign=__webpack_require__(11),emptyObject=__webpack_require__(14),warning=__webpack_require__(7),didWarn=!1,ReactContext={current:emptyObject,withContext:function(newContext,scopedCallback){"production"!==process.env.NODE_ENV&&("production"!==process.env.NODE_ENV?warning(didWarn,"withContext is deprecated and will be removed in a future version. Use a wrapper component with getChildContext instead."):null,didWarn=!0);var result,previousContext=ReactContext.current;ReactContext.current=assign({},previousContext,newContext);try{result=scopedCallback()}finally{ReactContext.current=previousContext}return result}};module.exports=ReactContext}).call(exports,__webpack_require__(8))},function(module){"use strict";var ReactCurrentOwner={current:null};module.exports=ReactCurrentOwner},function(module){"use strict";function assign(target){if(null==target)throw new TypeError("Object.assign target cannot be null or undefined");for(var to=Object(target),hasOwnProperty=Object.prototype.hasOwnProperty,nextIndex=1;nextIndex1)for(var ii=1;argLength>ii;ii++)nextClass=arguments[ii],nextClass&&(className=(className?className+" ":"")+nextClass);return className}module.exports=joinClasses},function(module,exports,__webpack_require__){(function(process){"use strict";var emptyObject={};"production"!==process.env.NODE_ENV&&Object.freeze(emptyObject),module.exports=emptyObject}).call(exports,__webpack_require__(8))}])});
//# sourceMappingURL=react-draggable.min.map
\ No newline at end of file
diff --git a/dist/react-draggable.min.map b/dist/react-draggable.min.map
index 8782d7b4..3755baab 100644
--- a/dist/react-draggable.min.map
+++ b/dist/react-draggable.min.map
@@ -1 +1 @@
-{"version":3,"file":"dist/react-draggable.min.js","sources":["dist/react-draggable.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","createUIEvent","draggable","position","top","state","clientY","left","clientX","canDragY","props","axis","canDragX","isFunction","func","Object","prototype","toString","findInArray","array","callback","i","element","length","apply","matchesSelector","el","selector","method","getControlPosition","e","touches","addEvent","event","handler","attachEvent","addEventListener","removeEvent","detachEvent","removeEventListener","React","emptyFunction","window","isTouchDevice","dragEventFor","eventsFor","touch","start","move","end","mouse","createClass","displayName","propTypes","PropTypes","oneOf","handle","string","cancel","grid","arrayOf","number","object","zIndex","onStart","onDrag","onStop","onMouseDown","componentWillUnmount","handleDrag","handleDragEnd","getDefaultProps","x","y","NaN","getInitialState","dragging","startX","startY","offsetX","offsetY","handleDragStart","node","getDOMNode","target","dragPoint","setState","parseInt","style","Array","isArray","directionX","directionY","Math","abs","render","isNaN","className","addons","cloneWithProps","Children","only","children","onTouchStart","ev","preventDefault","arguments","bind","onMouseUp","onTouchEnd"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"dist/react-draggable.min.js","sources":["dist/react-draggable.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","createUIEvent","draggable","position","top","state","clientY","left","clientX","canDragY","props","axis","canDragX","isFunction","func","Object","prototype","toString","findInArray","array","callback","i","element","length","apply","matchesSelector","el","selector","method","getControlPosition","e","touches","addEvent","event","handler","attachEvent","addEventListener","removeEvent","detachEvent","removeEventListener","React","emptyFunction","cloneWithProps","window","isTouchDevice","dragEventFor","eventsFor","touch","start","move","end","mouse","createClass","displayName","propTypes","PropTypes","oneOf","handle","string","cancel","grid","arrayOf","number","object","zIndex","onStart","onDrag","onStop","onMouseDown","componentWillUnmount","handleDrag","handleDragEnd","getDefaultProps","x","y","NaN","getInitialState","dragging","startX","startY","offsetX","offsetY","handleDragStart","node","getDOMNode","target","dragPoint","setState","parseInt","style","Array","isArray","directionX","directionY","Math","abs","render","isNaN","className","Children","only","children","onTouchStart","ev","preventDefault","arguments","bind","onMouseUp","onTouchEnd","process","child","env","NODE_ENV","warning","ref","newProps","ReactPropTransferer","mergeProps","hasOwnProperty","CHILDREN_PROP","ReactElement","createElement","type","keyOf","defineWarningProperty","key","defineProperty","configurable","enumerable","get","_store","set","value","defineMutationMembrane","pseudoFrozenProperties","useMutationMembrane","ReactContext","ReactCurrentOwner","assign","RESERVED_PROPS","owner","context","_owner","_context","originalProps","writable","validated","freeze","_isReactElement","config","propName","undefined","childrenLength","childArray","defaultProps","current","createFactory","cloneAndReplaceProps","oldElement","newElement","cloneElement","isValidElement","isElement","createTransferStrategy","mergeStrategy","transferInto","thisKey","transferStrategy","TransferStrategies","joinClasses","transferStrategyMerge","a","b","oldProps","oneKeyObj","condition","format","args","$__0","$__1","push","Error","test","indexOf","argIndex","message","replace","console","warn","noop","nextTick","canSetImmediate","setImmediate","canMutationObserver","MutationObserver","canPost","postMessage","f","queue","hiddenDiv","document","observer","queueList","slice","forEach","fn","observe","attributes","setAttribute","source","data","stopPropagation","shift","setTimeout","title","browser","argv","on","addListener","once","off","removeListener","removeAllListeners","emit","binding","cwd","chdir","emptyObject","didWarn","withContext","newContext","scopedCallback","result","previousContext","TypeError","to","nextIndex","nextSource","from","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","nextClass","argLength","ii"],"mappings":"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"}
\ No newline at end of file
diff --git a/package.json b/package.json
index dcf06870..7c5b4ee7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "react-draggable",
- "version": "0.4.2",
+ "version": "0.4.3",
"description": "React draggable component",
"main": "index.js",
"scripts": {