JSFiddle - React, Tailwind, and code Playground

HTML

<input>

CSS

input {
  font-size: 20px;
  background-color: transparent;
  border: none;
  outline: none;
  border-bottom: 2px solid;
  width: 200px;
  min-width: 200px;
}

JavaScript

$("body").keydown(function(e){
  setTimeout(function(){
  	if(e.which == 32){
    	$("#clone").append("&nbsp;");
    }
	  $("#clone").text($('input').val());
    $('input').width($("#clone").width() + 40);
  }, 100);
});