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
ComponentsAccordionThe Accordion component is used to organize large amounts of information in a compact and efficient manner, making it easier for users to navigate and interact with the content.
Guidelines
Design
v2.5.0
Updated
Vue
v2.0.0
Updated
Flutter
v2.0.0
Updated

Anatomy

 An icon that visually represents the accordion's state (expanded or collapsed).
 Label to indicate the action.
 Containers that contain labels and icons that are also useful as click area identifier.
 An icon that visually represents the accordion's state (expanded or collapsed).
 Label to indicate the action.
Displays interactive elements for filtering when expanded.
Provides the option to display additional filter choices if the list is too long.
Displays the count of selected items or active filters
 An icon that visually represents the accordion's state (expanded or collapsed).
 Label to indicate the action.
 Containers that contain labels and icons that are also useful as click area identifier.
Notes
  • -
  • -
Variant on Accordion

To distinguish between UI activities of varying relevance, you can change the color of the primary button according to the specified state, using the colors that have been prepared in the color styles. utilize the following variations:

Heading
Active
Detail
VARIANTUSAGE RECOMMENDATION
HeadingFocuses on displaying section headers. Ideal for summarizing the content that can be expanded, providing a clear overview of each section.
ActiveHighlights the currently active section that is expanded, drawing user attention to the content that is currently in view.
DetailDesigned to display detailed information within each section, suitable for content-rich areas that require extensive explanation or data presentation.
Variant on Tree Accordion

The Tree Accordion component is designed to present hierarchical data in a collapsible and expandable format, allowing users to navigate through nested levels of content. This component is ideal for displaying structured information, such as directories, categories, or any data that has a tree-like hierarchy.

Heading
Level 1
Level 2
Level 3
Level 4
Level 5
VARIANTUSAGE RECOMMENDATION
HeadingDisplays the main categories or top-level nodes, providing an overview of the hierarchical structure.
Level 1Represents the first level of nodes or subcategories under the heading. Ideal for primary categorization.
Level 2Represents the second level of nodes under Level 1, allowing further subdivision and detailed categorization.
Level 3Represents the third level of nodes under Level 2, providing even deeper hierarchical organization.
Level 4Represents the third level of nodes under Level 3, providing even deeper hierarchical organization..
Level 5Represents the third level of nodes under Level 4, providing even deeper hierarchical organization.
Color Hierarchy on Tree Accordion
COLORUSAGEVISUAL PURPOSE
background-whiteThe Heading represents the top-level item in the accordion. It serves as the main entry point for the nested items.The background-white ensures that the Heading stands out prominently as the primary section header. This color choice makes it immediately recognizable and visually distinct from the nested items below it.
background-lightLevel 1 items are the first level of nested items under the Heading. These items can be further expanded to reveal Level 2 items.The background-light provides a subtle yet noticeable differentiation from the Heading. This helps users recognize that these items are part of a sub-level, indicating their hierarchical position below the Heading.
LGrey100Level 2 items are nested under Level 1 items. These items can be further expanded to reveal Level 3 items.The LGrey100 compared to Level 1 items creates a clear visual distinction, showing that these items belong to a deeper hierarchical level. This differentiation helps users understand the depth of the nested structure.
LGrey150Level 3 items are nested under Level 2 items. These are the most detailed level of nested items in the hierarchy, providing the deepest level of information or options.The LGrey150 provides a subtle yet noticeable differentiation from the Heading. This helps users recognize that these items are part of a sub-level, indicating their hierarchical position below the Heading.
LGrey200Level 4 items are nested under Level 3 items. These are the most detailed level of nested items in the hierarchy, providing the deepest level of information or options.The LGrey200 provides a subtle yet noticeable differentiation from the Heading. This helps users recognize that these items are part of a sub-level, indicating their hierarchical position below the Heading.
LGrey300Level 5 items are nested under Level 4 items. These are the most detailed level of nested items in the hierarchy, providing the deepest level of information or options.The LGrey300 provides a subtle yet noticeable differentiation from the Heading. This helps users recognize that these items are part of a sub-level, indicating their hierarchical position below the Heading.
Variant Filter Accordion

The Filter Accordion component is designed to help users refine and narrow down search results or content lists by applying various filters. This component organizes filter options into expandable and collapsible sections, providing a clean and efficient way to manage multiple filtering criteria.

Collapsed
The default state where filter categories are hidden, showing only the headings. Helps maintain a tidy interface.
Expanded
The state where filter options within a category are visible, allowing users to interact with the filters.
Guidelines for Filter Accordion

In certain filter components, only the first 5 options are displayed by default to maintain a clean and organized interface. Users have the ability to view additional options by clicking the "Show More" button to expand several option or using modal for many option.

Before
After
Before
After
Web
Oops Sorry! This Page Is Under Maintenance
We are improving this page, and will be back soon! You can explore other page.
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
itemsList<UIAccordionNode>?Displays item of accordion with label and details.
UINode

Representing a UI Node in an accordion structure

PropertiesData TypeDescription
titleString?Represents the main text of the node
isExpandedboolIndicates whether the node is expanded or collapsed.
labelString?Additional information for the node.
childrenList<UINode>?List of child nodes.
onTapVoidCallback?Callback triggered when the node is tapped.
isLastLevel1boolIndicates if the node is the last in the first level.
isLastLevel2boolIndicates if the node is the last in the second level.
UIAccordionNode

The UIAccordionNode class, with title and detail properties of type String, extends the abstract class UINode, inheriting its properties and methods. However, UINode cannot be instantiated directly.

PropertiesData TypeDescription
titleStringRepresents the main text of the node.
detailString?Additional information for the node.
UIAccordionTreeNode

A class representing a node in an accordion tree structure.

PropertiesData TypeDescription
titleStringRepresents the main text of the node.
labelString?Additional information for the node.
childrenList<UINode>?List of child nodes.
onTapVoidCallback?Callback triggered when the node is tapped.

Variants

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

Base
Tree
Filter
arrow_back
Previous 💡 Overview
Next Alert
arrow_forward