Littlefish Material 3 Theming Service

This package provides a theming service for Flutter applications using Material 3 design principles. It is designed to be used within the Littlefish ecosystem, but can be adapted for other Flutter projects.

Features

  • Dynamic theme switching (light/dark/system)
  • Material 3 color schemes and surface blending
  • Centralized theme management
  • Easy integration with existing Flutter apps

Getting Started

Installation

Add the package to your pubspec.yaml:

dependencies:
  littlefish_theming_m3:
    path: ../littlefish_theming_m3

Then run:

flutter pub get

Usage

Import the theming service:

import 'package:littlefish_theming_m3/littlefish_theming_m3.dart';

Initialize and use the theme manager in your app:

final themeManager = LittlefishThemeManager();

MaterialApp(
  theme: themeManager.lightTheme,
  darkTheme: themeManager.darkTheme,
  themeMode: themeManager.themeMode,
  // ...
);

You can update the theme mode dynamically:

themeManager.setThemeMode(ThemeMode.dark);

Customization

  • Override color schemes by providing your own ColorScheme.
  • Extend the service to support custom themes or additional settings.

Contributing

Contributions are welcome! Please open issues or submit pull requests for improvements or bug fixes.

License

This project is licensed under the LittleFish Company License. See the LICENSE file for details.