Component: Timezone Picker
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- react, tailwindcss, typescript
- Domaine
- frontend
Piste de recherche
Start with src/registry/components/locale-picker.tsx and its listbox navigation, then inspect useControllableState, test/, and the registry and documentation paths named in the issue. Build the timezone picker to meet the listed API and behavior, and add tests for grouping, search, offset formatting, and controlled versus uncontrolled use. Done means the component, exports, registry entry, tests, and documentation page are present.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Component: Timezone Picker
A searchable picker for IANA time zones, grouped by region, showing each zone's current UTC offset and local time.
Requirements
- TypeScript-first with exported props interface
- Zone list from
Intl.supportedValuesOf("timeZone"); accept an optionaltimeZonesprop to limit it - Grouped by region (
Europe,America,Asia…), with human-readable city names (America/New_York→ "New York") - Each option shows the current offset (
UTC+02:00) and local time, computed withIntl.DateTimeFormat(timeZoneName: "shortOffset"), so it's correct across DST changes - Search matches city, region and offset
- Defaults to the visitor's zone (
Intl.DateTimeFormat().resolvedOptions().timeZone) when uncontrolled and nodefaultValueis given - Follows the component conventions:
value/defaultValue/onValueChangeviauseControllableState, forwarded ref,...rest - Keyboard navigation through
use-listbox-navigation, like LocalePicker - Labels (placeholder, "No results") passed as props
Expected API
<TimezonePicker
defaultValue="Europe/Berlin"
onValueChange={(zone) => saveUserTimezone(zone)}
labels={{ placeholder: "Search time zones", empty: "No time zone found" }}
/>
Deliverables
- Component source in
src/registry/components/ - Export in
src/registry/components/index.tsand entry insrc/registry/registry.ts - Tests in
test/covering grouping, search, offset formatting and controlled vs uncontrolled use - Documentation page in
content/docs/components/locale-pickers/
LocalePicker (src/registry/components/locale-picker.tsx) is a good reference for the listbox and search behaviour.
See CONTRIBUTING.md and the Contributor Rulebook.
- Langage dominant
- TypeScript
- Étoiles
- 39
- Forks
- 16
- Merge moyen
- 18 h 14 min
- PR mergées (30 j)
- 35
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
-
accessibility help wanted
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
babelize/babelize-elements#94 ·
Les mainteneurs répondent en général sous 1 jour
-
component help wanted
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
babelize/babelize-elements#93 ·
Les mainteneurs répondent en général sous 1 jour
-
Component: Relative TimeOuvertecomponent date-time good first issue
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
babelize/babelize-elements#92 ·
Les mainteneurs répondent en général sous 1 jour
-
component good first issue language-switcher
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
babelize/babelize-elements#90 ·
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
Toutes les issues de babelize/babelize-elements
Issues similaires
-
Add API: BlockVectra Data APIOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
remotion-dev/remotion#12905 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
supermomonga/paseo-plugin-zcode-provider#83 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
oxidecomputer/skepsis#102 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
voidzero-dev/void#677 ·
Les mainteneurs répondent en général sous 1 jour