// Uses React's native (unpatched) value setter + a real dispatched event,
// so the app's own onChange / validation / append logic fires correctly.
// build the visible field the user will actually type into
// copy the real field's classes + computed styles so it looks identical
// preload with existing value (formatted) if the real field already has one
// hide the real field visually but keep it in the DOM and functional,
// so your app's own validation / append event still works as before
// place the visible field right where the real one used to be
// send only the plain digits to the real field — this matches what
// the numeric field type expects, so no "invalid phone number" error
// keep focus/blur events flowing to the real field too, in case your
// app's validation triggers specifically on those