Web Development Preserving Precise Cursor Placement in AI‑Enhanced Input Components: Lessons from TextInput and RichEditor