Buma UI - DocumentationBuma UI - Documentation
Get Started
Foundations
Components
Resources
Patterns
Data Visualization
Back to BSpace
Get Started
Foundations
Components
Resources
Patterns
Data Visualization
  • stacksFoundations
    • 💡 Overview
    • Color
    • Principle
    • Typography
  • brickComponents
    • 💡 Overview
    • Accordion
    • Alert
    • Avatar
    • Badge
    • Bottom Sheet
    • Bread Crumb
    • Button
    • Button Link
    • Button Navigation
    • Calendar
    • Card
    • Chat
    • Checkbox
    • Chips
    • Choice Tile
    • Comment
    • Date Picker
    • Divider
    • Download
    • Drawer
    • Dropdown
    • Empty State
    • Floating Button
    • Form Input
    • Header
    • Hint
    • Icon
    • List Choice
    • Loading
    • Modal
    • Navigation Bar
    • Notification
    • Pagination
    • Progress Bar
    • Radio Button
    • Search
    • Scrolling Bar
    • Segmented Switch
    • Side Menu
    • Side Tab
    • Slider
    • Switch
    • Tab
    • Table
    • Text Area
    • Text Input
    • Time Picker
    • Title
    • Toast
    • Tooltip
    • Wizzard
  • splitscreenPattern
    • 💡 Overview
    • Filter
      upcoming
    • Form
      upcoming
    • Notification
    • PWA
      upcoming
    • table
      upcoming
    • Upload Download
      upcoming
  • insert_chartData Visualization
    • 💡 Overview
    • Tiering
    • Pattern
    • Chart and Graph
      • Chart Selection Guide
      • Map Selector
      • Donut Chart
      • Donut Progress Bar Chart
      • Spider Chart
      • Line Chart
      • Chart Area
      • Speedometer
      • Heat Map
      • Scatter Plot
      • Pie Chart
      • Bar Chart
      • Waterfall Chart
      • Sunburst Chart
      • Tree Decomposition Chart
      • Scorecards
      • Table
      • Micro Visualization
    • Typography
    • Color Palette
  • data_objectTokens
    upcoming
  • inventory_2Resources
    • 💡 Overview
    • Mobile
      new
      • 💡 Introduction
      • Installation
      • General
        • Important Rules
        • Naming Convention
        • Clean Architecture
    • Web
      upcoming
ComponentsButton NavigationThe Navigation Button component consists of buttons used for navigating between different pages or sections within an application or website.
Guidelines
Design
v2.5.0
Updated
Vue
v2.0.0
Updated
Flutter
v2.0.0
Outdated

Anatomy

The outer structure that holds all navigation elements, ensuring alignment and spacing are maintained.
Icons within the navigation buttons that visually represent the associated section or action.
Text accompanying the icon (or standalone) that provides a clear description of each navigation option.
A gesture feature enabling users to reveal additional navigation options or access secondary actions.
Notes
  • Circle as an instance of the swap component
  • The use of the icon on the button will be taken from the Material Design Icon that has been provided
Variant on Button Navigation

Each variant of button navigation is tailored to fit different use cases based on the number of menu options required.

1 Menu
2 Menu
3 Menu
4 Menu

Usage

Usage Recommendation:

  • Use button navigation to organize and provide quick access to primary sections or features of an application.
  • Ideal for scenarios where users frequently switch between sections, such as mobile apps.

Accessibility

Use the green color (Primary500) for the active button to create a clear visual hierarchy, drawing users' attention to the currently selected page or section. Employ gray color (Icon/Text-lightdark) for inactive buttons to distinguish them from the active button and indicating non-selected pages or sections.

Do's
Don't

Content

Navigation Button Terms of Switching to PWA

The navigation button component can be switched to a Progressive Web App (PWA) format. This ensures that the navigation functionality remains consistent and user-friendly across both desktop and mobile platforms.

Web
Mobile
Resources
  • You can use these components by accessing the provided resource files.
  • Preview animations are examples and may not suit Mobile Widgets. Press 'View Code' to access the Widgetbook Playground and see the Flutter widget displaying all created components and interactive.

Usage

Import this line to your file:

import 'package:buma_design_system/buma_design_system.dart';

Attributes

If there is a question mark ? in the Data Type, it means that the properties are optional

PropertiesData TypeDescription
initialIndexintA current position for first initialization
itemsList<BottomNavigationBarItem>A collection for displaying all item
onTapValueChanged<int>Signature for callbacks that report that an underlying value, when user pressed item

Previews & Code

You can call the components with Class.namedConstructor() with different variants.

Primary Usage
  • Use the primary color (Primary500) for the active button to create a clear visual hierarchy, drawing users' attention to the currently selected page or section.
  • Employ secondary color (Icon/Text-lightdark) for inactive buttons to distinguish them from the active button and indicating non-selected pages or sections.
Scaffold(
    body: YourContent(),
    bottomNavigationBar: UIBottomNavbar(
   items: [
     BottomNavigationBarItem(
       icon: Icon(Icons.home),
       label: 'Home',
     ),
     BottomNavigationBarItem(
       icon: Icon(Icons.search),
       label: 'Search',
     ),
     BottomNavigationBarItem(
       icon: Icon(Icons.person),
       label: 'Profile',
     ),
   ],
   selectedIndex: 1,
   onTap: (index) {
     print('Selected index: $index');
   },
 )
)
arrow_back
Previous Button Link
Next Calendar
arrow_forward