JSFiddle - React, Tailwind, and code Playground

HTML

<div id=div>
</div>
<textarea id=textarea cols=50 rows=3></textarea>

CSS

div {
  width: 100px;
  height: 100px;
  background: skyblue;
  transition: width 2s 2s;
}

JavaScript

setTimeout(function() {
	div.addEventListener('transitionstart', function() {
    textarea.textContent += performance.now() + ' Got transitionstart\n';
  });
	div.addEventListener('transitionend', function() {
    textarea.textContent += performance.now() + ' Got transitionend\n';
  });
  textarea.textContent += performance.now() + ' Starting transition\n';
  div.style.width = '200px';
  getComputedStyle(div).width;
})