JSFiddle - React, Tailwind, and code Playground

HTML

<textarea></textarea>
<button>
Add
</button>

JavaScript

const btn = document.querySelector('button');
const elem = document.querySelector('textarea');
const textPast = '😁';
let caret = 0;
elem.onblur = function() {
	caret = this.selectionStart;
};
btn.onclick = function() {
	const value = elem.value;
  debugger;
  const textBeforeCaret = value.slice(0, caret);
  const textAfterCaret = value.slice(caret);
  elem.value = textBeforeCaret.concat(textPast, textAfterCaret);
  elem.setSelectionRange(caret+2, caret+2);
  elem.focus();
}