feat: modernize BottomNavigationBar
Mantenedores costumam responder em até 7 dias
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- react-native, typescript
Direção de pesquisa
Comece pelos pontos de entrada existentes BottomNavigation e BottomNavigation.Bar e, em seguida, compare o comportamento atual deles com as especificações vinculadas de navigation bar e expressive do Material 3. Revise as diferenças listadas de cor, dimensionamento e comportamento, incluindo a renomeação para NavigationBar; considera-se concluído quando a checklist tiver sido atendida e o comportamento de MD3 estiver implementado de forma consistente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- TypeScript
- Estrelas
- 14.5k
- Forks
- 2.3k
- Merge médio
- 8d 2h
- PRs com merge (30d)
- 4
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de callstack/react-native-paper
-
Menu ignores the keyboard when it mounts while the keyboard is already openTalvez já em andamento @manchoudhary assumiu há 33 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
callstack/react-native-paper#5096 ·
Mantenedores costumam responder em até 7 dias
-
Color Picker Popup Is Obscured On "Guides -> Theming -> Creating Dynamic Theme Colors" Documentation On Both v5 and v6Talvez já em andamento @fatihcvs assumiu há 28 dias. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
callstack/react-native-paper#5093 ·
Mantenedores costumam responder em até 7 dias
-
Tooltip: onPress event object is not propagated to parent component on nativeTalvez já em andamento @Shevilll assumiu há 120 dias. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
callstack/react-native-paper#5003 ·
Mantenedores costumam responder em até 7 dias
-
Snackbar stays mounted after `visible=false` under new architecture (iOS + Android)Talvez já em andamento @momomuchu assumiu há 108 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
callstack/react-native-paper#4951 ·
Mantenedores costumam responder em até 7 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
callstack/react-native-paper#4881 ·
Mantenedores costumam responder em até 7 dias
Todas as issues de callstack/react-native-paper
Issues semelhantes
-
The inspector never shows the instances field, so scaling out is unreachableTalvez já em andamento @Mrkewl assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
xevrion/breakscale#96 ·
Mantenedores costumam responder em até 4 dias
-
Object parameters lose their structure when resources is enabledTalvez já em andamento @asts-top assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
rossant/awesome-math#199 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
jaegertracing/jaeger-ui#4618 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
mifi/lossless-cut#3125 ·
Mantenedores costumam responder em até 1 dia