IA-922 : fix: corrections UX du composant numéro de téléphone
Summary
Correction de plusieurs bugs UX identifiés sur le composant PhoneInput.
Problems
- Impossible de supprimer entièrement le numéro saisi (valeur bloquée)
- Impossible d'effacer le texte dans le champ de recherche de pays (Backspace intercepté par le Popover MUI)
- Le drapeau pays s'affichait par défaut même sans valeur saisie
- Les pays partageant l'indicatif +1 (USA/Canada) rendaient la saisie invalide en réinitialisant le pays sélectionné
Changes
list.tsx
- Suppression de
autoFocusremplacé parinputRefavec focus manuel - Ajout de
onKeyDown={(e) => e.stopPropagation()}pour empêcher le Popover d'intercepter les touches Backspace/Delete
phone-input.tsx
- Initialisation du pays à
undefinedquand la valeur initiale est vide - Ajout du guard
detected !== selectedCountrydans le useEffect pour éviter d'écraser le pays sélectionné manuellement (fix CA/US) -
onChangeretourne''au lieu deundefinedquand tout est supprimé
utils.ts
- Suppression du fallback
'US'dansgetCountryCode— retourne désormaisundefinedsi aucun pays détecté, laissant le contrôle au composant parent
RHFPhoneInput
-
newValue ?? ''pour garantir qu'une string vide est envoyée au formulaire au lieu deundefined