easy_theme_extension 0.0.1-dev.6 copy "easy_theme_extension: ^0.0.1-dev.6" to clipboard
easy_theme_extension: ^0.0.1-dev.6 copied to clipboard

A zero-boilerplate code generator for Flutter ThemeExtension classes.

easy_theme_extension #

A zero-boilerplate generator for Flutter ThemeExtension classes.

Define your theme as an annotated abstract class. The generator creates the full immutable implementation with constructor, fields, copyWith, lerp and more.


Installation #

flutter pub add \
  easy_theme_extension \
  dev:easy_theme_extension_builder \
  dev:build_runner

Usage #

1. Define your theme contract #

@easyTheme
abstract class _MyTheme {
  Color? get primary;
  Color? get secondary;
  EdgeInsets get padding;
}

2. Run the generator #

dart run build_runner build

3. Use the generated extension #

final theme = ThemeData(
  extensions: [
    MyTheme(
      primary: Colors.blue,
      secondary: Colors.red,
      padding: const EdgeInsets.all(16),
    ),
  ],
);

final myTheme = Theme.of(context).extension<MyTheme>()!;

Contributing #

Contributions, issues, and suggestions are welcome. Open an issue or submit a pull request on GitHub

Package page on pub.dev

License #

Released under the MIT License

0
likes
0
points
326
downloads

Publisher

verified publisheralbinpk.dev

Weekly Downloads

A zero-boilerplate code generator for Flutter ThemeExtension classes.

Repository (GitHub)
View/report issues

Topics

#theming #theme-extension #code-generation #build-runner #source-gen

License

unknown (license)

Dependencies

meta

More

Packages that depend on easy_theme_extension