feat: modernize BottomNavigationBar
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- react-native, typescript
Línea de trabajo
Comienza con los puntos de entrada existentes BottomNavigation y BottomNavigation.Bar, y compara después su comportamiento actual con las especificaciones enlazadas de la barra de navegación y expressive de Material 3. Revisa las diferencias enumeradas de color, tamaño y comportamiento, incluido el cambio de nombre a NavigationBar; se considera terminado cuando se haya abordado la lista de comprobación y el comportamiento de MD3 esté implementado de forma coherente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Modernize the existing BottomNavigationBar to reuse theme tokens (color, shape, motion, typography etc) and make sure the MD3 specs are respected. See the expressive update too: https://m3.material.io/components/navigation-bar/overview
Current State
Bottom Navigation
MD3 spec: Navigation bar
Specs link: https://m3.material.io/components/navigation-bar/specs
Notes
BottomNavigationis a router-aware wrapper aroundBottomNavigation.Barthat handles scene management and tab transitions. MD3 compliance is governed byBottomNavigation.Barbelow.
Bottom Navigation Bar
MD3 spec: Navigation bar
Specs link: https://m3.material.io/components/navigation-bar/specs
Color tokens
- Container
surfaceContainer✅ - Active icon
onSecondaryContainer✅ - Active indicator
secondaryContainer✅ - Inactive icon
onSurfaceVariant✅ - Inactive label
onSurfaceVariant✅ - Active label uses
onSurface. Spec tokenNav bar item active label text colormaps tosecondary
Spacing / sizing
- Active indicator 64x32dp with 16dp corner radius ✅
- Icon-to-label gap 4dp (
marginBottom: 4on icon container) ✅ -
v3NoLabelContainerheight is hardcoded to 80dp. Spec requires 64dp -
BAR_HEIGHT = 56constant is used for label height styling. Spec bar height is 64dp
Behavior
-
shiftingmode (inactive tabs hide labels) is an MD2 pattern not present in MD3 labeled={false}hides all labels (not in MD3 spec, but a deliberate extension used by Google’s own products e.g. Gmail) ✅-
rippleColor: 'transparent'suppresses state layer feedback. MD3 requires visible state layers (8% hovered, 10% focused/pressed) - Flexible navigation bar (horizontal items for medium windows) not implemented. M3 Expressive requires horizontal layout support
- Baseline navigation bar is not recommended in M3 Expressive; flexible variant should replace it
Notes
- Rename to match MD3:
NavigationBar
- Lenguaje dominante
- TypeScript
- Estrellas
- 14.5k
- Forks
- 2.2k
- Merge medio
- 3 d 22 h
- PR fusionados (30 d)
- 8
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de callstack/react-native-paper
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
callstack/react-native-paper#5096 ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
callstack/react-native-paper#5093 ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
callstack/react-native-paper#5003 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
callstack/react-native-paper#4951 ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
callstack/react-native-paper#4881 ·
Los mantenedores suelen responder en 2 días
Todos los issues de callstack/react-native-paper
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
external-issue to-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
diegosouzapw/OmniRoute#15401 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
code-yeongyu/oh-my-openagent#9454 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
smart-village-solutions/sva-studio#1654 ·
Los mantenedores suelen responder en 1 día