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
ComponentsChatThe Chat component is designed to facilitate real-time communication between users within an interface, mimicking a conversation interface commonly found in messaging applications.
Guidelines
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 of all variants

If there is a question mark ? in the Data Type, it means that the properties are optional, this is namedConstructor from UIChat, UIHeaderChat etc.

UIChatHeader

Header insider detail chat

PropertiesData TypeDescriptionDefault Value
headerTitleStringDisplays title headernull
avatarColorColor?Color for avatarUIColors.backgroundDark
isActiveboolDisplays green container when user is activefalse
personInChatint?Displays grouping person in headernull
UIChatHeaderSearch

Header for chat page

PropertiesData TypeDescriptionDefault Value
controllerTextEditingController?A controller for an editable text fieldnull
headerButtonUIChatButtonItem?A button right of serach fieldnull
searchButtonUIChatButtonItem?A button for search fieldnull
UIChatEmpty

Empty variant represents the initial state of the chat interface when there are no active conversations or messages. It provides users with a clean and minimalistic interface, ready for them to start new conversations or join existing ones.

PropertiesData TypeDescriptionDefault Value
onTapStartChatVoidCallback?Handle starting chatnull
UIChatTextRight

Chat message at the right of content

PropertiesData TypeDescriptionDefault Value
messageStringDisplays messages chatnull
timeDateTime?Displays time chatnull
UIChatTextLeft

Chat message at the left of content

PropertiesData TypeDescriptionDefault Value
nameStringDisplays messages from the other personnull
messageStringDisplays description of specific highlight chat or message from other personnull
timeDateTime?Displays time chat from other personDateTime.now()
avatarColorColor?Color of avatar chatUIColors.info500
UIChatItem

Displays item of chat

PropertiesData TypeDescriptionDefault Value
nameStringDisplays name person of specific chatnull
avatarColorColor?Color of avatar chatUIColors.info500
descString?Displays description of specific highlight chat or messagenull
timeDateTime?Display time specific chatDateTime.now()
notificationint?Displays number of notificationsnull
UIChatField

Field to add a new chat post

PropertiesData TypeDescriptionDefault Value
controllerTextEditingController?A controller for an editable text fieldnull
placeHolderString?A placeholder for fieldnull
onButtonLeftPressedVoidCallback?A callback when user pressed left buttonnull
onButtonRightPressedVoidCallback?A callback when user pressed right buttonnull

Previews & Code

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

Header Chat
 UIChatHeader(
   headerTitle: 'Username',
   avatarColor: Colors.info500,
   isActive: true,
   personInChat: 2
 )
Header Search
 UIChatHeaderSearch(
   controller: TextEditingController(),
   rightButton: UIChatButton(
     icon: Icons.flight,
     onTap: (){
       // Do something
     },
   ),
   leftButton: UIChatButton(
     icon: Icons.flight,
     onTap: (){
       // Do something
     },
   ),
 )
Empty Chat
 UIChatEmpty(
   onTapStartChat: () {
     // Do something
   };
 )
Chat Item
 UIChatItem(
   name: 'Username',
   avatarColor: UIColors.info500,
   desc: 'List item description',
   time: DateTime.now(),
   notification: 100,
 )
Right Chat Text
 UIChatTextRight(
   message: 'Lorem Ipsum',
   time: DateTime.now(),
 )
Left Chat Text
 UIChatTextRight(
   message: 'Lorem Ipsum',
   time: DateTime.now(),
 )
Chat Field
 UIChatField(
   controller: TextEditingController(),
   placeHolder: 'Placeholder',
   onButtonLeftPressed: (){
     // Do something
   },
   onButtonRightPressed: (){
     // Do something
   }
 )
arrow_back
Previous Card
Next Checkbox
arrow_forward