JSFiddle - React, Tailwind, and code Playground

HTML

<div class="draggable"></div>

<div id="droppable"></div>

<div id="block"></div>

CSS

.draggable {
    border: 1px solid black;
    background-color: blue;
    position: absolute;
    top: 10px;
    left: 30px;
    height: 30px;
    width: 30px;
    z-index: 20;
}

#droppable {
    border: 1px solid black;
    background-color: green;
    position: absolute;
    top: 100px;
    left: 200px;
    height: 300px;
    width: 300px;
    z-index: 1;
}

#block {
    border: 1px solid black;
    background-color: red;
    position: absolute;
    top: 200px;
    height: 100px;
    width: 100%;
    z-index: 10;
}

JavaScript

$('.draggable').draggable({
    revert: 'invalid'
});

$('#droppable, #block').droppable({
    accept: '.draggable',
    drop: function( event, ui ) {
        if(!ui.draggable.data('original')){
            ui.draggable.data('original',ui.draggable.draggable("option", "revert"));
        }
        if (this.id == 'block') {
            ui.draggable.draggable({ revert: true  });
        } else {
            ui.draggable.draggable({ revert: ui.draggable.data('original')  });
        }
    }
});