JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r77/three.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/master/examples/js/controls/OrbitControls.js"></script>

JavaScript

var scene =new THREE.Scene();
var camera =new THREE.PerspectiveCamera(60,window.innerWidth/window.innerHeight,1,100);
//camera.position.set( 0.54, 6.85, -13.41 );

var renderer =new THREE.WebGLRenderer();
renderer.setClearColor(0x000000, 1.0);
renderer.setSize(window.innerWidth,window.innerHeight);
renderer.shadowMap.enabled = true;
//renderer.shadowMap.type = THREE.PCFShadowMap;

document.body.appendChild(renderer.domElement);

var axes = new THREE.AxisHelper( 20 );
scene.add(axes);

var planeGeometry = new THREE.PlaneGeometry(30,40,1,1);
var planeMaterial = new THREE.MeshLambertMaterial({color: 0x777777});
var plane = new THREE.Mesh(planeGeometry,planeMaterial);
plane.rotation.x=-0.5*Math.PI;
plane.position.x = 0;
plane.position.y = -5;
plane.position.z = 5;
plane.receiveShadow = true;
scene.add(plane);

var cubeGeometryBT = new THREE.CubeGeometry( 10, 5, 0.2 );			
var cubeMaterial = new THREE.MeshLambertMaterial( {color: 0xcccccc} );

var cubeBT = new THREE.Mesh( cubeGeometryBT, cubeMaterial );
cubeBT.position.x = 0;
cubeBT.position.y = -2.5;
cubeBT.position.z = -5;
cubeBT.castShadow = true;
scene.add(cubeBT);

var cubeGeometryBB = new THREE.CubeGeometry( 10, 1, 0.2 );

var cubeBB = new THREE.Mesh( cubeGeometryBB, cubeMaterial );
cubeBB.position.x = 0;
cubeBB.position.y = 4.5;
cubeBB.position.z = -5;
cubeBB.castShadow = true;
scene.add(cubeBB);

var cubeGeometryBL = new THREE.CubeGeometry( 3, 4, 0.2 );

var cubeBL = new THREE.Mesh( cubeGeometryBL, cubeMaterial );
cubeBL.position.x = -3.5;
cubeBL.position.y = 2;
cubeBL.position.z = -5;
cubeBL.castShadow = true;
scene.add(cubeBL);

var cubeGeometryBR = new THREE.CubeGeometry( 3, 4, 0.2 );

var cubeBR = new THREE.Mesh( cubeGeometryBR, cubeMaterial );
cubeBR.position.x = 3.5;
cubeBR.position.y = 2;
cubeBR.position.z = -5;
cubeBR.castShadow = true;
scene.add(cubeBR);


var cubeGeometryL = new THREE.CubeGeometry( 20, 10, 0.2 );

var cubeL = new THREE.Mesh( cubeGeometryL, cubeMaterial );
cubeL.position.x =...