diff --git a/CHANGELOG.md b/CHANGELOG.md index 03c4b8f3..fec7d642 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,162 +1,162 @@ # Changelog -## v1.0.0-beta.8 - ? - -### Added +## 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 +- ResizeMirror plugin ### Changed -* Fixed native drag events with draggable -* Mouse position bug in scrollable +- 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 +- 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 +- 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 +- 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` +- 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 +- 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 +- 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 +- 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 +- `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 +- 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 +- 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 diff --git a/README.md b/README.md index 1973aa96..e9f0b66c 100644 --- a/README.md +++ b/README.md @@ -20,18 +20,18 @@ interface, for more information read the documentation below. **Features** -* Works with native drag, mouse, touch and force touch events -* Can extend dragging behaviour by hooking into draggables event life cycle -* Can extend drag detection by adding sensors to draggable -* The library is targeted ES6 first +- Works with native drag, mouse, touch and force touch events +- Can extend dragging behaviour by hooking into draggables event life cycle +- Can extend drag detection by adding sensors to draggable +- The library is targeted ES6 first ## Table of Contents -* [Install](#install) -* [Documentation](#documentation) -* [Contributing](#contributing) -* [Roadmap](#roadmap) -* [Copyright](#copyright) +- [Install](#install) +- [Documentation](#documentation) +- [Contributing](#contributing) +- [Roadmap](#roadmap) +- [Copyright](#copyright) ## Install @@ -51,19 +51,19 @@ or via CDN ```html - + - + - + - + - + - + - + ``` ## Browser Compatibility @@ -91,33 +91,33 @@ or via CDN You can find the documentation for each module within their respective directories. -* [Draggable](src/Draggable) - * [DragEvent](src/Draggable/DragEvent) - * [DraggableEvent](src/Draggable/DraggableEvent) - * [MirrorEvent](src/Draggable/MirrorEvent) - * [Plugins](src/Draggable/Plugins) - * [Announcement](src/Draggable/Plugins/Announcement) - * [Focusable](src/Draggable/Plugins/Focusable) - * [Mirror](src/Draggable/Plugins/Mirror) - * [Scrollable](src/Draggable/Plugins/Scrollable) - * [Sensors](src/Draggable/Sensors) - * [DragSensor](src/Draggable/Sensors/DragSensor) - * [ForceTouchSensor](src/Draggable/Sensors/ForceTouchSensor) - * [MouseSensor](src/Draggable/Sensors/MouseSensor) - * [Sensor](src/Draggable/Sensors/Sensor) - * [SensorEvent](src/Draggable/Sensors/SensorEvent) - * [TouchSensor](src/Draggable/Sensors/TouchSensor) -* [Droppable](src/Droppable) - * [DroppableEvent](src/Droppable/DroppableEvent) -* [Plugins](src/Plugins) - * [Collidable](src/Plugins/Collidable) - * [ResizeMirror](src/Plugins/ResizeMirror) - * [Snappable](src/Plugins/Snappable) - * [SwapAnimation](src/Plugins/SwapAnimation) -* [Sortable](src/Sortable) - * [SortableEvent](src/Sortable/SortableEvent) -* [Swappable](src/Swappable) - * [SwappableEvent](src/Swappable/SwappableEvent) +- [Draggable](src/Draggable) + - [DragEvent](src/Draggable/DragEvent) + - [DraggableEvent](src/Draggable/DraggableEvent) + - [MirrorEvent](src/Draggable/MirrorEvent) + - [Plugins](src/Draggable/Plugins) + - [Announcement](src/Draggable/Plugins/Announcement) + - [Focusable](src/Draggable/Plugins/Focusable) + - [Mirror](src/Draggable/Plugins/Mirror) + - [Scrollable](src/Draggable/Plugins/Scrollable) + - [Sensors](src/Draggable/Sensors) + - [DragSensor](src/Draggable/Sensors/DragSensor) + - [ForceTouchSensor](src/Draggable/Sensors/ForceTouchSensor) + - [MouseSensor](src/Draggable/Sensors/MouseSensor) + - [Sensor](src/Draggable/Sensors/Sensor) + - [SensorEvent](src/Draggable/Sensors/SensorEvent) + - [TouchSensor](src/Draggable/Sensors/TouchSensor) +- [Droppable](src/Droppable) + - [DroppableEvent](src/Droppable/DroppableEvent) +- [Plugins](src/Plugins) + - [Collidable](src/Plugins/Collidable) + - [ResizeMirror](src/Plugins/ResizeMirror) + - [Snappable](src/Plugins/Snappable) + - [SwapAnimation](src/Plugins/SwapAnimation) +- [Sortable](src/Sortable) + - [SortableEvent](src/Sortable/SortableEvent) +- [Swappable](src/Swappable) + - [SwappableEvent](src/Swappable/SwappableEvent) ## Running examples @@ -142,8 +142,8 @@ We are currently working on `v1.0.0-beta.8`. Check out the [project board](https ## Related resources -* [Ember CLI Shim](https://github.com/timrourke/ember-cli-shopify-draggable-shim) on Github by [@timrourke](https://github.com/timrourke) -* [Ember CLI Shim](https://www.npmjs.com/package/ember-cli-shopify-draggable-shim) on NPM by [@timrourke](https://github.com/timrourke) +- [Ember CLI Shim](https://github.com/timrourke/ember-cli-shopify-draggable-shim) on Github by [@timrourke](https://github.com/timrourke) +- [Ember CLI Shim](https://www.npmjs.com/package/ember-cli-shopify-draggable-shim) on NPM by [@timrourke](https://github.com/timrourke) ## Copyright diff --git a/package.json b/package.json index 086e109e..58427578 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,14 @@ { "name": "@shopify/draggable", - "version": "1.0.0-beta.7", + "version": "1.0.0-beta.8", "private": false, "license": "MIT", "description": "The JavaScript Drag & Drop library your grandparents warned you about.", "author": "Shopify ", "homepage": "https://github.com/Shopify/draggable#readme", "repository": "https://github.com/Shopify/draggable", - "contributors": [{ + "contributors": [ + { "name": "Max Hoffmann", "email": "max.hoffmann@shopify.com" }, @@ -19,7 +20,12 @@ "bugs": { "url": "https://github.com/Shopify/draggable/issues" }, - "keywords": ["shopify", "draggable", "drag-and-drop", "es6"], + "keywords": [ + "shopify", + "draggable", + "drag-and-drop", + "es6" + ], "main": "./lib/draggable.bundle.js", "scripts": { "start": "concurrently \"yarn watch\" \"cd examples && yarn && yarn start\"", @@ -34,7 +40,9 @@ "build:development": "node scripts/build.js", "build:production": "node scripts/build.js --production" }, - "files": ["lib/**/*.js"], + "files": [ + "lib/**/*.js" + ], "devDependencies": { "babel-core": "^6.26.3", "babel-jest": "^23.0.1", @@ -63,7 +71,11 @@ "env": {} }, "babel": { - "plugins": ["transform-class-properties", "transform-object-rest-spread", "transform-es2015-modules-commonjs"] + "plugins": [ + "transform-class-properties", + "transform-object-rest-spread", + "transform-es2015-modules-commonjs" + ] }, "publishConfig": { "access": "public", diff --git a/src/Draggable/README.md b/src/Draggable/README.md index b0961563..84f28220 100644 --- a/src/Draggable/README.md +++ b/src/Draggable/README.md @@ -11,11 +11,11 @@ import Draggable from '@shopify/draggable/lib/draggable'; ``` ```html - + ``` ```html - + ``` ### API diff --git a/src/Droppable/README.md b/src/Droppable/README.md index 68898354..40cfd9f5 100644 --- a/src/Droppable/README.md +++ b/src/Droppable/README.md @@ -14,11 +14,11 @@ import Droppable from '@shopify/draggable/lib/droppable'; ``` ```html - + ``` ```html - + ``` ### API diff --git a/src/Plugins/Collidable/README.md b/src/Plugins/Collidable/README.md index 2e974a7d..947e652e 100644 --- a/src/Plugins/Collidable/README.md +++ b/src/Plugins/Collidable/README.md @@ -16,11 +16,11 @@ import Collidable from '@shopify/draggable/lib/plugins/collidable'; ``` ```html - + ``` ```html - + ``` ### Options @@ -55,8 +55,8 @@ sortable.on('collidable:out', () => console.log('collidable:out')); ### Plans -* Improving collision detection for mirror +- Improving collision detection for mirror ### Caveats -* Currently only bases collision based on mouse cursor and not mirror element +- Currently only bases collision based on mouse cursor and not mirror element diff --git a/src/Plugins/ResizeMirror/README.md b/src/Plugins/ResizeMirror/README.md index 9ba2576b..5e0c5736 100644 --- a/src/Plugins/ResizeMirror/README.md +++ b/src/Plugins/ResizeMirror/README.md @@ -22,11 +22,11 @@ import ResizeMirror from '@shopify/draggable/lib/plugins/resize-mirror'; ``` ```html - + ``` ```html - + ``` ### API @@ -51,4 +51,4 @@ const sortable = new Sortable(document.querySelectorAll('ul'), { ### Caveats -* The mirror is not re-positioned under the cursor once resized, i.e. if the mirror shrinks/expands the mirror may no longer be directly beneath the cursor +- The mirror is not re-positioned under the cursor once resized, i.e. if the mirror shrinks/expands the mirror may no longer be directly beneath the cursor diff --git a/src/Plugins/Snappable/README.md b/src/Plugins/Snappable/README.md index 94a626e8..f2ef80dd 100644 --- a/src/Plugins/Snappable/README.md +++ b/src/Plugins/Snappable/README.md @@ -16,11 +16,11 @@ import Snappable from '@shopify/draggable/lib/plugins/snappable'; ``` ```html - + ``` ```html - + ``` ### Options diff --git a/src/Plugins/SwapAnimation/README.md b/src/Plugins/SwapAnimation/README.md index f99afdff..88c3220b 100644 --- a/src/Plugins/SwapAnimation/README.md +++ b/src/Plugins/SwapAnimation/README.md @@ -17,11 +17,11 @@ import SwapAnimation from '@shopify/draggable/lib/plugins/swap-animation'; ``` ```html - + ``` ```html - + ``` ### API @@ -58,12 +58,12 @@ const sortable = new Sortable(document.querySelectorAll('ul'), { ### Plans -* Add support for staggering animations -* Find cross-container animation solution -* Add support for `Swappable` and `Droppable` +- Add support for staggering animations +- Find cross-container animation solution +- Add support for `Swappable` and `Droppable` ### Caveats -* Only works within same container -* Animations don't stagger -* Only works with `Sortable` +- Only works within same container +- Animations don't stagger +- Only works with `Sortable` diff --git a/src/Sortable/README.md b/src/Sortable/README.md index ca7f9a66..817d6f85 100644 --- a/src/Sortable/README.md +++ b/src/Sortable/README.md @@ -16,11 +16,11 @@ import Sortable from '@shopify/draggable/lib/sortable'; ``` ```html - + ``` ```html - + ``` ### API @@ -70,10 +70,10 @@ sortable.on('sortable:stop', () => console.log('sortable:stop')); ### Plans -* Add `copy` option, which will allow draggable elements to be copied when dropped in a different container -* Add `removeOnSpill` option, which will allow draggable elements to be removed from the DOM when dropped outside a container +- Add `copy` option, which will allow draggable elements to be copied when dropped in a different container +- Add `removeOnSpill` option, which will allow draggable elements to be removed from the DOM when dropped outside a container ### Caveats -* Needs draggable elements to be immediate children of draggable containers. -* Currently just appends draggable elements in different containers +- Needs draggable elements to be immediate children of draggable containers. +- Currently just appends draggable elements in different containers diff --git a/src/Swappable/README.md b/src/Swappable/README.md index 7b1c8ef3..26f0acd9 100644 --- a/src/Swappable/README.md +++ b/src/Swappable/README.md @@ -14,11 +14,11 @@ import Swappable from '@shopify/draggable/lib/swappable'; ``` ```html - + ``` ```html - + ``` ### API