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
ComponentsForm InputA form input component is a crucial element in user interface design, facilitating the collection of user data within web or mobile applications.
Guidelines
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 of all variants

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

UIFormInput

A custom design of TextFormField, in this class we have 4 variants of FormInput: base, field, date, and textarea

PropertiesData TypeDescriptionDefault Value
titleUIFormInputTitle?Displays title above form inputnull
placeHolderString?Displays placeholder inside form inputnull
prefixValidationTextString?Displays validation at the right below form inputnull
suffixValidationTextString?Displays validation at the right below form inputnull
minLinesint?Displays minimum lines of form input5
maxLinesint?Displays maximum lines of form input1
maxLengthint?Make length of text has limit255
obsecureTextboolMake text hide or obsecurefalse
showNextPreviousDatebool?Displays previous and future of month datefalse
focusNodeFocusNode?A object that can be used by a stateful widget to obtain the keyboard focus and to handle keyboard eventsnull
enabledboolEnable form input all gesturetrue
readOnlybool?Make form input read onlyfalse
hasCounterTextboolDisplays a counter text of length form inputfalse
controllerTextEditingController?A controller for an editable text fieldnull
textInputActionTextInputAction?An action the user has requested the text input control to performnull
leftButtonUIFormInputButton?Displays left button inside form inputnull
rightButonUIFormInputButton?Displays right button inside form inputnull
keyboardTypeTextInputType?The type of information for which to optimize the text input controlTextInputType.text
onTapVoidCallback?Callback when user tap the fieldnull
validatorFormFieldValidator<String>?Signature for validating a form fieldnull
inputFormattersList<TextInputFormatter>?Creates a FormField that contains a TextField[]
keyboardConfigKeyboardActionsConfig?Wrapper for a single configuration of the keyboard actions barnull
prefixIconWidget?Displays prefix iconnull
onTapClearTextvoid Function()?Handle callback when user tap clear textnull
onChangedValueChanged<String>?Called when the user initiates a change to the TextField's value: when they have inserted or deleted text or reset the formnull
UIFormInput.date

Below are some properties that the base, field and textarea variants do not have.

PropertiesData TypeDescriptionDefault Value
initialDateDateTimeDisplays initial start dateDateTime.now()
minDateDateTimeDisplays minimum dateDateTime.now().year - 10
maxDateDateTimeDisplays maximum dateDateTime.now().year + 10
listEventList<DateTime>?Displays conditional event or big day[]
UIFormInputMultiple

A custom multiple select input field with UIChips

PropertiesData TypeDescriptionDefault Value
titleUIFormInputTitle?Displays title above form inputnull
placeHolderString?Displays placeholder inside form inputnull
enabledboolEnable form input all gesturetrue
validationTextString?Displays validation at the bottom of form inputnull
initialValueList<String>?Displays initial multiple values[]
listDropDownList<String>?Displays dropdown of multiple form input[]
validatorFormFieldValidator<String>?Signature for validating a form fieldnull
onChangedValueChanged<List<String>>?Creates a FormField that contains a TextField, and return list values
UIFormInputFilterCheckbox

A custom form input with dropdown filter checkbox, have 3 variants: avatar, left and right, you can call with named parameters UIFormIputFilterCheckbox.avatar

PropertiesData TypeDescriptionDefault Value
listDropDownList<UIFormInputFilterInterface>?Displays list dropdown filter[]
enabledboolEnable form input all gesturetrue
onChangedValueChanged<List<String>>?Creates a FormField that contains a TextField, return data Listnull
UIFormInputFilterRadio

A custom form input with dropdown filter radio: avatar, left and right, you can call with named parameters UIFormIputFilterCheckbox.avatar

PropertiesData TypeDescriptionDefault Value
listDropDownList<UIFormInputFilterInterface>?Displays list dropdown filter[]
enabledboolEnable form input all gesturetrue
onChangedValueChanged<List<String>>?Creates a FormField that contains a TextField, return data Listnull
UIFormInputUpload

A custom form input with upload method, This widget dedicated area for users to upload files to the system, supporting various file types and sizes, often with progress indicators and validation checks, essential for applications involving document submissions, media uploads, or file sharing.

This component have 2 different size: small & large, and you can call with named parameters UIFormInputUpload.large

PropertiesData TypeDescriptionDefault Value
onUploadFuture<dynamic> Function(List<UIFile> files)Manage dynamic method of upload filenull
enabledboolEnable form input all gesturetrue
titleUIFormInputTitle?Displays title above form inputnull
additionalTextString?Displays additional text for UIFormInputUpload.largenull
validationTextString?Displays validation at the belo form inputnull
onTapRemoveFilevoid Function(String id)?Manage dynamic method of remove filenull
filesList<UIFile>?List of files that have been uploaded[]
maxFilexint?Maximum files that can be uploaded100
bottomMarginProgressdouble?Add bottom margin position snackbar30
maxSizedouble?Maximum size of file that can be uploaded2MB
UIFormInputRangeSlider

The multiple form input with slider

PropertiesData TypeDescriptionDefault Value
labelString?Displays text above of the slidernull
minRangedouble?Settings minimum value range of slider0
maxRangedouble?Settings maximum value range of slider100
initRangeValuesRangeValues?Displays initial range valuesRangeValues(minRange, maxRange)
leftRangeUIFormInputSlider?Displays data range slider on the leftnull
rightRangeUIFormInputSlider?Displays data range slider on the rightnull
UIFormInputOption

This component have 2 different axis: vertical & horizontal, and you can call with named parameters UIFormInputUpload.vertical

PropertiesData TypeDescriptionDefault Value
titleUIForminputTitle?Displays title above form inputnull
controllerTextEditingController?A controller for an editable text fieldTextEditingController()
validationTextString?Displays validation at the below form inputnull
widthOptionsdouble?Width of the options174
validatorFormFieldValidator<String>?Signature for validating a form field optionnull
optionsList<UIFormInputOptionItem>?Displays options collection[]
enabledboolIndicates if the form input is enabledtrue
isClearAllValueNotifier<bool>?Notifier to clear all optionsnull
onChangedvoid Function(UIFormInputOptionItem item)?Creates a FormField that contains a UIFormInputOptionItemnull
UIFormInputDropDown

A custom single select input field, this components is inherit to UIFormInput

PropertiesData TypeDescriptionDefault Value
listDropDownList<DataDropDown>Displays all item for dropdown[]
onTapDropDownvoid Function(DataDropDown)?Handle when user tap dropdown and return instance of DataDropDownnull

Previews & Code

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

Form Input Base

To see the error state, click Validate button without filling out the form.

Form Input Field

To see the error state, click Validate button without filling out the form.

Form Input Date

  • Press calendar button to show calendar components
  • To see the error state, click button without filling out the form.
  • To see the error state, click `Validate` button without filling out the form.
Form Input Text Area

To see the error state, click Validate button without filling out the form.

Form Input Multiple

To see the error state, click Validate button without filling out the form.

Form Input Filter Checkbox
Form Input Filter Radio
Form Input Upload

This component is required to be used on mobile devices, on this website the upload process will not occur.

Form Input Range Slider

To see the error state, click Validate button without filling out the form.

Form Input Option

Give some trigger button to make clear data options.

Form Input Dropdown

To see the error state, click Check button without filling out the form.

arrow_back
Previous Floating Button
Next Header
arrow_forward