JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="view-source:http://jqueryui.com/themes/base/jquery.ui.all.css">
<link rel="stylesheet" href="view-source:http://jqueryui.com/demos/demos.css">
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>jQuery UI Sortable - Portlets</title> 
</head> 
<body> 
<div class="demo"> 
 
<ul class="column"> 
 
    <li class="portlet"> 
        <div class="portlet-header">Feeds</div> 
        <div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit Lorem ipsum dolor sit amet, consectetuer adipiscing elit</div> 
    </li> 
    
    <li class="portlet"> 
        <div class="portlet-header">News</div> 
        <div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</div> 
    </div> 
 
</div> 
 
<div class="column"> 
 
    <div class="portlet"> 
        <div class="portlet-header">Shopping</div> 
        <div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</div> 
    </div> 
 
</div> 
 
<div class="column"> 
 
    <div class="portlet"> 
        <div class="portlet-header">Links</div> 
        <div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</div> 
    </div> 
    
    <div class="portlet"> 
        <div class="portlet-header">Images</div> 
        <div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</div> 
    </div> 
 
</div> 
 
</div><!-- End demo --> 
 
 
 
<div class="demo-description"> 
<p> 
    Enable portlets (styled divs) as sortables and use the <code>connectWith</code> 
    option to allow sorting between columns.
</p> 
</div><!-- End demo-description --> 
 
</body> 
</html>

CSS

.column { width: 170px; float: left; padding-bottom: 100px; }
    .portlet { margin: 0 1em 1em 0; }
    .portlet-header { margin: 0.3em; padding-bottom: 4px; padding-left: 0.2em; }
    .portlet-header .ui-icon { float: right; }
    .portlet-content { padding: 0.4em; }
    .ui-sortable-placeholder { border: 1px dotted black; visibility: visible !important; }
    .ui-sortable-placeholder * { visibility: hidden; }

JavaScript

$(function() {
        $( ".column" ).sortable({
            connectWith: ".column",
            forcePlaceholderSize: false
        });
 
        $( ".portlet" ).addClass( "ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" )
            .find( ".portlet-header" )
                .addClass( "ui-widget-header ui-corner-all" )
                .prepend( "<span class='ui-icon ui-icon-minusthick'></span>")
                .end()
            .find( ".portlet-content" );
 
        $( ".portlet-header .ui-icon" ).click(function() {
            $( this ).toggleClass( "ui-icon-minusthick" ).toggleClass( "ui-icon-plusthick" );
            $( this ).parents( ".portlet:first" ).find( ".portlet-content" ).toggle();
        });
 
        $( ".column" ).disableSelection();
    });