JSFiddle - React, Tailwind, and code Playground

HTML

<div id="blocks"></div>

JavaScript

// From here: https://github.com/2xAA/DefragJS
var Defrag = function(container, fragments, auto, callback) {
	function getRandomInt(min, max) {
	    return Math.floor(Math.random() * (max - min + 1)) + min;
	}
	
	var style = document.createElement('style');
	style.type = 'text/css';
	style.innerHTML = '.defrag-blocks{font-size:0}.defrag-block{background:#00fdff;border:1px solid #000;display:inline-block;height:7px;margin:0 1px 1px 0;width:5px}.defrag-block.moved{background:#fff;border-color:#fff}.defrag-block.inprogress{background:#ff2101}.defrag-block.done{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAGElEQVQIHWNg0P//n+H///+MIILBgIEBAFNLCFkekQ5uAAAAAElFTkSuQmCC)}';
	document.getElementsByTagName('head')[0].appendChild(style);
	
	var blocks = container,
		nextBlock = 0,
		currentBlock = 0,
		finished = false,
		started = false,
        smallRunToGo = 0,
        smallRunDone = 0;
    
    blocks.classList.add('defrag-blocks');
	
	for (var i = 0; i < fragments; i++) {
	    var block = document.createElement('div');
	    block.classList.add('defrag-block');
	    blocks.appendChild(block);
	}
	
	function defragGo() {
	    var blocksToDefrag = getRandomInt(2, 40);
	    if((nextBlock + blocksToDefrag) > fragments) {
	        blocksToDefrag = fragments - nextBlock;
	        finished = true;
	    }
        if(getRandomInt(0,100) > 80) {
            smallRunToGo = blocksToDefrag;
            smallRunDone = 0;
            smallRun();
        } else {
    	    for (var i = nextBlock; i < nextBlock + blocksToDefrag; i++) {
	            var block = document.getElementsByClassName('defrag-block')[i];
	            block.classList.add('moved');
    	    }
	        setTimeout(progress, getRandomInt(10, 1500));
        }
        
        function smallRun() {
            //console.log('nb', nextBlock, 'run', smallRunToGo);
            //return;
            
            if(smallRunToGo > smallRunDone) {
                var block =...