PhoneInput: controllable country + detect country from pasted numbers
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- react, typescript
- Domaine
- frontend
Piste de recherche
Start with the PhoneInput component's selectedCountry state, initialised from defaultCountry via getCountryByCode and COUNTRIES, and read ARCHITECTURE.md for the controlled/uncontrolled pattern and the useControllableState helper. Add country and onCountryChange props, then handle a leading + in the input by matching the longest dial code and stripping the prefix. Done when the acceptance tests pass: a controlled country follows the parent, pasting +44 selects GB, and +1 keeps CA when CA is selected, and the props table in the docs is updated.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
PhoneInput: controllable country + detect country from pasted numbers
Today the selected country is internal state seeded once from defaultCountry:
const [selectedCountry, setSelectedCountry] = React.useState(() => getCountryByCode(defaultCountry) ?? COUNTRIES[0]);
This breaks the library's controlled/uncontrolled convention (see ARCHITECTURE.md) — a parent can't change or reset the country, and changing defaultCountry after mount does nothing.
Proposal
- Add
country/onCountryChangeand route both throughuseControllableState; keepdefaultCountryfor uncontrolled use. - When the user types or pastes a number starting with
+(e.g.+44 20 7946 0958), match the longest dial code, switch the country and strip the prefix from the input value. - Shared dial codes (
+1US/CA,+7RU/KZ): keep the currently selected country if it matches, else pick the first.
Acceptance
- Tests: controlled country follows parent; paste
+44…selects GB;+1keeps CA if CA selected - Docs updated with props table
- Langage dominant
- TypeScript
- Étoiles
- 39
- Forks
- 16
- Merge moyen
- 2 j 12 h
- PR mergées (30 j)
- 10
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de babelize/babelize-elements
-
bug website
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
babelize/babelize-elements#46 ·
Les mainteneurs répondent en général sous 1 jour
-
bug language-switcher priority: medium
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
babelize/babelize-elements#26 ·
Les mainteneurs répondent en général sous 1 jour
-
component enhancement help wanted
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
babelize/babelize-elements#47 ·
Les mainteneurs répondent en général sous 1 jour
-
bug component rtl-layout
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
babelize/babelize-elements#45 ·
Les mainteneurs répondent en général sous 1 jour
-
Website: revamp and improve the landing pagePeut-être pris @anjalinayak01 l’a pris il y a 5 jours. Ouverteenhancement help wanted priority: medium website
Difficulté 4/5 Plus d'une semaine Accessibilité débutants 30/100
babelize/babelize-elements#37 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de babelize/babelize-elements
Issues similaires
-
documentation good first issue
Difficulté 2/5 Une demi-journée Accessibilité débutants 72/100
sujithputta02/Esapay#13 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
ehmpathy/rhachet-roles-bhuild#468 ·
Les mainteneurs répondent en général sous 1 jour
-
Share dialog: the address book's contact count reads "1 contacts" (no singular form in any language)Peut-être pris @chibenwa l’a pris aujourd’hui. Ouverteai-driven-qa bug claude Cosmetic
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
linagora/twake-contacts-frontend#271 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
factory-active task-identify-harness-labels-done task-identify-issue-type-done
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
vercel/ai#23435 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Koenkk/zigbee2mqtt#33402 ·
Les mainteneurs répondent en général sous 1 jour