Forui

GitHub Actions Workflow Status Pub Version GitHub Repo stars Discord

πŸ“š Documentation β€’ πŸ–ΌοΈ Widgets β€’ πŸ€“ API Reference β€’ πŸ—ΊοΈ Road Map

Forui is a Flutter UI library that provides a set of beautifully designed, minimalistic widgets.


Forui

Important

Forui 0.12.0+ requires Flutter 3.32.0+. Run flutter --version to check your Flutter version.

Why Choose Forui?

  • 🎨 Over 40+ beautifully crafted widgets.
  • ⚑ Bundled CLI to generate themes & styling boilerplate.
  • βœ… Well-tested.
  • 🌍 I10n support.
  • πŸͺ First-class Flutter Hooks integration via forui_hooks.

Documentation

Visit forui.dev/docs to view the documentation.

Flutter Hooks Integration

GitHub Actions Workflow Status Pub Version

Forui provides first class integration with Flutter Hooks. All controllers are exposed as hooks in the companion forui_hooks package.

Contributing

Please read the contributing guide.

License

Licensed under the MIT License and Open Font License.

Widgets

Forui provides the following widgets:

  • Layout
    • Divider
    • Resizable
    • Scaffold
  • Form
    • Button
    • Checkbox
    • Date Field
    • Label
    • Picker
    • Radio
    • Select
    • Select Group
    • Slider
    • Switch
    • Text Field
    • Text Form Field
    • Time Field
    • Time Picker
  • Date Presentation
    • Accordion
    • Avatar
    • Badge
    • Calendar
    • Card
    • Line Calendar
  • Tile
    • Tile
    • Tile Group
    • Select Tile Group
    • Select Menu Tile
  • Navigation
    • Bottom Navigation Bar
    • Breadcrumb
    • Header
    • Pagination
    • Sidebar
    • Tabs
  • Feedback
    • Alert
    • Progress
  • Overlay
    • Dialog
    • Sheet
    • Persistent Sheet
    • Popover
    • Popover Menu
    • Tooltip
    • Toast
  • Foundation
    • Collapsible
    • Focused Outline
    • Portal
    • Tappable

Libraries

assets
The bundled assets in forui_assets, exported for convenience.
forui
A Flutter package for building beautiful user interfaces.
foundation
Low-level utilities and services.
localizations
Localizations for Forui widgets. Forui supports all 115 languages supported by Material.
theme
Classes and functions for configuring the Forui widgets' theme. A theme configures the colors and typographic choices of Forui widgets.

Widgets

widgets/accordion Widgets
A vertically stacked set of interactive headings that each reveal a section of content.
widgets/alert Widgets
Displays a callout for user attention.
widgets/avatar Widgets
An image element with a fallback for representing the user.
widgets/badge Widgets
A badge. Badges are typically used to draw attention to specific information, such as labels and counts.
widgets/bottom_navigation_bar Widgets
A bottom navigation bar.
widgets/breadcrumb Widgets
A breadcrumb.
widgets/button Widgets
A button.
widgets/calendar Widgets
A calendar.
widgets/card Widgets
A card.
widgets/checkbox Widgets
A checkbox control that allows the user to toggle between checked and not checked.
widgets/date_field Widgets
A date field allows a date to be selected from a calendar or input field.
widgets/dialog Widgets
A modal dialog.
widgets/divider Widgets
A divider.
widgets/header Widgets
A header.
widgets/label Widgets
A label that describes a form field with a label, description, and error message (if any).
widgets/line_calendar Widgets
A line calendar displays dates in a single horizontal, scrollable line.
widgets/pagination Widgets
A pagination enables the user to select a specific page from a range of pages.
widgets/picker Widgets
A generic picker that allows an item to be selected. It is composed of one or more wheels, optionally, with separators between those wheels.
widgets/popover Widgets
A popover displays rich content in a portal that is aligned to a target.
widgets/popover_menu Widgets
A popover menu displays a menu in a portal aligned to a child.
widgets/progress Widgets
A progress indicator.
widgets/radio Widgets
A radio button that typically allows the user to choose only one of a predefined set of options.
widgets/resizable Widgets
A resizable which children can be resized along either the horizontal or vertical main axis.
widgets/scaffold Widgets
A scaffold.
widgets/select Widgets
Displays a list of options for the user to pick from.
widgets/select_group Widgets
A group of form fields that allow users to make a selection from a set of options.
widgets/select_menu_tile Widgets
A tile that, when triggered, displays a list of options for the user to pick from.
widgets/select_tile_group Widgets
A group of tiles that allow users to make a selection from a set of options.
widgets/sheet Widgets
A sheet is a panel that slides in from the edge of a screen.
widgets/sidebar Widgets
A sidebar widget that usually resides on the side of the screen for navigation.
widgets/slider Widgets
An input where the user selects a value from within a given range.
widgets/switch Widgets
A control that allows the user to toggle between checked and unchecked.
widgets/tabs Widgets
Allows switching between widgets through tabs.
widgets/text_field Widgets
A text field.
widgets/tile Widgets
A tile is typically used to group related information together.
widgets/time_field Widgets
A time field allows a time to be selected from a picker or input field.
widgets/time_picker Widgets
A time picker that allows a time to be selected. It is composed of multiple wheels.
widgets/toast Widgets
An opinionated toast that temporarily displays a succinct message.
widgets/tooltip Widgets
A tooltip displays information related to an widget when focused, hovered over on desktop, and long pressed on Android and iOS.