Jared Forsyth
03/12/2023, 5:55 AMtext => new Intl.Segmenter('en').segment(text).map(s => s.segment) in a bunch of places, so that offset calculations made sense. I also had to add a hidden <input/> onto the page instead of just harvesting keypress, because emoji-pickers don't actually send valid keypresses, but they do trigger oninput in a focused <input/> 🎉