feat: modernize BottomNavigationBar
Maintainer thường phản hồi trong vòng 7 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- react-native, typescript
Hướng nghiên cứu
Bắt đầu với các entry point hiện có là BottomNavigation và BottomNavigation.Bar, sau đó so sánh hành vi hiện tại của chúng với các đặc tả navigation bar và expressive của Material 3 được liên kết. Xem xét các khác biệt đã liệt kê về màu sắc, kích thước và hành vi, bao gồm cả việc đổi tên thành NavigationBar; công việc được xem là hoàn tất khi checklist đã được xử lý và hành vi MD3 được triển khai nhất quán.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- TypeScript
- Star
- 14.5k
- Fork
- 2.2k
- Merge trung bình
- 6 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của callstack/react-native-paper
-
Menu ignores the keyboard when it mounts while the keyboard is already openCó thể đã có người làm @manchoudhary đã nhận 21 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
callstack/react-native-paper#5096 ·
Maintainer thường phản hồi trong vòng 7 ngày
-
Color Picker Popup Is Obscured On "Guides -> Theming -> Creating Dynamic Theme Colors" Documentation On Both v5 and v6Có thể đã có người làm @fatihcvs đã nhận 15 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
callstack/react-native-paper#5093 ·
Maintainer thường phản hồi trong vòng 7 ngày
-
Tooltip: onPress event object is not propagated to parent component on nativeCó thể đã có người làm @Shevilll đã nhận 107 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
callstack/react-native-paper#5003 ·
Maintainer thường phản hồi trong vòng 7 ngày
-
Snackbar stays mounted after `visible=false` under new architecture (iOS + Android)Có thể đã có người làm @momomuchu đã nhận 95 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
callstack/react-native-paper#4951 ·
Maintainer thường phản hồi trong vòng 7 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
callstack/react-native-paper#4881 ·
Maintainer thường phản hồi trong vòng 7 ngày
Tất cả issue của callstack/react-native-paper
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
solana-foundation/solana-com#2245 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
`document.cookie` with `max-age=0` does not delete the cookieCó thể đã có người làm @BartInTheField đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
capricorn86/happy-dom#2460 ·
Maintainer thường phản hồi trong vòng 2 ngày