I’m struggling to make an atomic widget work. There is an official example here that I have replicated exactly line by line in this codesandbox. You will see that I wasn’t able to make the atomic ranges work properly.
You’re not including any key bindings, so you’re getting the browser’s native cursor motion and deletion behavior, which doesn’t know about the atomic ranges. Include the default keymap.