JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<div id="sortable">
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 2</li>
<li class="ui-state-default" style="float:right;"><span class="ui-icon "></span>Item 3</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 4</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 1</li>
<li class="ui-state-default" style="float:right;"><span class="ui-icon "></span>Item 3</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 4</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 1</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 2</li>
<li class="ui-state-default" style="float:right;"><span class="ui-icon "></span>Item 3</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 4</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 1</li>
<li class="ui-state-default" style="float:right;"><span class="ui-icon "></span>Item 3</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 4</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 1</li>
</div>
<div id="nonsortable">
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 2</li>
<li class="ui-state-default" style="float:right;"><span class="ui-icon "></span>Item 3</li>
<li class="ui-state-default" style="float:left;"><span class="ui-icon "></span>Item 4</li>
<li class="ui-state-default" style="float:left;"><span...
CSS
#sortable,#nonsortable {display:block;height:200px; list-style-type: none; margin: 0; padding: 0; width: 100%; }
#sortable li,#nonsortable li{ margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }
#sortable li span,#nonsortable li span{ position: absolute; margin-left: -1.3em; }
JavaScript
var reordered = false;
$('#sortable li').each(function(index){
$(this).attr('data-orgleft',$(this).offset().left);
$(this).attr('data-orgtop',$(this).offset().top);
$(this).css({float:"left",position:"relative"});
});
var $wrapper = $('#sortable');
$wrapper.find('li').sort(function(a,b){
var x = a.dataset.orgtop - b.dataset.orgtop;
return x == 0? a.dataset.orgleft - +b.dataset.orgleft : x;
}).appendTo( $wrapper );
$( "#sortable" ).sortable({ });