diff --git a/CHANGELOG.md b/CHANGELOG.md index 4020e881..ed8c0cfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +### 2.1.2 (Jun 5, 2016) + +- Bugfix: Fix `return false` to cancel `onDrag` breaking on both old and new browsers due to missing `typeArg` and/or + unsupported `MouseEventConstructor`. Fixes [#164](https://github.com/mzabriskie/react-draggable/issues/164). + ### 2.1.1 (May 22, 2016) - Bugfix: `` wasn't calling back with the DOM node. diff --git a/bower.json b/bower.json index 554f4329..92954e52 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "react-draggable", - "version": "2.1.1", + "version": "2.1.2", "homepage": "https://github.com/mzabriskie/react-draggable", "authors": [ "Matt Zabriskie", diff --git a/dist/react-draggable.js b/dist/react-draggable.js index c56146c3..2a384140 100644 --- a/dist/react-draggable.js +++ b/dist/react-draggable.js @@ -1130,7 +1130,17 @@ return /******/ (function(modules) { // webpackBootstrap // Call event handler. If it returns explicit false, trigger end. var shouldUpdate = _this.props.onDrag(e, coreEvent); if (shouldUpdate === false) { - _this.handleDragStop(new MouseEvent()); + try { + _this.handleDragStop(new MouseEvent('mouseup')); + } catch (err) { + // Old browsers + var event = document.createEvent('MouseEvents'); + // I see why this insanity was deprecated + // $FlowIgnore + event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); + // $FlowIgnore + _this.handleDragStop(event); + } return; } diff --git a/dist/react-draggable.js.map b/dist/react-draggable.js.map index 2fffb8fe..4cba04fd 100644 --- a/dist/react-draggable.js.map +++ b/dist/react-draggable.js.map @@ -1 +1 @@ -{"version":3,"sources":["../webpack/universalModuleDefinition","../webpack/bootstrap d9a89c2645926f6c4a0f",".././index.js",".././lib/Draggable.es6","../external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","../external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}",".././~/classnames/index.js",".././lib/utils/domFns.es6",".././lib/utils/shims.es6",".././lib/utils/getPrefix.es6",".././lib/utils/positionFns.es6",".././lib/DraggableCore.es6",".././lib/utils/log.es6"],"names":[],"mappings":"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","file":"./dist/react-draggable.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactDraggable\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"ReactDraggable\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\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\n/** WEBPACK FOOTER **\n ** webpack/bootstrap d9a89c2645926f6c4a0f\n **/","module.exports = require('./lib/Draggable').default;\nmodule.exports.DraggableCore = require('./lib/DraggableCore').default;\n\n\n\n/** WEBPACK FOOTER **\n ** ./index.js\n **/","// @flow\nimport React, {PropTypes} from 'react';\nimport ReactDOM from 'react-dom';\n// $FlowIgnore\nimport classNames from 'classnames';\nimport {createCSSTransform, createSVGTransform} from './utils/domFns';\nimport {canDragX, canDragY, createDraggableData, getBoundPosition} from './utils/positionFns';\nimport {dontSetMe} from './utils/shims';\nimport DraggableCore from './DraggableCore';\nimport log from './utils/log';\nimport type {DraggableEventHandler} from './utils/types';\n\ntype DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean\n};\n\ntype ConstructorProps = {\n position: { x: number, y: number },\n defaultPosition: { x: number, y: number }\n}\n\n//\n// Define \n//\n\nexport default class Draggable extends React.Component {\n\n static displayName = 'Draggable';\n\n static propTypes = {\n // Accepts all props accepts.\n ...DraggableCore.propTypes,\n\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: PropTypes.oneOf(['both', 'x', 'y', 'none']),\n\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
Content
\n *
\n * );\n * }\n * });\n * ```\n */\n bounds: PropTypes.oneOfType([\n PropTypes.shape({\n left: PropTypes.number,\n right: PropTypes.number,\n top: PropTypes.number,\n bottom: PropTypes.number\n }),\n PropTypes.string,\n PropTypes.oneOf([false])\n ]),\n\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number\n }),\n\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number\n }),\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: dontSetMe,\n style: dontSetMe,\n transform: dontSetMe\n };\n\n static defaultProps = {\n ...DraggableCore.defaultProps,\n axis: 'both',\n bounds: false,\n defaultPosition: {x: 0, y: 0},\n position: null\n };\n\n state: DraggableState;\n\n constructor(props: ConstructorProps) {\n super(props);\n\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n\n // Whether or not we have been dragged before.\n dragged: false,\n\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n\n // Used for compensating for out-of-bounds drags\n slackX: 0, slackY: 0,\n\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n };\n\n componentWillMount() {\n if (this.props.position && !(this.props.onDrag || this.props.onStop)) {\n // eslint-disable-next-line\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' +\n 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' +\n '`position` of this element.');\n }\n }\n\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if(typeof global.SVGElement !== 'undefined' && ReactDOM.findDOMNode(this) instanceof global.SVGElement) {\n this.setState({ isElementSVG: true });\n }\n }\n\n componentWillReceiveProps(nextProps: Object) {\n // Set x/y if position has changed\n if (nextProps.position &&\n (!this.props.position ||\n nextProps.position.x !== this.props.position.x ||\n nextProps.position.y !== this.props.position.y\n )\n ) {\n this.setState({ x: nextProps.position.x, y: nextProps.position.y });\n }\n }\n\n componentWillUnmount() {\n this.setState({dragging: false}); // prevents invariant if unmounted while dragging\n }\n\n onDragStart: DraggableEventHandler = (e, coreData) => {\n log('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, createDraggableData(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n\n this.setState({dragging: true, dragged: true});\n };\n\n onDrag: DraggableEventHandler = (e, coreData) => {\n if (!this.state.dragging) return false;\n log('Draggable: onDrag: %j', coreData);\n\n const uiData = createDraggableData(this, coreData);\n\n const newState: $Shape = {\n x: uiData.x,\n y: uiData.y\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {x, y} = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n // $FlowBug\n [newState.x, newState.y] = getBoundPosition(this, newState.x, newState.y);\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = x;\n uiData.y = y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n\n this.setState(newState);\n };\n\n onDragStop: DraggableEventHandler = (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldStop = this.props.onStop(e, createDraggableData(this, coreData));\n if (shouldStop === false) return false;\n\n log('Draggable: onDragStop: %j', coreData);\n\n const newState: $Shape = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {x, y} = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n\n this.setState(newState);\n };\n\n render(): React.Element {\n let style = {}, svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(this.props.position);\n const draggable = !controlled || this.state.dragging;\n\n const position = this.props.position || this.props.defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: canDragX(this) && draggable ?\n this.state.x :\n position.x,\n\n // Set top if vertical drag is enabled\n y: canDragY(this) && draggable ?\n this.state.y :\n position.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = createSVGTransform(transformOpts);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = createCSSTransform(transformOpts);\n }\n\n // Mark with class while dragging\n const className = classNames((this.props.children.props.className || ''), 'react-draggable', {\n 'react-draggable-dragging': this.state.dragging,\n 'react-draggable-dragged': this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return (\n \n {React.cloneElement(React.Children.only(this.props.children), {\n className: className,\n style: {...this.props.children.props.style, ...style},\n transform: svgTransform\n })}\n \n );\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/Draggable.es6\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n ** module id = 3\n ** module chunks = 0\n **/","/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/classnames/index.js\n ** module id = 4\n ** module chunks = 0\n **/","// @flow\nimport {findInArray, isFunction, int} from './shims';\nimport browserPrefix, {getPrefix, browserPrefixToStyle, browserPrefixToKey} from './getPrefix';\n\nimport type {ControlPosition} from './types';\n\nlet matchesSelectorFunc = '';\nexport function matchesSelector(el: Node, selector: string): boolean {\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = findInArray([\n 'matches',\n 'webkitMatchesSelector',\n 'mozMatchesSelector',\n 'msMatchesSelector',\n 'oMatchesSelector'\n ], function(method){\n // $FlowIgnore: Doesn't think elements are indexable\n return isFunction(el[method]);\n });\n }\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc].call(el, selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nexport function matchesSelectorAndParentsTo(el: Node, selector: string, baseNode: Node): boolean {\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n node = node.parentNode;\n } while (node);\n\n return false;\n}\n\nexport function addEvent(el: ?Node, event: string, handler: Function): void {\n if (!el) { return; }\n if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else if (el.addEventListener) {\n el.addEventListener(event, handler, true);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\n\nexport function removeEvent(el: ?Node, event: string, handler: Function): void {\n if (!el) { return; }\n if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else if (el.removeEventListener) {\n el.removeEventListener(event, handler, true);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\n\nexport function outerHeight(node: HTMLElement): number {\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = window.getComputedStyle(node);\n height += int(computedStyle.borderTopWidth);\n height += int(computedStyle.borderBottomWidth);\n return height;\n}\n\nexport function outerWidth(node: HTMLElement): number {\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = window.getComputedStyle(node);\n width += int(computedStyle.borderLeftWidth);\n width += int(computedStyle.borderRightWidth);\n return width;\n}\nexport function innerHeight(node: HTMLElement): number {\n let height = node.clientHeight;\n const computedStyle = window.getComputedStyle(node);\n height -= int(computedStyle.paddingTop);\n height -= int(computedStyle.paddingBottom);\n return height;\n}\n\nexport function innerWidth(node: HTMLElement): number {\n let width = node.clientWidth;\n const computedStyle = window.getComputedStyle(node);\n width -= int(computedStyle.paddingLeft);\n width -= int(computedStyle.paddingRight);\n return width;\n}\n\n// Get from offsetParent\nexport function offsetXYFromParentOf(evt: {clientX: number, clientY: number}, node: HTMLElement & {offsetParent: HTMLElement}): ControlPosition {\n const offsetParent = node.offsetParent || document.body;\n const offsetParentRect = node.offsetParent === document.body ? {left: 0, top: 0} : offsetParent.getBoundingClientRect();\n\n const x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left;\n const y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top;\n\n return {x, y};\n}\n\nexport function createCSSTransform({x, y}: {x: number, y: number}): Object {\n // Replace unitless items with px\n return {[browserPrefixToKey('transform', browserPrefix)]: 'translate(' + x + 'px,' + y + 'px)'};\n}\n\nexport function createSVGTransform({x, y}: {x: number, y: number}): string {\n return 'translate(' + x + ',' + y + ')';\n}\n\nexport function getTouch(e: MouseEvent, identifier: number): ?{clientX: number, clientY: number} {\n return (e.targetTouches && findInArray(e.targetTouches, t => identifier === t.identifier)) ||\n (e.changedTouches && findInArray(e.changedTouches, t => identifier === t.identifier));\n}\n\nexport function getTouchIdentifier(e: MouseEvent): ?number {\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\nconst userSelectPrefix = getPrefix('user-select');\nconst userSelect = browserPrefixToStyle('user-select', userSelectPrefix);\nconst userSelectStyle = `;${userSelect}: none;`;\n\nexport function addUserSelectStyles() {\n const style = document.body.getAttribute('style') || '';\n document.body.setAttribute('style', style + userSelectStyle);\n}\n\nexport function removeUserSelectStyles() {\n const style = document.body.getAttribute('style') || '';\n document.body.setAttribute('style', style.replace(userSelectStyle, ''));\n}\n\nexport function styleHacks(childStyle: Object = {}): Object {\n // Workaround IE pointer events; see #51\n // https://github.com/mzabriskie/react-draggable/issues/51#issuecomment-103488278\n return {\n touchAction: 'none',\n ...childStyle\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/domFns.es6\n **/","// @flow\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nexport function findInArray(array: Array, callback: Function): any {\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\n\nexport function isFunction(func: any): boolean {\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\n\nexport function isNum(num: any): boolean {\n return typeof num === 'number' && !isNaN(num);\n}\n\nexport function int(a: string): number {\n return parseInt(a, 10);\n}\n\nexport function dontSetMe(props: Object, propName: string, componentName: string) {\n if (props[propName]) {\n return new Error(`Invalid prop ${propName} passed to ${componentName} - do not set this, set it on the child.`);\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/shims.es6\n **/","// @flow\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nexport function getPrefix(prop: string='transform'): string {\n // Checking specifically for 'window.document' is for pseudo-browser server-side\n // environments that define 'window' as the global context.\n // E.g. React-rails (see https://github.com/reactjs/react-rails/pull/84)\n if (typeof window === 'undefined' || typeof window.document === 'undefined') return '';\n\n const style = window.document.documentElement.style;\n\n if (prop in style) return '';\n\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n\n return '';\n}\n\nexport function browserPrefixToKey(prop: string, prefix: string): string {\n return prefix ? `${prefix}${kebabToTitleCase(prop)}` : prop;\n}\n\nexport function browserPrefixToStyle(prop: string, prefix: string): string {\n return prefix ? `-${prefix.toLowerCase()}-${prop}` : prop;\n}\n\nfunction kebabToTitleCase(str: string): string {\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nexport default getPrefix();\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/getPrefix.es6\n **/","// @flow\nimport {isNum, int} from './shims';\nimport ReactDOM from 'react-dom';\nimport {getTouch, innerWidth, innerHeight, offsetXYFromParentOf, outerWidth, outerHeight} from './domFns';\n\nimport type Draggable from '../Draggable';\nimport type {Bounds, ControlPosition, DraggableData} from './types';\nimport type DraggableCore from '../DraggableCore';\n\nexport function getBoundPosition(draggable: Draggable, x: number, y: number): [number, number] {\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {bounds} = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = ReactDOM.findDOMNode(draggable);\n\n if (typeof bounds === 'string') {\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = document.querySelector(bounds);\n if (!boundNode) throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const nodeStyle = window.getComputedStyle(node);\n const boundNodeStyle = window.getComputedStyle(boundNode);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + int(boundNodeStyle.paddingLeft) +\n int(nodeStyle.borderLeftWidth) + int(nodeStyle.marginLeft),\n top: -node.offsetTop + int(boundNodeStyle.paddingTop) +\n int(nodeStyle.borderTopWidth) + int(nodeStyle.marginTop),\n right: innerWidth(boundNode) - outerWidth(node) - node.offsetLeft,\n bottom: innerHeight(boundNode) - outerHeight(node) - node.offsetTop\n };\n }\n\n // Keep x and y below right and bottom limits...\n if (isNum(bounds.right)) x = Math.min(x, bounds.right);\n if (isNum(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if (isNum(bounds.left)) x = Math.max(x, bounds.left);\n if (isNum(bounds.top)) y = Math.max(y, bounds.top);\n\n return [x, y];\n}\n\nexport function snapToGrid(grid: [number, number], pendingX: number, pendingY: number): [number, number] {\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\n\nexport function canDragX(draggable: Draggable): boolean {\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\n\nexport function canDragY(draggable: Draggable): boolean {\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nexport function getControlPosition(e: MouseEvent, touchIdentifier: ?number, draggableCore: DraggableCore): ?ControlPosition {\n const touchObj = typeof touchIdentifier === 'number' ? getTouch(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n return offsetXYFromParentOf(touchObj || e, ReactDOM.findDOMNode(draggableCore));\n}\n\n// Create an data object exposed by 's events\nexport function createCoreData(draggable: DraggableCore, x: number, y: number): DraggableData {\n // State changes are often (but not always!) async. We want the latest value.\n const state = draggable._pendingState || draggable.state;\n const isStart = !isNum(state.lastX);\n\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node: ReactDOM.findDOMNode(draggable),\n deltaX: 0, deltaY: 0,\n lastX: x, lastY: y,\n x: x, y: y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node: ReactDOM.findDOMNode(draggable),\n deltaX: x - state.lastX, deltaY: y - state.lastY,\n lastX: state.lastX, lastY: state.lastY,\n x: x, y: y\n };\n }\n}\n\n// Create an data exposed by 's events\nexport function createDraggableData(draggable: Draggable, coreData: DraggableData): DraggableData {\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX,\n y: draggable.state.y + coreData.deltaY,\n deltaX: coreData.deltaX,\n deltaY: coreData.deltaY,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds: Bounds): Bounds {\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/positionFns.es6\n **/","// @flow\nimport React, {PropTypes} from 'react';\nimport ReactDOM from 'react-dom';\nimport {matchesSelectorAndParentsTo, addEvent, removeEvent, addUserSelectStyles, getTouchIdentifier,\n removeUserSelectStyles, styleHacks} from './utils/domFns';\nimport {createCoreData, getControlPosition, snapToGrid} from './utils/positionFns';\nimport {dontSetMe} from './utils/shims';\nimport log from './utils/log';\n\nimport type {EventHandler} from './utils/types';\n\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n\ntype CoreState = {\n dragging: boolean,\n lastX: number,\n lastY: number,\n touchIdentifier: ?number\n};\n\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nexport default class DraggableCore extends React.Component {\n\n static displayName = 'DraggableCore';\n\n static propTypes = {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: PropTypes.bool,\n\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: PropTypes.bool,\n\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: PropTypes.bool,\n\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: PropTypes.arrayOf(PropTypes.number),\n\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: PropTypes.string,\n\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: PropTypes.string,\n\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: PropTypes.func,\n\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: PropTypes.func,\n\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: PropTypes.func,\n\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: PropTypes.func,\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: dontSetMe,\n style: dontSetMe,\n transform: dontSetMe\n };\n\n static defaultProps = {\n allowAnyClick: false, // by default only accept left click\n cancel: null,\n disabled: false,\n enableUserSelectHack: true,\n handle: null,\n grid: null,\n transform: null,\n onStart: function(){},\n onDrag: function(){},\n onStop: function(){},\n onMouseDown: function(){}\n };\n\n state: CoreState = {\n dragging: false,\n // Used while dragging to determine deltas.\n lastX: NaN, lastY: NaN,\n touchIdentifier: null\n };\n\n componentWillUnmount() {\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n removeEvent(document, eventsFor.mouse.move, this.handleDrag);\n removeEvent(document, eventsFor.touch.move, this.handleDrag);\n removeEvent(document, eventsFor.mouse.stop, this.handleDragStop);\n removeEvent(document, eventsFor.touch.stop, this.handleDragStop);\n if (this.props.enableUserSelectHack) removeUserSelectStyles();\n }\n\n handleDragStart: EventHandler = (e) => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled ||\n (!(e.target instanceof Node)) ||\n (this.props.handle && !matchesSelectorAndParentsTo(e.target, this.props.handle, ReactDOM.findDOMNode(this))) ||\n (this.props.cancel && matchesSelectorAndParentsTo(e.target, this.props.cancel, ReactDOM.findDOMNode(this)))) {\n return;\n }\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = getTouchIdentifier(e);\n this.setState({touchIdentifier});\n\n // Get the current drag point from the event. This is used as the offset.\n const position = getControlPosition(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {x, y} = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = createCoreData(this, x, y);\n\n log('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n log('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) addUserSelectStyles();\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.setState({\n dragging: true,\n\n lastX: x,\n lastY: y\n });\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n addEvent(document, dragEventFor.move, this.handleDrag);\n addEvent(document, dragEventFor.stop, this.handleDragStop);\n };\n\n handleDrag: EventHandler = (e) => {\n\n // Get the current drag point from the event. This is used as the offset.\n const position = getControlPosition(e, this.state.touchIdentifier, this);\n if (position == null) return;\n let {x, y} = position;\n\n // Snap to grid if prop has been provided\n if (x !== x) debugger;\n\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.state.lastX, deltaY = y - this.state.lastY;\n [deltaX, deltaY] = snapToGrid(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.state.lastX + deltaX, y = this.state.lastY + deltaY;\n }\n\n const coreEvent = createCoreData(this, x, y);\n\n log('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false) {\n this.handleDragStop(new MouseEvent());\n return;\n }\n\n this.setState({\n lastX: x,\n lastY: y\n });\n };\n\n handleDragStop: EventHandler = (e) => {\n if (!this.state.dragging) return;\n\n const position = getControlPosition(e, this.state.touchIdentifier, this);\n if (position == null) return;\n const {x, y} = position;\n const coreEvent = createCoreData(this, x, y);\n\n // Remove user-select hack\n if (this.props.enableUserSelectHack) removeUserSelectStyles();\n\n log('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.setState({\n dragging: false,\n lastX: NaN,\n lastY: NaN\n });\n\n // Call event handler\n this.props.onStop(e, coreEvent);\n\n // Remove event handlers\n log('DraggableCore: Removing handlers');\n removeEvent(document, dragEventFor.move, this.handleDrag);\n removeEvent(document, dragEventFor.stop, this.handleDragStop);\n };\n\n onMouseDown: EventHandler = (e) => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n };\n\n onMouseUp: EventHandler = (e) => {\n dragEventFor = eventsFor.mouse;\n\n return this.handleDragStop(e);\n };\n\n // Same as onMouseDown (start drag), but now consider this a touch device.\n onTouchStart: EventHandler = (e) => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n\n return this.handleDragStart(e);\n };\n\n onTouchEnd: EventHandler = (e) => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n\n return this.handleDragStop(e);\n };\n\n render(): React.Element {\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return React.cloneElement(React.Children.only(this.props.children), {\n style: styleHacks(this.props.children.props.style),\n\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onTouchStart: this.onTouchStart,\n onMouseUp: this.onMouseUp,\n onTouchEnd: this.onTouchEnd\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/DraggableCore.es6\n **/","// @flow\n/*eslint no-console:0*/\nexport default function log(...args: any) {\n if (process.env.DRAGGABLE_DEBUG) console.log(...args);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/log.es6\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["../webpack/universalModuleDefinition","../webpack/bootstrap b668cf52fd8889146cd5",".././index.js",".././lib/Draggable.es6","../external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","../external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}",".././~/classnames/index.js",".././lib/utils/domFns.es6",".././lib/utils/shims.es6",".././lib/utils/getPrefix.es6",".././lib/utils/positionFns.es6",".././lib/DraggableCore.es6",".././lib/utils/log.es6"],"names":[],"mappings":"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","file":"./dist/react-draggable.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactDraggable\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"ReactDraggable\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {\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\n/** WEBPACK FOOTER **\n ** webpack/bootstrap b668cf52fd8889146cd5\n **/","module.exports = require('./lib/Draggable').default;\nmodule.exports.DraggableCore = require('./lib/DraggableCore').default;\n\n\n\n/** WEBPACK FOOTER **\n ** ./index.js\n **/","// @flow\nimport React, {PropTypes} from 'react';\nimport ReactDOM from 'react-dom';\n// $FlowIgnore\nimport classNames from 'classnames';\nimport {createCSSTransform, createSVGTransform} from './utils/domFns';\nimport {canDragX, canDragY, createDraggableData, getBoundPosition} from './utils/positionFns';\nimport {dontSetMe} from './utils/shims';\nimport DraggableCore from './DraggableCore';\nimport log from './utils/log';\nimport type {DraggableEventHandler} from './utils/types';\n\ntype DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean\n};\n\ntype ConstructorProps = {\n position: { x: number, y: number },\n defaultPosition: { x: number, y: number }\n}\n\n//\n// Define \n//\n\nexport default class Draggable extends React.Component {\n\n static displayName = 'Draggable';\n\n static propTypes = {\n // Accepts all props accepts.\n ...DraggableCore.propTypes,\n\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: PropTypes.oneOf(['both', 'x', 'y', 'none']),\n\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
Content
\n *
\n * );\n * }\n * });\n * ```\n */\n bounds: PropTypes.oneOfType([\n PropTypes.shape({\n left: PropTypes.number,\n right: PropTypes.number,\n top: PropTypes.number,\n bottom: PropTypes.number\n }),\n PropTypes.string,\n PropTypes.oneOf([false])\n ]),\n\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number\n }),\n\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number\n }),\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: dontSetMe,\n style: dontSetMe,\n transform: dontSetMe\n };\n\n static defaultProps = {\n ...DraggableCore.defaultProps,\n axis: 'both',\n bounds: false,\n defaultPosition: {x: 0, y: 0},\n position: null\n };\n\n state: DraggableState;\n\n constructor(props: ConstructorProps) {\n super(props);\n\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n\n // Whether or not we have been dragged before.\n dragged: false,\n\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n\n // Used for compensating for out-of-bounds drags\n slackX: 0, slackY: 0,\n\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n };\n\n componentWillMount() {\n if (this.props.position && !(this.props.onDrag || this.props.onStop)) {\n // eslint-disable-next-line\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' +\n 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' +\n '`position` of this element.');\n }\n }\n\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if(typeof global.SVGElement !== 'undefined' && ReactDOM.findDOMNode(this) instanceof global.SVGElement) {\n this.setState({ isElementSVG: true });\n }\n }\n\n componentWillReceiveProps(nextProps: Object) {\n // Set x/y if position has changed\n if (nextProps.position &&\n (!this.props.position ||\n nextProps.position.x !== this.props.position.x ||\n nextProps.position.y !== this.props.position.y\n )\n ) {\n this.setState({ x: nextProps.position.x, y: nextProps.position.y });\n }\n }\n\n componentWillUnmount() {\n this.setState({dragging: false}); // prevents invariant if unmounted while dragging\n }\n\n onDragStart: DraggableEventHandler = (e, coreData) => {\n log('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, createDraggableData(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n\n this.setState({dragging: true, dragged: true});\n };\n\n onDrag: DraggableEventHandler = (e, coreData) => {\n if (!this.state.dragging) return false;\n log('Draggable: onDrag: %j', coreData);\n\n const uiData = createDraggableData(this, coreData);\n\n const newState: $Shape = {\n x: uiData.x,\n y: uiData.y\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {x, y} = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n // $FlowBug\n [newState.x, newState.y] = getBoundPosition(this, newState.x, newState.y);\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = x;\n uiData.y = y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n\n this.setState(newState);\n };\n\n onDragStop: DraggableEventHandler = (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldStop = this.props.onStop(e, createDraggableData(this, coreData));\n if (shouldStop === false) return false;\n\n log('Draggable: onDragStop: %j', coreData);\n\n const newState: $Shape = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {x, y} = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n\n this.setState(newState);\n };\n\n render(): React.Element {\n let style = {}, svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(this.props.position);\n const draggable = !controlled || this.state.dragging;\n\n const position = this.props.position || this.props.defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: canDragX(this) && draggable ?\n this.state.x :\n position.x,\n\n // Set top if vertical drag is enabled\n y: canDragY(this) && draggable ?\n this.state.y :\n position.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = createSVGTransform(transformOpts);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = createCSSTransform(transformOpts);\n }\n\n // Mark with class while dragging\n const className = classNames((this.props.children.props.className || ''), 'react-draggable', {\n 'react-draggable-dragging': this.state.dragging,\n 'react-draggable-dragged': this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return (\n \n {React.cloneElement(React.Children.only(this.props.children), {\n className: className,\n style: {...this.props.children.props.style, ...style},\n transform: svgTransform\n })}\n \n );\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/Draggable.es6\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}\n ** module id = 3\n ** module chunks = 0\n **/","/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/classnames/index.js\n ** module id = 4\n ** module chunks = 0\n **/","// @flow\nimport {findInArray, isFunction, int} from './shims';\nimport browserPrefix, {getPrefix, browserPrefixToStyle, browserPrefixToKey} from './getPrefix';\n\nimport type {ControlPosition} from './types';\n\nlet matchesSelectorFunc = '';\nexport function matchesSelector(el: Node, selector: string): boolean {\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = findInArray([\n 'matches',\n 'webkitMatchesSelector',\n 'mozMatchesSelector',\n 'msMatchesSelector',\n 'oMatchesSelector'\n ], function(method){\n // $FlowIgnore: Doesn't think elements are indexable\n return isFunction(el[method]);\n });\n }\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc].call(el, selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nexport function matchesSelectorAndParentsTo(el: Node, selector: string, baseNode: Node): boolean {\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n node = node.parentNode;\n } while (node);\n\n return false;\n}\n\nexport function addEvent(el: ?Node, event: string, handler: Function): void {\n if (!el) { return; }\n if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else if (el.addEventListener) {\n el.addEventListener(event, handler, true);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\n\nexport function removeEvent(el: ?Node, event: string, handler: Function): void {\n if (!el) { return; }\n if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else if (el.removeEventListener) {\n el.removeEventListener(event, handler, true);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\n\nexport function outerHeight(node: HTMLElement): number {\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = window.getComputedStyle(node);\n height += int(computedStyle.borderTopWidth);\n height += int(computedStyle.borderBottomWidth);\n return height;\n}\n\nexport function outerWidth(node: HTMLElement): number {\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = window.getComputedStyle(node);\n width += int(computedStyle.borderLeftWidth);\n width += int(computedStyle.borderRightWidth);\n return width;\n}\nexport function innerHeight(node: HTMLElement): number {\n let height = node.clientHeight;\n const computedStyle = window.getComputedStyle(node);\n height -= int(computedStyle.paddingTop);\n height -= int(computedStyle.paddingBottom);\n return height;\n}\n\nexport function innerWidth(node: HTMLElement): number {\n let width = node.clientWidth;\n const computedStyle = window.getComputedStyle(node);\n width -= int(computedStyle.paddingLeft);\n width -= int(computedStyle.paddingRight);\n return width;\n}\n\n// Get from offsetParent\nexport function offsetXYFromParentOf(evt: {clientX: number, clientY: number}, node: HTMLElement & {offsetParent: HTMLElement}): ControlPosition {\n const offsetParent = node.offsetParent || document.body;\n const offsetParentRect = node.offsetParent === document.body ? {left: 0, top: 0} : offsetParent.getBoundingClientRect();\n\n const x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left;\n const y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top;\n\n return {x, y};\n}\n\nexport function createCSSTransform({x, y}: {x: number, y: number}): Object {\n // Replace unitless items with px\n return {[browserPrefixToKey('transform', browserPrefix)]: 'translate(' + x + 'px,' + y + 'px)'};\n}\n\nexport function createSVGTransform({x, y}: {x: number, y: number}): string {\n return 'translate(' + x + ',' + y + ')';\n}\n\nexport function getTouch(e: MouseEvent, identifier: number): ?{clientX: number, clientY: number} {\n return (e.targetTouches && findInArray(e.targetTouches, t => identifier === t.identifier)) ||\n (e.changedTouches && findInArray(e.changedTouches, t => identifier === t.identifier));\n}\n\nexport function getTouchIdentifier(e: MouseEvent): ?number {\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\nconst userSelectPrefix = getPrefix('user-select');\nconst userSelect = browserPrefixToStyle('user-select', userSelectPrefix);\nconst userSelectStyle = `;${userSelect}: none;`;\n\nexport function addUserSelectStyles() {\n const style = document.body.getAttribute('style') || '';\n document.body.setAttribute('style', style + userSelectStyle);\n}\n\nexport function removeUserSelectStyles() {\n const style = document.body.getAttribute('style') || '';\n document.body.setAttribute('style', style.replace(userSelectStyle, ''));\n}\n\nexport function styleHacks(childStyle: Object = {}): Object {\n // Workaround IE pointer events; see #51\n // https://github.com/mzabriskie/react-draggable/issues/51#issuecomment-103488278\n return {\n touchAction: 'none',\n ...childStyle\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/domFns.es6\n **/","// @flow\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nexport function findInArray(array: Array, callback: Function): any {\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\n\nexport function isFunction(func: any): boolean {\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\n\nexport function isNum(num: any): boolean {\n return typeof num === 'number' && !isNaN(num);\n}\n\nexport function int(a: string): number {\n return parseInt(a, 10);\n}\n\nexport function dontSetMe(props: Object, propName: string, componentName: string) {\n if (props[propName]) {\n return new Error(`Invalid prop ${propName} passed to ${componentName} - do not set this, set it on the child.`);\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/shims.es6\n **/","// @flow\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nexport function getPrefix(prop: string='transform'): string {\n // Checking specifically for 'window.document' is for pseudo-browser server-side\n // environments that define 'window' as the global context.\n // E.g. React-rails (see https://github.com/reactjs/react-rails/pull/84)\n if (typeof window === 'undefined' || typeof window.document === 'undefined') return '';\n\n const style = window.document.documentElement.style;\n\n if (prop in style) return '';\n\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n\n return '';\n}\n\nexport function browserPrefixToKey(prop: string, prefix: string): string {\n return prefix ? `${prefix}${kebabToTitleCase(prop)}` : prop;\n}\n\nexport function browserPrefixToStyle(prop: string, prefix: string): string {\n return prefix ? `-${prefix.toLowerCase()}-${prop}` : prop;\n}\n\nfunction kebabToTitleCase(str: string): string {\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nexport default getPrefix();\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/getPrefix.es6\n **/","// @flow\nimport {isNum, int} from './shims';\nimport ReactDOM from 'react-dom';\nimport {getTouch, innerWidth, innerHeight, offsetXYFromParentOf, outerWidth, outerHeight} from './domFns';\n\nimport type Draggable from '../Draggable';\nimport type {Bounds, ControlPosition, DraggableData} from './types';\nimport type DraggableCore from '../DraggableCore';\n\nexport function getBoundPosition(draggable: Draggable, x: number, y: number): [number, number] {\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {bounds} = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = ReactDOM.findDOMNode(draggable);\n\n if (typeof bounds === 'string') {\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = document.querySelector(bounds);\n if (!boundNode) throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const nodeStyle = window.getComputedStyle(node);\n const boundNodeStyle = window.getComputedStyle(boundNode);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + int(boundNodeStyle.paddingLeft) +\n int(nodeStyle.borderLeftWidth) + int(nodeStyle.marginLeft),\n top: -node.offsetTop + int(boundNodeStyle.paddingTop) +\n int(nodeStyle.borderTopWidth) + int(nodeStyle.marginTop),\n right: innerWidth(boundNode) - outerWidth(node) - node.offsetLeft,\n bottom: innerHeight(boundNode) - outerHeight(node) - node.offsetTop\n };\n }\n\n // Keep x and y below right and bottom limits...\n if (isNum(bounds.right)) x = Math.min(x, bounds.right);\n if (isNum(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if (isNum(bounds.left)) x = Math.max(x, bounds.left);\n if (isNum(bounds.top)) y = Math.max(y, bounds.top);\n\n return [x, y];\n}\n\nexport function snapToGrid(grid: [number, number], pendingX: number, pendingY: number): [number, number] {\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\n\nexport function canDragX(draggable: Draggable): boolean {\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\n\nexport function canDragY(draggable: Draggable): boolean {\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nexport function getControlPosition(e: MouseEvent, touchIdentifier: ?number, draggableCore: DraggableCore): ?ControlPosition {\n const touchObj = typeof touchIdentifier === 'number' ? getTouch(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n return offsetXYFromParentOf(touchObj || e, ReactDOM.findDOMNode(draggableCore));\n}\n\n// Create an data object exposed by 's events\nexport function createCoreData(draggable: DraggableCore, x: number, y: number): DraggableData {\n // State changes are often (but not always!) async. We want the latest value.\n const state = draggable._pendingState || draggable.state;\n const isStart = !isNum(state.lastX);\n\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node: ReactDOM.findDOMNode(draggable),\n deltaX: 0, deltaY: 0,\n lastX: x, lastY: y,\n x: x, y: y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node: ReactDOM.findDOMNode(draggable),\n deltaX: x - state.lastX, deltaY: y - state.lastY,\n lastX: state.lastX, lastY: state.lastY,\n x: x, y: y\n };\n }\n}\n\n// Create an data exposed by 's events\nexport function createDraggableData(draggable: Draggable, coreData: DraggableData): DraggableData {\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX,\n y: draggable.state.y + coreData.deltaY,\n deltaX: coreData.deltaX,\n deltaY: coreData.deltaY,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds: Bounds): Bounds {\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/positionFns.es6\n **/","// @flow\nimport React, {PropTypes} from 'react';\nimport ReactDOM from 'react-dom';\nimport {matchesSelectorAndParentsTo, addEvent, removeEvent, addUserSelectStyles, getTouchIdentifier,\n removeUserSelectStyles, styleHacks} from './utils/domFns';\nimport {createCoreData, getControlPosition, snapToGrid} from './utils/positionFns';\nimport {dontSetMe} from './utils/shims';\nimport log from './utils/log';\n\nimport type {EventHandler} from './utils/types';\n\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n\ntype CoreState = {\n dragging: boolean,\n lastX: number,\n lastY: number,\n touchIdentifier: ?number\n};\n\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nexport default class DraggableCore extends React.Component {\n\n static displayName = 'DraggableCore';\n\n static propTypes = {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: PropTypes.bool,\n\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: PropTypes.bool,\n\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: PropTypes.bool,\n\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: PropTypes.arrayOf(PropTypes.number),\n\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: PropTypes.string,\n\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: PropTypes.string,\n\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: PropTypes.func,\n\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: PropTypes.func,\n\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: PropTypes.func,\n\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: PropTypes.func,\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: dontSetMe,\n style: dontSetMe,\n transform: dontSetMe\n };\n\n static defaultProps = {\n allowAnyClick: false, // by default only accept left click\n cancel: null,\n disabled: false,\n enableUserSelectHack: true,\n handle: null,\n grid: null,\n transform: null,\n onStart: function(){},\n onDrag: function(){},\n onStop: function(){},\n onMouseDown: function(){}\n };\n\n state: CoreState = {\n dragging: false,\n // Used while dragging to determine deltas.\n lastX: NaN, lastY: NaN,\n touchIdentifier: null\n };\n\n componentWillUnmount() {\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n removeEvent(document, eventsFor.mouse.move, this.handleDrag);\n removeEvent(document, eventsFor.touch.move, this.handleDrag);\n removeEvent(document, eventsFor.mouse.stop, this.handleDragStop);\n removeEvent(document, eventsFor.touch.stop, this.handleDragStop);\n if (this.props.enableUserSelectHack) removeUserSelectStyles();\n }\n\n handleDragStart: EventHandler = (e) => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled ||\n (!(e.target instanceof Node)) ||\n (this.props.handle && !matchesSelectorAndParentsTo(e.target, this.props.handle, ReactDOM.findDOMNode(this))) ||\n (this.props.cancel && matchesSelectorAndParentsTo(e.target, this.props.cancel, ReactDOM.findDOMNode(this)))) {\n return;\n }\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = getTouchIdentifier(e);\n this.setState({touchIdentifier});\n\n // Get the current drag point from the event. This is used as the offset.\n const position = getControlPosition(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {x, y} = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = createCoreData(this, x, y);\n\n log('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n log('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) addUserSelectStyles();\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.setState({\n dragging: true,\n\n lastX: x,\n lastY: y\n });\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n addEvent(document, dragEventFor.move, this.handleDrag);\n addEvent(document, dragEventFor.stop, this.handleDragStop);\n };\n\n handleDrag: EventHandler = (e) => {\n\n // Get the current drag point from the event. This is used as the offset.\n const position = getControlPosition(e, this.state.touchIdentifier, this);\n if (position == null) return;\n let {x, y} = position;\n\n // Snap to grid if prop has been provided\n if (x !== x) debugger;\n\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.state.lastX, deltaY = y - this.state.lastY;\n [deltaX, deltaY] = snapToGrid(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.state.lastX + deltaX, y = this.state.lastY + deltaY;\n }\n\n const coreEvent = createCoreData(this, x, y);\n\n log('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false) {\n try {\n this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n const event = document.createEvent('MouseEvents');\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n // $FlowIgnore\n this.handleDragStop(event);\n }\n return;\n }\n\n this.setState({\n lastX: x,\n lastY: y\n });\n };\n\n handleDragStop: EventHandler = (e) => {\n if (!this.state.dragging) return;\n\n const position = getControlPosition(e, this.state.touchIdentifier, this);\n if (position == null) return;\n const {x, y} = position;\n const coreEvent = createCoreData(this, x, y);\n\n // Remove user-select hack\n if (this.props.enableUserSelectHack) removeUserSelectStyles();\n\n log('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.setState({\n dragging: false,\n lastX: NaN,\n lastY: NaN\n });\n\n // Call event handler\n this.props.onStop(e, coreEvent);\n\n // Remove event handlers\n log('DraggableCore: Removing handlers');\n removeEvent(document, dragEventFor.move, this.handleDrag);\n removeEvent(document, dragEventFor.stop, this.handleDragStop);\n };\n\n onMouseDown: EventHandler = (e) => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n };\n\n onMouseUp: EventHandler = (e) => {\n dragEventFor = eventsFor.mouse;\n\n return this.handleDragStop(e);\n };\n\n // Same as onMouseDown (start drag), but now consider this a touch device.\n onTouchStart: EventHandler = (e) => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n\n return this.handleDragStart(e);\n };\n\n onTouchEnd: EventHandler = (e) => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n\n return this.handleDragStop(e);\n };\n\n render(): React.Element {\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return React.cloneElement(React.Children.only(this.props.children), {\n style: styleHacks(this.props.children.props.style),\n\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onTouchStart: this.onTouchStart,\n onMouseUp: this.onMouseUp,\n onTouchEnd: this.onTouchEnd\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/DraggableCore.es6\n **/","// @flow\n/*eslint no-console:0*/\nexport default function log(...args: any) {\n if (process.env.DRAGGABLE_DEBUG) console.log(...args);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/utils/log.es6\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/react-draggable.min.js b/dist/react-draggable.min.js index d85025c6..656334b8 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"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],factory):"object"==typeof exports?exports.ReactDraggable=factory(require("react"),require("react-dom")):root.ReactDraggable=factory(root.React,root.ReactDOM)}(this,function(__WEBPACK_EXTERNAL_MODULE_2__,__WEBPACK_EXTERNAL_MODULE_3__){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__){"use strict";module.exports=__webpack_require__(1)["default"],module.exports.DraggableCore=__webpack_require__(9)["default"]},function(module,exports,__webpack_require__){(function(global){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}},{key:"componentDidMount",value:function(){"undefined"!=typeof global.SVGElement&&_reactDom2["default"].findDOMNode(this)instanceof global.SVGElement&&this.setState({isElementSVG:!0})}},{key:"componentWillReceiveProps",value:function(nextProps){!nextProps.position||this.props.position&&nextProps.position.x===this.props.position.x&&nextProps.position.y===this.props.position.y||this.setState({x:nextProps.position.x,y:nextProps.position.y})}},{key:"componentWillUnmount",value:function(){this.setState({dragging:!1})}},{key:"render",value:function(){var style={},svgTransform=null,controlled=Boolean(this.props.position),draggable=!controlled||this.state.dragging,position=this.props.position||this.props.defaultPosition,transformOpts={x:(0,_positionFns.canDragX)(this)&&draggable?this.state.x:position.x,y:(0,_positionFns.canDragY)(this)&&draggable?this.state.y:position.y};this.state.isElementSVG?svgTransform=(0,_domFns.createSVGTransform)(transformOpts):style=(0,_domFns.createCSSTransform)(transformOpts);var className=(0,_classnames2["default"])(this.props.children.props.className||"","react-draggable",{"react-draggable-dragging":this.state.dragging,"react-draggable-dragged":this.state.dragged});return _react2["default"].createElement(_DraggableCore2["default"],_extends({},this.props,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),_react2["default"].cloneElement(_react2["default"].Children.only(this.props.children),{className:className,style:_extends({},this.props.children.props.style,style),transform:svgTransform}))}}]),Draggable}(_react2["default"].Component);Draggable.displayName="Draggable",Draggable.propTypes=_extends({},_DraggableCore2["default"].propTypes,{axis:_react.PropTypes.oneOf(["both","x","y","none"]),bounds:_react.PropTypes.oneOfType([_react.PropTypes.shape({left:_react.PropTypes.number,right:_react.PropTypes.number,top:_react.PropTypes.number,bottom:_react.PropTypes.number}),_react.PropTypes.string,_react.PropTypes.oneOf([!1])]),defaultPosition:_react.PropTypes.shape({x:_react.PropTypes.number,y:_react.PropTypes.number}),position:_react.PropTypes.shape({x:_react.PropTypes.number,y:_react.PropTypes.number}),className:_shims.dontSetMe,style:_shims.dontSetMe,transform:_shims.dontSetMe}),Draggable.defaultProps=_extends({},_DraggableCore2["default"].defaultProps,{axis:"both",bounds:!1,defaultPosition:{x:0,y:0},position:null}),exports["default"]=Draggable}).call(exports,function(){return this}())},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_2__},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_3__},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";function classNames(){for(var classes=[],i=0;ii;i++)if(callback.apply(callback,[array[i],i,array]))return array[i]}function isFunction(func){return"function"==typeof func||"[object Function]"===Object.prototype.toString.call(func)}function isNum(num){return"number"==typeof num&&!isNaN(num)}function int(a){return parseInt(a,10)}function dontSetMe(props,propName,componentName){return props[propName]?new Error("Invalid prop "+propName+" passed to "+componentName+" - do not set this, set it on the child."):void 0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.findInArray=findInArray,exports.isFunction=isFunction,exports.isNum=isNum,exports["int"]=int,exports.dontSetMe=dontSetMe},function(module,exports){"use strict";function getPrefix(){var prop=arguments.length<=0||void 0===arguments[0]?"transform":arguments[0];if("undefined"==typeof window||"undefined"==typeof window.document)return"";var style=window.document.documentElement.style;if(prop in style)return"";for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(DraggableCore)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={dragging:!1,lastX:NaN,lastY:NaN,touchIdentifier:null},_this.handleDragStart=function(e){if(_this.props.onMouseDown(e),!_this.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;if(!(_this.props.disabled||!(e.target instanceof Node)||_this.props.handle&&!(0,_domFns.matchesSelectorAndParentsTo)(e.target,_this.props.handle,_reactDom2["default"].findDOMNode(_this))||_this.props.cancel&&(0,_domFns.matchesSelectorAndParentsTo)(e.target,_this.props.cancel,_reactDom2["default"].findDOMNode(_this)))){var touchIdentifier=(0,_domFns.getTouchIdentifier)(e);_this.setState({touchIdentifier:touchIdentifier});var position=(0,_positionFns.getControlPosition)(e,touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y,coreEvent=(0,_positionFns.createCoreData)(_this,x,y);(0,_log2["default"])("DraggableCore: handleDragStart: %j",coreEvent),(0,_log2["default"])("calling",_this.props.onStart);var shouldUpdate=_this.props.onStart(e,coreEvent);shouldUpdate!==!1&&(_this.props.enableUserSelectHack&&(0,_domFns.addUserSelectStyles)(),_this.setState({dragging:!0,lastX:x,lastY:y}),(0,_domFns.addEvent)(document,dragEventFor.move,_this.handleDrag),(0,_domFns.addEvent)(document,dragEventFor.stop,_this.handleDragStop))}}},_this.handleDrag=function(e){var position=(0,_positionFns.getControlPosition)(e,_this.state.touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y;if(Array.isArray(_this.props.grid)){var deltaX=x-_this.state.lastX,deltaY=y-_this.state.lastY,_snapToGrid=(0,_positionFns.snapToGrid)(_this.props.grid,deltaX,deltaY),_snapToGrid2=_slicedToArray(_snapToGrid,2);if(deltaX=_snapToGrid2[0],deltaY=_snapToGrid2[1],!deltaX&&!deltaY)return;x=_this.state.lastX+deltaX,y=_this.state.lastY+deltaY}var coreEvent=(0,_positionFns.createCoreData)(_this,x,y);(0,_log2["default"])("DraggableCore: handleDrag: %j",coreEvent);var shouldUpdate=_this.props.onDrag(e,coreEvent);return shouldUpdate===!1?void _this.handleDragStop(new MouseEvent):void _this.setState({lastX:x,lastY:y})}},_this.handleDragStop=function(e){if(_this.state.dragging){var position=(0,_positionFns.getControlPosition)(e,_this.state.touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y,coreEvent=(0,_positionFns.createCoreData)(_this,x,y);_this.props.enableUserSelectHack&&(0,_domFns.removeUserSelectStyles)(),(0,_log2["default"])("DraggableCore: handleDragStop: %j",coreEvent),_this.setState({dragging:!1,lastX:NaN,lastY:NaN}),_this.props.onStop(e,coreEvent),(0,_log2["default"])("DraggableCore: Removing handlers"),(0,_domFns.removeEvent)(document,dragEventFor.move,_this.handleDrag),(0,_domFns.removeEvent)(document,dragEventFor.stop,_this.handleDragStop)}}},_this.onMouseDown=function(e){return dragEventFor=eventsFor.mouse,_this.handleDragStart(e)},_this.onMouseUp=function(e){return dragEventFor=eventsFor.mouse,_this.handleDragStop(e)},_this.onTouchStart=function(e){return dragEventFor=eventsFor.touch,_this.handleDragStart(e)},_this.onTouchEnd=function(e){return dragEventFor=eventsFor.touch,_this.handleDragStop(e)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(DraggableCore,_React$Component),_createClass(DraggableCore,[{key:"componentWillUnmount",value:function(){(0,_domFns.removeEvent)(document,eventsFor.mouse.move,this.handleDrag),(0,_domFns.removeEvent)(document,eventsFor.touch.move,this.handleDrag),(0,_domFns.removeEvent)(document,eventsFor.mouse.stop,this.handleDragStop),(0,_domFns.removeEvent)(document,eventsFor.touch.stop,this.handleDragStop),this.props.enableUserSelectHack&&(0,_domFns.removeUserSelectStyles)()}},{key:"render",value:function(){return _react2["default"].cloneElement(_react2["default"].Children.only(this.props.children),{style:(0,_domFns.styleHacks)(this.props.children.props.style),onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}]),DraggableCore}(_react2["default"].Component);DraggableCore.displayName="DraggableCore",DraggableCore.propTypes={allowAnyClick:_react.PropTypes.bool,disabled:_react.PropTypes.bool,enableUserSelectHack:_react.PropTypes.bool,grid:_react.PropTypes.arrayOf(_react.PropTypes.number),handle:_react.PropTypes.string,cancel:_react.PropTypes.string,onStart:_react.PropTypes.func,onDrag:_react.PropTypes.func,onStop:_react.PropTypes.func,onMouseDown:_react.PropTypes.func,className:_shims.dontSetMe,style:_shims.dontSetMe,transform:_shims.dontSetMe},DraggableCore.defaultProps={allowAnyClick:!1,cancel:null,disabled:!1,enableUserSelectHack:!0,handle:null,grid:null,transform:null,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){}},exports["default"]=DraggableCore},function(module,exports,__webpack_require__){"use strict";function log(){}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=log}])}); +!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],factory):"object"==typeof exports?exports.ReactDraggable=factory(require("react"),require("react-dom")):root.ReactDraggable=factory(root.React,root.ReactDOM)}(this,function(__WEBPACK_EXTERNAL_MODULE_2__,__WEBPACK_EXTERNAL_MODULE_3__){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__){"use strict";module.exports=__webpack_require__(1)["default"],module.exports.DraggableCore=__webpack_require__(9)["default"]},function(module,exports,__webpack_require__){(function(global){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}},{key:"componentDidMount",value:function(){"undefined"!=typeof global.SVGElement&&_reactDom2["default"].findDOMNode(this)instanceof global.SVGElement&&this.setState({isElementSVG:!0})}},{key:"componentWillReceiveProps",value:function(nextProps){!nextProps.position||this.props.position&&nextProps.position.x===this.props.position.x&&nextProps.position.y===this.props.position.y||this.setState({x:nextProps.position.x,y:nextProps.position.y})}},{key:"componentWillUnmount",value:function(){this.setState({dragging:!1})}},{key:"render",value:function(){var style={},svgTransform=null,controlled=Boolean(this.props.position),draggable=!controlled||this.state.dragging,position=this.props.position||this.props.defaultPosition,transformOpts={x:(0,_positionFns.canDragX)(this)&&draggable?this.state.x:position.x,y:(0,_positionFns.canDragY)(this)&&draggable?this.state.y:position.y};this.state.isElementSVG?svgTransform=(0,_domFns.createSVGTransform)(transformOpts):style=(0,_domFns.createCSSTransform)(transformOpts);var className=(0,_classnames2["default"])(this.props.children.props.className||"","react-draggable",{"react-draggable-dragging":this.state.dragging,"react-draggable-dragged":this.state.dragged});return _react2["default"].createElement(_DraggableCore2["default"],_extends({},this.props,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),_react2["default"].cloneElement(_react2["default"].Children.only(this.props.children),{className:className,style:_extends({},this.props.children.props.style,style),transform:svgTransform}))}}]),Draggable}(_react2["default"].Component);Draggable.displayName="Draggable",Draggable.propTypes=_extends({},_DraggableCore2["default"].propTypes,{axis:_react.PropTypes.oneOf(["both","x","y","none"]),bounds:_react.PropTypes.oneOfType([_react.PropTypes.shape({left:_react.PropTypes.number,right:_react.PropTypes.number,top:_react.PropTypes.number,bottom:_react.PropTypes.number}),_react.PropTypes.string,_react.PropTypes.oneOf([!1])]),defaultPosition:_react.PropTypes.shape({x:_react.PropTypes.number,y:_react.PropTypes.number}),position:_react.PropTypes.shape({x:_react.PropTypes.number,y:_react.PropTypes.number}),className:_shims.dontSetMe,style:_shims.dontSetMe,transform:_shims.dontSetMe}),Draggable.defaultProps=_extends({},_DraggableCore2["default"].defaultProps,{axis:"both",bounds:!1,defaultPosition:{x:0,y:0},position:null}),exports["default"]=Draggable}).call(exports,function(){return this}())},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_2__},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_3__},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";function classNames(){for(var classes=[],i=0;ii;i++)if(callback.apply(callback,[array[i],i,array]))return array[i]}function isFunction(func){return"function"==typeof func||"[object Function]"===Object.prototype.toString.call(func)}function isNum(num){return"number"==typeof num&&!isNaN(num)}function int(a){return parseInt(a,10)}function dontSetMe(props,propName,componentName){return props[propName]?new Error("Invalid prop "+propName+" passed to "+componentName+" - do not set this, set it on the child."):void 0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.findInArray=findInArray,exports.isFunction=isFunction,exports.isNum=isNum,exports["int"]=int,exports.dontSetMe=dontSetMe},function(module,exports){"use strict";function getPrefix(){var prop=arguments.length<=0||void 0===arguments[0]?"transform":arguments[0];if("undefined"==typeof window||"undefined"==typeof window.document)return"";var style=window.document.documentElement.style;if(prop in style)return"";for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(DraggableCore)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={dragging:!1,lastX:NaN,lastY:NaN,touchIdentifier:null},_this.handleDragStart=function(e){if(_this.props.onMouseDown(e),!_this.props.allowAnyClick&&"number"==typeof e.button&&0!==e.button)return!1;if(!(_this.props.disabled||!(e.target instanceof Node)||_this.props.handle&&!(0,_domFns.matchesSelectorAndParentsTo)(e.target,_this.props.handle,_reactDom2["default"].findDOMNode(_this))||_this.props.cancel&&(0,_domFns.matchesSelectorAndParentsTo)(e.target,_this.props.cancel,_reactDom2["default"].findDOMNode(_this)))){var touchIdentifier=(0,_domFns.getTouchIdentifier)(e);_this.setState({touchIdentifier:touchIdentifier});var position=(0,_positionFns.getControlPosition)(e,touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y,coreEvent=(0,_positionFns.createCoreData)(_this,x,y);(0,_log2["default"])("DraggableCore: handleDragStart: %j",coreEvent),(0,_log2["default"])("calling",_this.props.onStart);var shouldUpdate=_this.props.onStart(e,coreEvent);shouldUpdate!==!1&&(_this.props.enableUserSelectHack&&(0,_domFns.addUserSelectStyles)(),_this.setState({dragging:!0,lastX:x,lastY:y}),(0,_domFns.addEvent)(document,dragEventFor.move,_this.handleDrag),(0,_domFns.addEvent)(document,dragEventFor.stop,_this.handleDragStop))}}},_this.handleDrag=function(e){var position=(0,_positionFns.getControlPosition)(e,_this.state.touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y;if(Array.isArray(_this.props.grid)){var deltaX=x-_this.state.lastX,deltaY=y-_this.state.lastY,_snapToGrid=(0,_positionFns.snapToGrid)(_this.props.grid,deltaX,deltaY),_snapToGrid2=_slicedToArray(_snapToGrid,2);if(deltaX=_snapToGrid2[0],deltaY=_snapToGrid2[1],!deltaX&&!deltaY)return;x=_this.state.lastX+deltaX,y=_this.state.lastY+deltaY}var coreEvent=(0,_positionFns.createCoreData)(_this,x,y);(0,_log2["default"])("DraggableCore: handleDrag: %j",coreEvent);var shouldUpdate=_this.props.onDrag(e,coreEvent);if(shouldUpdate!==!1)_this.setState({lastX:x,lastY:y});else try{_this.handleDragStop(new MouseEvent("mouseup"))}catch(err){var event=document.createEvent("MouseEvents");event.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),_this.handleDragStop(event)}}},_this.handleDragStop=function(e){if(_this.state.dragging){var position=(0,_positionFns.getControlPosition)(e,_this.state.touchIdentifier,_this);if(null!=position){var x=position.x,y=position.y,coreEvent=(0,_positionFns.createCoreData)(_this,x,y);_this.props.enableUserSelectHack&&(0,_domFns.removeUserSelectStyles)(),(0,_log2["default"])("DraggableCore: handleDragStop: %j",coreEvent),_this.setState({dragging:!1,lastX:NaN,lastY:NaN}),_this.props.onStop(e,coreEvent),(0,_log2["default"])("DraggableCore: Removing handlers"),(0,_domFns.removeEvent)(document,dragEventFor.move,_this.handleDrag),(0,_domFns.removeEvent)(document,dragEventFor.stop,_this.handleDragStop)}}},_this.onMouseDown=function(e){return dragEventFor=eventsFor.mouse,_this.handleDragStart(e)},_this.onMouseUp=function(e){return dragEventFor=eventsFor.mouse,_this.handleDragStop(e)},_this.onTouchStart=function(e){return dragEventFor=eventsFor.touch,_this.handleDragStart(e)},_this.onTouchEnd=function(e){return dragEventFor=eventsFor.touch,_this.handleDragStop(e)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(DraggableCore,_React$Component),_createClass(DraggableCore,[{key:"componentWillUnmount",value:function(){(0,_domFns.removeEvent)(document,eventsFor.mouse.move,this.handleDrag),(0,_domFns.removeEvent)(document,eventsFor.touch.move,this.handleDrag),(0,_domFns.removeEvent)(document,eventsFor.mouse.stop,this.handleDragStop),(0,_domFns.removeEvent)(document,eventsFor.touch.stop,this.handleDragStop),this.props.enableUserSelectHack&&(0,_domFns.removeUserSelectStyles)()}},{key:"render",value:function(){return _react2["default"].cloneElement(_react2["default"].Children.only(this.props.children),{style:(0,_domFns.styleHacks)(this.props.children.props.style),onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}}]),DraggableCore}(_react2["default"].Component);DraggableCore.displayName="DraggableCore",DraggableCore.propTypes={allowAnyClick:_react.PropTypes.bool,disabled:_react.PropTypes.bool,enableUserSelectHack:_react.PropTypes.bool,grid:_react.PropTypes.arrayOf(_react.PropTypes.number),handle:_react.PropTypes.string,cancel:_react.PropTypes.string,onStart:_react.PropTypes.func,onDrag:_react.PropTypes.func,onStop:_react.PropTypes.func,onMouseDown:_react.PropTypes.func,className:_shims.dontSetMe,style:_shims.dontSetMe,transform:_shims.dontSetMe},DraggableCore.defaultProps={allowAnyClick:!1,cancel:null,disabled:!1,enableUserSelectHack:!0,handle:null,grid:null,transform:null,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){}},exports["default"]=DraggableCore},function(module,exports,__webpack_require__){"use strict";function log(){}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=log}])}); //# sourceMappingURL=dist/react-draggable.min.js \ No newline at end of file diff --git a/dist/react-draggable.min.js.map b/dist/react-draggable.min.js.map index d49467e6..b26da8f7 100644 --- a/dist/react-draggable.min.js.map +++ b/dist/react-draggable.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../webpack/universalModuleDefinition","../webpack/bootstrap d9a89c2645926f6c4a0f","../index.js","../lib/Draggable.es6","../external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","../external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","../~/classnames/index.js","../lib/utils/domFns.es6","../lib/utils/shims.es6","../lib/utils/getPrefix.es6","../lib/utils/positionFns.es6","../lib/DraggableCore.es6","../lib/utils/log.es6"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_3__","__webpack_require__","moduleId","installedModules","id","loaded","modules","call","m","c","p","DraggableCore","_react","_reactDom","_classnames","_domFns","_positionFns","_shims","_DraggableCore","_log","Draggable","props","_classCallCheck","_this","_possibleConstructorReturn","Object","getPrototypeOf","onDragStart","e","coreData","_log2","shouldStart","onStart","createDraggableData","setState","dragging","dragged","onDrag","state","uiData","newState","x","y","bounds","_x","_y","slackX","slackY","_getBoundPosition","getBoundPosition","_getBoundPosition2","_slicedToArray","deltaX","deltaY","shouldUpdate","onDragStop","shouldStop","onStop","controlled","Boolean","position","_this$props$position","_x2","_y2","defaultPosition","isElementSVG","console","warn","global","SVGElement","_reactDom2","findDOMNode","nextProps","style","svgTransform","draggable","transformOpts","canDragX","canDragY","createSVGTransform","createCSSTransform","className","_classnames2","children","react-draggable-dragging","react-draggable-dragged","_react2","createElement","_DraggableCore2","_extends","cloneElement","Children","only","transform","Component","displayName","propTypes","axis","PropTypes","oneOf","oneOfType","shape","left","number","right","top","bottom","string","dontSetMe","defaultProps","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","apply","key","hasOwn","join","hasOwnProperty","undefined","matchesSelector","el","selector","matchesSelectorFunc","findInArray","method","isFunction","matchesSelectorAndParentsTo","baseNode","node","parentNode","addEvent","event","handler","attachEvent","addEventListener","removeEvent","detachEvent","removeEventListener","outerHeight","height","clientHeight","computedStyle","window","getComputedStyle","borderTopWidth","borderBottomWidth","outerWidth","width","clientWidth","borderLeftWidth","borderRightWidth","innerHeight","paddingTop","paddingBottom","innerWidth","paddingLeft","paddingRight","offsetXYFromParentOf","evt","offsetParent","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","_ref","_defineProperty","_getPrefix","browserPrefixToKey","_getPrefix2","_ref3","getTouch","identifier","targetTouches","t","changedTouches","getTouchIdentifier","addUserSelectStyles","getAttribute","setAttribute","userSelectStyle","removeUserSelectStyles","replace","styleHacks","childStyle","touchAction","userSelectPrefix","getPrefix","userSelect","browserPrefixToStyle","array","callback","func","prototype","toString","isNum","num","isNaN","int","a","parseInt","propName","componentName","Error","prop","documentElement","prefixes","prefix","kebabToTitleCase","toLowerCase","str","out","shouldCapitalize","toUpperCase","cloneBounds","boundNode","querySelector","nodeStyle","boundNodeStyle","offsetLeft","marginLeft","offsetTop","marginTop","Math","min","max","snapToGrid","grid","pendingX","pendingY","round","getControlPosition","touchIdentifier","draggableCore","touchObj","createCoreData","_pendingState","isStart","lastX","lastY","eventsFor","touch","start","move","stop","mouse","dragEventFor","NaN","handleDragStart","onMouseDown","allowAnyClick","button","disabled","target","Node","handle","cancel","coreEvent","enableUserSelectHack","handleDrag","handleDragStop","_snapToGrid","_snapToGrid2","MouseEvent","onMouseUp","onTouchStart","onTouchEnd","bool","arrayOf","log"],"mappings":"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","file":"dist/react-draggable.min.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["../webpack/universalModuleDefinition","../webpack/bootstrap b668cf52fd8889146cd5","../index.js","../lib/Draggable.es6","../external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","../external {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"react-dom\",\"root\":\"ReactDOM\"}","../~/classnames/index.js","../lib/utils/domFns.es6","../lib/utils/shims.es6","../lib/utils/getPrefix.es6","../lib/utils/positionFns.es6","../lib/DraggableCore.es6","../lib/utils/log.es6"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_3__","__webpack_require__","moduleId","installedModules","id","loaded","modules","call","m","c","p","DraggableCore","_react","_reactDom","_classnames","_domFns","_positionFns","_shims","_DraggableCore","_log","Draggable","props","_classCallCheck","_this","_possibleConstructorReturn","Object","getPrototypeOf","onDragStart","e","coreData","_log2","shouldStart","onStart","createDraggableData","setState","dragging","dragged","onDrag","state","uiData","newState","x","y","bounds","_x","_y","slackX","slackY","_getBoundPosition","getBoundPosition","_getBoundPosition2","_slicedToArray","deltaX","deltaY","shouldUpdate","onDragStop","shouldStop","onStop","controlled","Boolean","position","_this$props$position","_x2","_y2","defaultPosition","isElementSVG","console","warn","global","SVGElement","_reactDom2","findDOMNode","nextProps","style","svgTransform","draggable","transformOpts","canDragX","canDragY","createSVGTransform","createCSSTransform","className","_classnames2","children","react-draggable-dragging","react-draggable-dragged","_react2","createElement","_DraggableCore2","_extends","cloneElement","Children","only","transform","Component","displayName","propTypes","axis","PropTypes","oneOf","oneOfType","shape","left","number","right","top","bottom","string","dontSetMe","defaultProps","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","apply","key","hasOwn","join","hasOwnProperty","undefined","matchesSelector","el","selector","matchesSelectorFunc","findInArray","method","isFunction","matchesSelectorAndParentsTo","baseNode","node","parentNode","addEvent","event","handler","attachEvent","addEventListener","removeEvent","detachEvent","removeEventListener","outerHeight","height","clientHeight","computedStyle","window","getComputedStyle","borderTopWidth","borderBottomWidth","outerWidth","width","clientWidth","borderLeftWidth","borderRightWidth","innerHeight","paddingTop","paddingBottom","innerWidth","paddingLeft","paddingRight","offsetXYFromParentOf","evt","offsetParent","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","_ref","_defineProperty","_getPrefix","browserPrefixToKey","_getPrefix2","_ref3","getTouch","identifier","targetTouches","t","changedTouches","getTouchIdentifier","addUserSelectStyles","getAttribute","setAttribute","userSelectStyle","removeUserSelectStyles","replace","styleHacks","childStyle","touchAction","userSelectPrefix","getPrefix","userSelect","browserPrefixToStyle","array","callback","func","prototype","toString","isNum","num","isNaN","int","a","parseInt","propName","componentName","Error","prop","documentElement","prefixes","prefix","kebabToTitleCase","toLowerCase","str","out","shouldCapitalize","toUpperCase","cloneBounds","boundNode","querySelector","nodeStyle","boundNodeStyle","offsetLeft","marginLeft","offsetTop","marginTop","Math","min","max","snapToGrid","grid","pendingX","pendingY","round","getControlPosition","touchIdentifier","draggableCore","touchObj","createCoreData","_pendingState","isStart","lastX","lastY","eventsFor","touch","start","move","stop","mouse","dragEventFor","NaN","handleDragStart","onMouseDown","allowAnyClick","button","disabled","target","Node","handle","cancel","coreEvent","enableUserSelectHack","handleDrag","handleDragStop","_snapToGrid","_snapToGrid2","MouseEvent","err","createEvent","initMouseEvent","onMouseUp","onTouchStart","onTouchEnd","bool","arrayOf","log"],"mappings":"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","file":"dist/react-draggable.min.js","sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index 5654367f..cc4e038a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-draggable", - "version": "2.1.1", + "version": "2.1.2", "description": "React draggable component", "main": "dist/react-draggable.js", "browser": "dist/react-draggable.js",