Skip to main content

flowbite_ui 0.0.3 copy "flowbite_ui: ^0.0.3" to clipboard
flowbite_ui: ^0.0.3 copied to clipboard

Flowbite UI Kit

Flowbite UI #

pub package

Unofficial Flutter package for Flowbite UI Kit. Flowbite UI Kit is made by Themesberg and licensed under CC BY 4.0.

Installation #

Add flowbite_ui dependency to your Flutter project:

dependencies:
  flowbite_ui: ^<latest-version>
  # Optional:
  flowbite_icons: ^<latest-version>

Getting Started #

Before using the components below, make sure that theme and darkTheme are set properly in your app:

MaterialApp(
  theme: FlowbiteTheme.light, // Set light theme
  darkTheme: FlowbiteTheme.dark, // Set dark theme
  themeMode: ThemeMode.system, // Optional: Make the app follow system's theme.
  home: Scaffold(
    body: Text('My App'),
  ),
)

Reference #

Components #

Alert #

Illustrations:

Usage example:

import 'package:flowbite_ui/flowbite_ui.dart';
import 'package:flowbite_icons/flowbite_icons.dart';

// Default/Normal
FlowbiteAlert(
  text: "Great job! You've acknowledged this significant alert message.",
  color: FlowbiteAlertColor.normal,
  onTapClose: () {},
)
// Complex
FlowbiteAlert.complex(
  heading: 'Alert heading',
  text: "Great job! You've acknowledged this significant alert message.",
  color: FlowbiteAlertColor.normal,
  onTapClose: () {},
  buttonLabel: 'Learn more',
  leadingIcon: Icon(FlowbiteOutlineIcons.open_book),
  onPressedButton: () {},
)
// Small
FlowbiteAlert.small(
  text: "Great job! You've acknowledged this significant alert message.",
  badgeText: 'New',
  color: FlowbiteAlertColor.normal,
  onTapClose: () {},
  onTap: () {},
)
// Border Top
FlowbiteAlert.borderTop(
  text: "Great job! You've acknowledged this significant alert message.",
  color: FlowbiteAlertColor.normal,
  onTapClose: () {},
)

Avatar #

Illustrations:

Usage example:

import 'package:flowbite_ui/flowbite_ui.dart';

// With Image
FlowbiteAvatar(
  size: FlowbiteAvatarSize.base, // default
  image: FlowbiteAvatarDefaultAssets.jeseLeos.toAssetImage(),
)
// With Dot
FlowbiteAvatar(
  size: FlowbiteAvatarSize.base, // default
  image: FlowbiteAvatarDefaultAssets.jeseLeos.toAssetImage(),
  showDot: true,
  dotStatus: FlowbiteAvatarDotStatus.online,
)
// With Remove Button
FlowbiteAvatar(
  size: FlowbiteAvatarSize.base, // default
  image: FlowbiteAvatarDefaultAssets.jeseLeos.toAssetImage(),
  showRemoveButton: true,
  onTapRemoveButton: () {},
)
// With Placeholder
FlowbiteAvatar(
  size: FlowbiteAvatarSize.base, // default
  placeholder: 'PH',
)

Avatar Group #

Illustrations:

Usage example:

import 'package:flowbite_ui/flowbite_ui.dart';

FlowbiteAvatarGroup(
  avatars: [
    FlowbiteAvatarDefaultAssets.josephMcFall.toAssetImage(),
    FlowbiteAvatarDefaultAssets.neilSims.toAssetImage(),
    FlowbiteAvatarDefaultAssets.karenNelson.toAssetImage(),
    FlowbiteAvatarDefaultAssets.robertBrown.toAssetImage(),
    FlowbiteAvatarDefaultAssets.leslieLivingston.toAssetImage(),
  ].map((image) => FlowbiteAvatar(image: image)).toList(),
  size: FlowbiteAvatarGroupSize .base,
  counter: '+10', // optional
)

Avatar Group Label #

Illustrations:

Usage example:

import 'package:flowbite_ui/flowbite_ui.dart';

FlowbiteAvatarGroupLabel(
  avatarImage: FlowbiteAvatarDefaultAssets.jeseLeos.toAssetImage(),
  title: 'Jese Leos',
  subtitle: 'name@flowbite.com', // optional
  size: FlowbiteAvatarGroupLabelSize.base, // default
)

Badge #

Illustrations:

Usage example:

import 'package:flowbite_ui/flowbite_ui.dart';
import 'package:flowbite_icons/flowbite_icons.dart';

