JSFiddle - React, Tailwind, and code Playground

HTML

<textarea id="textarea" rows="4" cols="50"></textarea>

JavaScript

function ralAuto(input){
  var lines = input.value.split(String.fromCharCode(10));
  for(var i = 0;i < lines.length;i++){
    var vi = reverse(lines[i]);
    var n = vi.indexOf(" ");
    if (vi.length > 16){
        vi = vi.replaceAt(n, String.fromCharCode(10));
        [].splice.apply(lines, [i, 1].concat(reverse(vi.split(String.fromCharCode(10)))));
    }
    lines[i] = reverse(vi);
  }
  input.value = lines.join(String.fromCharCode(10));
}
 
//Reverse function :
function reverse(s) {
  var o = '';
  for (var i = s.length - 1; i >= 0; i--)
    o += s[i];
  return o;
}
 
//replaceAt function :
String.prototype.replaceAt=function(index, character) {
    return this.substr(0, index) + character + this.substr(index+character.length);
};

var elt = document.getElementById('textarea');

elt.addEventListener("keydown", function () {
    ralAuto(this);
}, false);