Skip to main content

app_ui_kit 0.0.1+4 copy "app_ui_kit: ^0.0.1+4" to clipboard
app_ui_kit: ^0.0.1+4 copied to clipboard

A comprehensive Flutter UI kit with theming, components, and design presets.

app_ui_kit #

A comprehensive Flutter UI kit with theming, component library, design presets, headless state management, and Google Fonts integration.

Features #

๐ŸŽจ 12 Design Presets #

Quickly theme your app with brand-inspired presets: Default, Vercel, Airbnb, Apple, Spotify, Vibrant, High Contrast, Starbucks, Linear, Notion, MongoDB, and Raycast. Each preset defines colors, typography, and border radii โ€” applied automatically to 30+ Material sub-themes.

๐Ÿงฉ 30+ Widget Components #

  • App Bars: AppBarV1, TabBarV1, PersistentHeaderV1
  • Buttons: AppButton (with icon factory), AppOutlineButton, AppTextButton
  • Inputs: BaseTextField, InputField, PasswordField, PhoneField, SearchInputField, SearchFeatureField + Validators utility
  • Dialogs: ActionDialog, BottomSheetSelectContent, ToastV1
  • Frames: IconFrame, ListFrame, ProfileFrame, ScreenFrame
  • Scaffolds: BaseScaffold, ScaffoldV1, LoadingOverlayV1
  • States: LoadingIndicator, LoadingShimmer, InfoDisplay
  • Custom Widgets: CustomIcon, DividerV1, Dot, ExpansionTileV1, HyperLinkText, InitialsDisplay, ListTileV1, PasswordStrengthChecker

All adaptive widgets automatically render Material or Cupertino variants based on platform.

๐Ÿง  Headless State Management #

Lightweight ChangeNotifier-based state management with HeadlessValueController, ToggleController, and HeadlessBuilder widget. Zero external state management dependencies โ€” no hooks, no providers, no blocs.

๐Ÿ›  Helpers #

DateTimeHelper, DialogHelper, InteractionHelper, SliverHelper, SnackBarHelper, ToastHelper.

๐Ÿ”ค Google Fonts Integration #

When a fontFamily is provided (e.g., 'Inter', 'Roboto'), the theme builder automatically resolves it via GoogleFonts.getFont(). Works with any Google Font โ€” no manual font asset setup required. System fonts (.SF Pro Display, Airbnb Cereal) fall back gracefully.

๐Ÿงช 180 Passing Tests #

Full test coverage across all components, presets, themes, helpers, and controllers.

Getting started #

Add app_ui_kit to your pubspec.yaml:

dependencies:
  app_ui_kit:
    path: path/to/app_ui_kit

Requires Dart SDK ^3.9.2 and Flutter >=3.35.4.

Usage #

import 'package:app_ui_kit/app_ui_kit.dart';

void main() {
  AppUiKit.initialize(
    config: AppUiKitConfig(
      preset: AppUiKitPreset.spotify,
      fontFamily: 'Inter',
    ),
  );

  runApp(const App());
}

class App extends StatelessWidget {
  const App({super.key});

  @override
  Widget build(BuildContext context) {
    final themes = AppUiKit.themes;
    return MaterialApp(
      theme: themes.lightTheme,
      darkTheme: themes.darkTheme,
      themeMode: themes.themeMode,
      home: const HomeScreen(),
    );
  }
}

Quick start with a design preset #

import 'package:app_ui_kit/app_ui_kit.dart';

class App extends StatelessWidget {
  const App({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: AppTheme.build(preset: DesignPreset.apple),
      home: const HomeScreen(),
    );
  }
}

Using components #

AppButton(
  text: 'Get Started',
  type: AppButtonType.primary,
  onTap: () {},
)

ActionDialog(
  title: 'Confirm',
  subtitle: 'Are you sure?',
  primaryText: 'Yes',
  secondaryText: 'No',
  onPrimary: () => print('Confirmed'),
  onSecondary: () => print('Cancelled'),
)

BaseTextField(
  hintText: 'Enter your email',
  labelText: 'Email',
  prefixIcon: Icon(Icons.email_outlined),
)

Components #

Category Widgets
App Bars AppBarV1, TabBarV1, PersistentHeaderV1
Buttons AppButton, AppOutlineButton, AppTextButton
Inputs BaseTextField, InputField, PasswordField, PhoneField, SearchInputField, SearchFeatureField
Dialogs ActionDialog, BottomSheetSelectContent, ToastV1
Frames IconFrame, ListFrame, ProfileFrame, ScreenFrame
Scaffolds BaseScaffold, AppScaffold, LoadingOverlayV1
States LoadingIndicator, LoadingShimmer, InfoDisplay
Custom CustomIcon, DividerV1, Dot, ExpansionTileV1, HyperLinkText, InitialsDisplay, ListTileV1, PasswordStrengthChecker

Presets #

Preset Font Family Seed Color
Default System #4F46E5
Vercel Inter #000000
Airbnb Airbnb Cereal #FF385C
Apple .SF Pro Display #007AFF
Spotify Inter #1ED760
Vibrant System #7C3AED
High Contrast System #000000
Starbucks System #006241
Linear Inter #5E6AD2
Notion System #0075DE
MongoDB System #00ED64
Raycast System #FFFFFF

Additional information #

  • Run tests: flutter test
  • Analyze: flutter analyze
  • Browse the example app in the example/ directory to see all components in action:
    cd example && flutter run
    
1
likes
160
points
9
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter UI kit with theming, components, and design presets.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, flutter_animated_dialog_updated, flutter_screenutil, flutter_styled_toast, flutter_svg, google_fonts, intl, intl_phone_field, lottie

More

Packages that depend on app_ui_kit