// With Icon
FlowbiteBadge.icon(
  text: 'Badge text',
  icon: FlowbiteOutlineIcons.clock,
  theme: FlowbiteBadgeTheme.brand, // default
  size: FlowbiteBadgeSize.sm, // default
  onTap: () {},
)
// With Avatar
FlowbiteBadge.avatar(
  text: 'Badge text',
  avatar: FlowbiteAvatar(
    image: FlowbiteAvatarDefaultAssets.bonnieGreen.toAssetImage(),
  ),
  theme: FlowbiteBadgeTheme.brand, // default
  size: FlowbiteBadgeSize.sm, // default
  onTap: () {},
)
// With Dot
FlowbiteBadge.dot(
  text: 'Badge text',
  theme: FlowbiteBadgeTheme.brand, // default
  size: FlowbiteBadgeSize.sm, // default
  onTap: () {},
)
// With Spinner
FlowbiteBadge.spinner(
  text: 'Badge text',
  spinner: const FlowbiteSpinner(value: 0.3),
  theme: FlowbiteBadgeTheme.brand, // default
  size: FlowbiteBadgeSize.sm, // default
  onTap: () {},
)
// With Secondary Text
FlowbiteBadge.icon(
  text: 'Badge text',
  secondaryText: 'Secondary text',
  icon: FlowbiteOutlineIcons.clock,
  theme: FlowbiteBadgeTheme.brand, // default
  size: FlowbiteBadgeSize.sm, // default
  onTap: () {},
)
// Icon Only
FlowbiteBadge.iconOnly(
  icon: FlowbiteOutlineIcons.clock,
  theme: FlowbiteBadgeTheme.brand, // default
  size: FlowbiteBadgeSize.sm, // default
  onTap: () {},
)
// Text Only
FlowbiteBadge.textOnly(
  text: '1',
  theme: FlowbiteBadgeTheme.brand, // default
  size: FlowbiteBadgeSize.sm, // default
  onTap: () {},
)

Button #

Illustrations:

Usage example:

import 'package:flowbite_ui/flowbite_ui.dart';
import 'package:flowbite_icons/flowbite_icons.dart';

// With Icon
FlowbiteButton.icon(
  onPressed: () {},
  label: Text('Button text'),
  leadingIcon: Icon(FlowbiteOutlineIcons.arrow_left),
  trailingIcon: Icon(FlowbiteOutlineIcons.arrow_right),
  color: FlowbiteButtonColor.brand, // default
  size: FlowbiteButtonSize.base, // default
)
// Icon Only
FlowbiteButton.iconOnly(
  onPressed: () {},
  icon: Icon(FlowbiteOutlineIcons.heart),
  color: FlowbiteButtonColor.brand, // default
  size: FlowbiteButtonSize.base, // default
)
// Outlined With Icon
FlowbiteOutlinedButton.icon(
  onPressed: () {},
  label: Text('Button text'),
  leadingIcon: Icon(FlowbiteOutlineIcons.arrow_left),
  trailingIcon: Icon(FlowbiteOutlineIcons.arrow_right),
  color: FlowbiteOutlinedButtonColor.success, // default
  size: FlowbiteButtonSize.base, // default
)
// Outlined Icon Only
FlowbiteOutlinedButton.iconOnly(
  onPressed: () {},
  icon: Icon(FlowbiteOutlineIcons.heart),
  color: FlowbiteOutlinedButtonColor.success, // default
  size: FlowbiteButtonSize.base, // default
)

Icon Shape #

Illustrations:

Usage example:

import 'package:flowbite_ui/flowbite_ui.dart';
import 'package:flowbite_icons/flowbite_icons.dart';

FlowbiteIconShape(
  icon: FlowbiteOutlineIcons.fire,
  type: FlowbiteIconShapeType.circle, // default
  color: FlowbiteIconShapeColor.brand, // default
  size: FlowbiteIconShapeSize.base, // default
)

Spinner #

Illustrations:

Usage example:

import 'package:flowbite_ui/flowbite_ui.dart';

FlowbiteSpinner(
  size: FlowbiteSpinnerSize.base, // default
  showTrack: true, // default
  value: null, // default
)

Issues #

For issues, file directly in the repository.

Find this library useful? ❤️ #

Support it by joining stargazers for this repository. ⭐️
Also, follow me on GitHub for my next project! 🤩

License #

Copyright 2026 hanmajid (Muhammad Farhan Majid)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
0
likes
0
points
497
downloads

Publisher

verified publisherhanmajid.com

Weekly Downloads

Flowbite UI Kit

Repository (GitHub)
View/report issues

Funding

Consider supporting this project:

github.com

License

unknown (license)

Dependencies

collection, flowbite_icons, flutter

More

Packages that depend on flowbite_ui