JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://jsplumbtoolkit.com/js/jquery.jsPlumb-1.5.3-min.js"></script>
<div class="component window" id="window1">w1</div>
<div class="component window" id="window1s"></div>
<div class="component window" id="window2">w2</div>
<div class="component window" id="window3">w3</div>

CSS

.window {
    background: blue;
    width:240px;
    height:110px;
    position: absolute;
    color: white;
}

#window1 { top:190px; left:20px; }
#window1s { width:1px; height:1px; top:244px; left:319px; }
#window2 { top:60px; left:200px; }
#window3 { top:320px; left:200px; }

JavaScript

jsPlumb.ready(function() {

    // default settings for connectors
    var connectionParams = {
        connector: ["Flowchart", {cornerRadius:1}],
        paintStyle:{ 
            lineWidth: 1,
            outlineColor:"blue",
            outlineWidth: 0
        },
        detachable:false,
        endpointStyle: { radius:1 }
    };
    
    // w1 <=> w1s
    jsPlumb.connect({
        source: "window1", 
        target: "window1s",
        anchors: ["Right", "Center"],
        anchor:[ "Perimeter", { shape:"Circle" } ]
    }, connectionParams);
    
    // w1s <=> w2
    jsPlumb.connect({
        source: "window1s", 
        target: "window2",
        anchors: ["Center", "Bottom"]
    }, connectionParams);
    
    // w1s <=> w3
    jsPlumb.connect({
        source: "window1s", 
        target: "window3",
        anchors: ["Center", "Top"]
    }, connectionParams);
    
    //
    jsPlumb.draggable(
        jsPlumb.getSelector(".window"),
        { containment:".demo"}
    );
});