Use on abstract classes that implement a color theme schema.
Annotations are used to generate the implementation code for the color theme class.
When implementing your class, you must add getter override for either themeData or cupertinoThemeData.
You could also implement both if you wish to support both Material and Cupertino theming in your app.
Example:
A dropdown field that allows selecting prefered app's theme brightness
Available options are ThemeBrightness.light, ThemeBrightness.dark, and ThemeBrightness.system.
Upon changing the selection, the theme will also change accordingly. If multiple themes were provided, matching
the desired brightness, the first matching theme will be applied.
A dropdown field that allows selecting a theme from Colorist's ThemeManager.
Changing active theme will also set prefered BrightnessTheme to one matching the theme.
If the Brightness matches the current system brightness, the app will continue using system brightness.
Options for generating color getters for different UI frameworks (MaterialApp or CupertinoApp).
The getter generated for a @ColorTheme is for simplified access to your colors: context.colors.