@shopify/draggable
Version:
The JavaScript Drag & Drop library your grandparents warned you about.
164 lines (128 loc) • 5.58 kB
Markdown
# Changelog
## v1.0.0-beta.8 - 2018-09-07
### Changed
- Announcement plugin to use `textContent` instead of `innerHTML`
## v1.0.0-beta.7 - 2018-04-28
### Added
- ResizeMirror plugin
### Changed
- Fixed native drag events with draggable
- Mouse position bug in scrollable
## v1.0.0-beta.6 - 2018-04-04
### Added
- Focusable plugin
- Added DroppableStart event for `Droppable`
- Added DroppableStop event for `Droppable`
- Added recommended VSCode settings
### Changed
- Fixed `addContainer`/`removeContainer` api
- Touch sensor fixes (including iOS 11.3 issues)
- Renames `DroppableOver` to `DroppableDropped`
- Renames `DroppableOut` to `DroppableReturned`
- Fix legacy bundle
- Improved webpack building
- Using `console.error` instead of throwing error
## v1.0.0-beta.5 - 2018-03-02
### Added
- Increased Documentation coverage
- Increased Test coverage, including better testing environment
- Increased JSDoc coverage
- Added docblock section to `CONTRIBUTING.md`
- Added greenkeeper as integration for package dependency management
- Added codecov as integration for tracking test coverage
- Added github template issue
- Added github template PR
- Added yarn scripts for examples
- Added SensorEvent to exports
- Added yarn scripts for esdoc
- Added `Announcement` plugin for screen reader support
- Added cursor offset option for `Mirror` plugin
- Added `scrollableElements` option to `Scrollable` plugin
- Added `snappableElement` to `SnapEvent`
- Added examples to published package
- Added `Emitter` class for event emitting for draggable
### Changed
- Changed esdoc config
- Changed node version `8.9.1` to `8.9.4`
- Updated package dependencies
- Updated roadmap section in README
- Changed export statements
- Fixes draggable state after canceling `drag:start`
- Fixes `constrainDimensions` option for `Mirror` plugin
- Fixes mirror position with touch devices and `Scrollable`
- `AutoScroll` plugin has been renamed to `Scrollable`
- Fixes scrolling edge cases with `Scrollable`
- Fixes scrolling offset for touch devices in `Scrollable`
- Fixes npm install issue
- Fixes `overContainer` property for `DragOutContainerEvent`
## v1.0.0-beta.4 - 2018-01-15
### Added
- Default `Draggable` plugins get exposed statically on `Draggable.Plugins`
- Default `Scrollable` plugin for Draggable, which auto scrolls containers/viewport while dragging
- `yarn watch` task for auto-building the library
- `source:original` class option for Draggable
- `Draggable#getDraggableElementsForContainer` method, which returns all draggable elements for a given container
- `MirrorCreateEvent`, which allows for canceling mirror creation
- `AbstractPlugin` to use as Base class for all Draggable plugins
- More test coverage
### Changed
- Fixed `Sortable` sort logic by excluding mirror and original source elements in calculations
- `Draggable` `appendTo` option now uses sources parent element as default, instead of `document.body`
- `Draggable` appends over classes _after_ triggering over/out events
- `Draggable` appends source into empty containers
- Mirrors margin gets removed on creation in the mirror plugin
- Fix for mirror when drag start gets canceled
- Fixes memory leak in Draggable when calling `destroy()`
- Fixes race condition for the `source:placed` class
- Changed `AbstractEvent#_canceled` to use symbols for private instance variables
- Some fixes for the documentation READMEs
## v1.0.0-beta.3 - 2017-11-01
### Added
- Bundle split, draggable now exports multiple bundles
- Adds JS bundle per module
- Adds legacy bundle for IE11
- Adds axis & dimension constraint options for mirror plugin
- Basic swap animation plugin
- Draggables API is now accessible via inheritance for `Sortable`, `Swappable` and `Droppable`
- Draggables API extended
- `addSensor` to add sensor dynamically
- `removeSensor` to remove a sensor dynamically
- `addPlugin` to add a plugin dynamically
- `removePlugin` to remove a plugin dynamically
- `addContainer` to add a container dynamically
- `removeContainer` to remove a container dynamically
- `isDragging` to check if instance is currently dragging
- New `sortable:sort` event that can be canceled to prevent sorting
- New `swappable:swap` event that can be canceled to prevent swapping
- Added more documentation
### Changes
- `SortableSortedEvent` (`sortable:sorted`) now returns correct indexes
- `SortableStartEvent` gets fired now
- Plugins and Sensors are exported with namespace
- Removes reflow by removing unused lookup of next scroll parent
- Draggable delay option is now `100` by default, instead of `0`
- Draggables private methods are now really private
- Sensor improvements
- `TouchSensor` now prevents scrolling without preventDefault
- `MouseSensor` now prevents native elements to start dragging during delay
- All sensors now listen to document rather than each container
## v1.0.0-beta.2 - 2017-10-10
### Added
- Code of Conduct
- Contribution guidelines
- Documentation on `appendTo` option for `Draggable`
- Added concept of `originalSource`
- Fix for text selection issue
- Fix for native drag events firing for the `MouseSensor`
- Fix for missing `classes` option
### Changes
- README updates
- Touch improvements
- ForceTouchSensor is not included by default anymore
- Folder/File restructure
- Exports `AbstractEvent` as `BaseEvent`
- Update node version from `8.2.1` to `8.6.0`
- Clones event callbacks before triggering (to prevent mutation during iterations)
- Improvements to `closest` utils helper
## v1.0.0-beta - 2017-09-27
Initial release