This reactive component wraps the Sortable JS library (https://github.com/SortableJS/Sortable)
Simply drag the SortableList widget on to your page and specify the widget id of your list container, and all children will autmatically be sortable and draggable to other lists that are associated with their own SortableList widget. Use the Options parameter of the widget to further control the lists' behavior.
The component exposes most of the library's functionality, while still allowing the flexibility to extend the functionality using JavaScript blocks if need be.
The structure attributes and public client actions have descriptions explaining what they do, and full documentation for the JS library is available on the Sortable JS GitHub page.
Re-added demo to the component.