app_theme_kit 0.0.1 copy "app_theme_kit: ^0.0.1" to clipboard
app_theme_kit: ^0.0.1 copied to clipboard

A modular Flutter theming kit with light/dark mode, color schemes, text themes, and Material 3 subthemes.

📦 app_theme_kit #

A reusable Material 3 theme package for Flutter apps with customizable color schemes, text styles, subthemes, and spacing constants.
Quickly set up a consistent design system across your apps.


✨ Features #

  • 🎨 Predefined light & dark themes (ThemeData)
  • 🔤 Custom TextTheme with Google Fonts (Quicksand)
  • 📏 Design tokens: spacing, padding, radius, elevation
  • 🃏 Subthemes included:
    • CardTheme
    • TabBarTheme
    • NavigationBarTheme
    • BottomAppBarTheme
  • 🌗 Material 3 support with system light/dark switching
  • 🛠 Example app included to showcase usage

🚀 Installation #

Add to your pubspec.yaml:

dependencies:
  app_theme_kit: ^0.0.1

Then run:

flutter pub get

🛠 Usage #

Import the package:

import 'package:app_theme_kit/app_theme_kit.dart';

Wrap your app:

MaterialApp(
  title: 'My App',
  theme: AppTheme.light,
  darkTheme: AppTheme.dark,
  themeMode: ThemeMode.system, // Light, Dark, or System
  home: const HomePage(),
);

🖌 Typography Showcase #

Text("Display Large", style: Theme.of(context).textTheme.displayLarge),
Text("Title Medium", style: Theme.of(context).textTheme.titleMedium),
Text("Body Small", style: Theme.of(context).textTheme.bodyMedium),

✅ All fonts use Google Fonts Quicksand by default.


🧩 Subthemes #

  • Cards
Card(
  child: Padding(
    padding: const EdgeInsets.all(AppSpacing.md),
    child: Text("Styled by AppCardTheme"),
  ),
);
  • TabBar
DefaultTabController(
  length: 2,
  child: Scaffold(
    appBar: AppBar(
      bottom: const TabBar(
        tabs: [Tab(text: "One"), Tab(text: "Two")],
      ),
    ),
  ),
);
  • NavigationBar
NavigationBar(
  selectedIndex: 0,
  destinations: const [
    NavigationDestination(icon: Icon(Icons.home), label: "Home"),
    NavigationDestination(icon: Icon(Icons.settings), label: "Settings"),
  ],
);
  • BottomAppBar
Scaffold(
  bottomNavigationBar: BottomAppBar(
    child: Padding(
      padding: const EdgeInsets.all(AppSpacing.md),
      child: Text(
        "This BottomAppBar uses AppBottomAppBarTheme",
        textAlign: TextAlign.center,
      ),
    ),
  ),
);

📏 Design Tokens (Spacing & Radius) #

Padding(
  padding: const EdgeInsets.all(AppSpacing.md),
  child: Container(
    decoration: BoxDecoration(
      borderRadius: BorderRadius.circular(AppSpacing.radiusMd),
      color: AppColors.cardBg,
    ),
    child: const Text("Consistent spacing & radius"),
  ),
);

✅ Use AppSpacing for padding, margins, radius, and elevation to keep your UI consistent.


📲 Example App #

An example app is included in the /example folder.

Run it with:

cd example
flutter run

It demonstrates:

  • Light/Dark themes
  • Typography styles
  • Cards, TabBar, NavigationBar, BottomAppBar
  • Spacing tokens in action

📷 Screenshots #

Add screenshots here after running the example app.

Light Mode Dark Mode
[Light] [Dark]

📝 Roadmap #

  • ❌ Add support for custom font configuration
  • ❌ Add more subthemes (FloatingActionButton, Snackbar, etc.)
  • ❌ Add color scheme generator from seed color

🤝 Contributing #

Contributions are welcome!

  • Open issues for bugs/features
  • Submit PRs with improvements
  • Share ideas in Discussions

📄 License #

This project is licensed under the MIT License.
See LICENSE for details.

1
likes
0
points
138
downloads

Publisher

unverified uploader

Weekly Downloads

A modular Flutter theming kit with light/dark mode, color schemes, text themes, and Material 3 subthemes.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, google_fonts

More

Packages that depend on app_theme_kit