- Fix
user-select
prefixing, which may be different than the prefix required fortransform
.
- Republish after 1.3.5 contained a bundling error.
- Add React v15 to devDeps.
<Draggable>
supports bothv0.14
andv15
. - Enhancement: Clean up usage of browser prefixes; modern browsers will no longer use them.
- This also removes the duplicated
user-select
style that is created on the<body>
while dragging.
- This also removes the duplicated
- Internal: Test fixes.
- Bugfix: Scrolling while dragging caused items to move unpredictably.
- Bugfix: #116: Android/Chrome are finicky; give up on canceling ghost clicks entirely.
- Bugfix: #116: Child inputs not focusing on touch events.
- Internal: Babel 6 and Flow definitions
- Bugfix: 1.3.0 broke string bounds ('parent', selectors, etc.).
- Bugfix: 1.3.0 wasn't updating deltaX and deltaY on a bounds hit.
- Possibly breaking change: bounds are calculated before
<Draggable>
firesdrag
events, as they should have been. - Added
'none'
axis type. This allows using<Draggable>
somewhat like<DraggableCore>
- state will be kept internally (which makes bounds checks etc possible), but updates will not be flushed to the DOM. - Performance tweaks.
- Added arbitrary boundary selector. Now you don't have to just use
'parent'
, you can select any element on the page, including'body'
. - Bugfix: Prevent invariant if a
<Draggable>
is unmounted while dragging. - Bugfix: Fix #133, where items would eagerly start dragging off the mouse cursor if you hit boundaries and
came back. This is due to how
<DraggableCore>
handles deltas only and does not keep state. Added new state propertiesslackX
andslackY
to<Draggable>
to handle this and restore pre-v1 behavior.
- Bugfix: Server-side rendering with react-rails, which does bad things like mock
window
- Bugfix:
<Draggable>
was calling back with clientX/Y, not offsetX/Y as it did pre-1.0. This unintended behavior has been fixed and a test has been added.
- Bugfix: Clean up scroll events if a component is unmounted before drag stops.
- Bugfix:
NaN
was returning from scroll events due to event structure change. - Add scroll drag modulation test.
- Move
grid
into<DraggableCore>
directly. It will continue to work on<Draggable>
. - Development fixes.
- Fix
enableUserSelectHack
not properly disabling. - Fix a crash when the user scrolls the page with a Draggable active.
- Fix missing dist files for webpack.
- Ignore non-primary clicks. Added
allowAnyClick
option to allow other click types.
- Breaking: Removed
resetState()
instance method - Breaking: Removed
moveOnStartChange
prop - Breaking: React
0.14
support only. - Refactored project.
- Module now exports a
<DraggableCore>
element upon which<Draggable>
is based. This module is useful for building libraries and is completely stateless.
- Bugfix: isElementSVG no longer can be overwritten by getInitialState (#83)
- Bugfix: Fix for element prefixes in JSDOM
- Bugfix: SVG elements now properly use
transform
attribute instead ofstyle
. Thanks @martinRoss
- Bugfix: Short-circuiting drag throws due to
e.changedTouches
check.
- Handle scrolling while dragging. (#60)
- Add multi-touch support. (#68)
- IE fixes.
- Documentation updates. (#77)
- Add
resetState()
instance method for use by parents. See README ("State Problems?").
- Touch/mouse events rework. Fixes #51, #37, and #43, as well as IE11 support.
- Moved mousemove/mouseup and touch event handlers to document from window. Fixes IE9/10 support. IE8 is still not supported, as it is not supported by React.
- Fix a bug where a quick drag out of bounds to
0,0
would cause the element to remain in an inaccurate position, because the translation was removed from the CSS. See #55.
- Removed a
moveOnStartChange
optimization that was causing problems when attempting to move a<Draggable>
back to its initial position. See react-grid-layout/react-grid-layout#56
- Added
moveOnStartChange
property. See README.
- The
start
param is back. Pass{x: Number, y: Number}
to kickoff the CSS transform. Useful in certain cases for simpler callback math (so you don't have to know its existing relative position and add it to the dragged position). Fixes #52.
- Breaking change:
bounds
with coordinates was confusing because it was using the item's width/height, which was not intuitive. When providing coordinates,bounds
now simply restricts movement in each direction by that many pixels.
- Breaking change: Cancel dragging when onDrag or onStart handlers return an explicit
false
. - Fix sluggish movement when
grid
option was active. - Example updates.
- Move
user-select:none
hack to document.body for better highlight prevention. - Add
bounds
option to restrict dragging within parent or within coordinates.
- Remove browserify browser config, reactify, and jsx pragma. Fixes #38
- Use React.cloneElement instead of addons cloneWithProps (requires React 0.13)
- Move to CSS transforms. Simplifies implementation and fixes #48, #34, #31.
- Fixup linting and space/tab errors. Fixes #46.
- Fix React.addons error caused by faulty test.
- Add
"browser"
config to package.json for browserify imports (fix #45). - Remove unnecessary
emptyFunction
andReact.addons.classSet
imports.
- Remove react/addons dependency (now depending on
react
directly). - Add MIT License file.
- Fix an issue where browser may be detected as touch-enabled but touch event isn't thrown.
- Improving accuracy of snap to grid
- Updating to React 0.12
- Adding dragging className
- Adding reactify support for browserify
- Fixing issue with server side rendering
- Adding support for touch devices
- Exporting as ReactDraggable
- Adding support for snapping to a grid
- Adding support for specifying start position
- Ensure event handlers are destroyed on unmount
- Adding browserify support
- Adding bower support
- Fixing dragging not stopping on mouseup in some cases
- Initial release