JSFiddle - React, Tailwind, and code Playground

HTML

<a onclick="insertAtCaret('templateContent','<<SubmitterFirst>>');return false;" name="tag" data-toggle="tooltip" tag="<<SubmitterFirst>>" title="The first name of the employee submitting the nomination">&lt;&lt;SubmitterFirst&gt;&gt;</a>
<br />
<textarea name="templateContent" id="templateContent" class="form-control" rows="12">Here is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample contentHere is some sample content</textarea>

JavaScript

function insertAtCaret(areaId,text) {
    var txtarea = document.getElementById(areaId);
    var scrollPos = txtarea.scrollTop;
    var strPos = 0;
    var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? 
        "ff" : (document.selection ? "ie" : false ) );
    if (br == "ie") { 
        txtarea.focus();
        var range = document.selection.createRange();
        range.moveStart ('character', -txtarea.value.length);
        strPos = range.text.length;
    }
    else if (br == "ff") strPos = txtarea.selectionStart;

    var front = (txtarea.value).substring(0,strPos);  
    var back = (txtarea.value).substring(strPos,txtarea.value.length); 
    txtarea.value=front+text+back;
    strPos = strPos + text.length;
    if (br == "ie") { 
        txtarea.focus();
        var range = document.selection.createRange();
        range.moveStart ('character', -txtarea.value.length);
        range.moveStart ('character', strPos);
        range.moveEnd ('character', 0);
        range.select();
    }
    else if (br == "ff") {
        txtarea.selectionStart = strPos;
        txtarea.selectionEnd = strPos;
        txtarea.focus();
    }
    txtarea.scrollTop = scrollPos;
}