Focus a field, open the picker, choose an emoji.

Important JavaScript

const { createPicker } = await import(
  "https://cdn.jsdelivr.net/npm/picmo@5.8.5/+esm"
);

function insertAtCaret(field, emoji) {
  const start = field.selectionStart;
  const end = field.selectionEnd;
  field.value = field.value.slice(0, start) + emoji + field.value.slice(end);
  field.setSelectionRange(start + emoji.length, start + emoji.length);
  field.focus();
}

emojiBtn.addEventListener("click", function (event) {
  event.stopPropagation();
  panel.hidden = !panel.hidden;
});