theme_wizard 0.0.2
theme_wizard: ^0.0.2 copied to clipboard
Theme Wizard adds theme switching to Flutter apps with clean UI widgets (dropdowns, previews, panels) and sensible defaults.
theme_wizard #
Theme Wizard helps you add theme switching to your Flutter apps with clean, customizable UI widgets and sensible defaults. Bring your own ThemeData and state; Theme Wizard handles the UI.
Features #
- Clean, reusable widgets to switch themes
- Theme dropdown with color chips
- Visual theme preview card
- Combined selector panel for quick integration
- Sensible defaults with simple overrides
- Dart 3, null-safety, and documented APIs
Install #
flutter pub add theme_wizard
Import:
import 'package:theme_wizard/theme_wizard.dart';
Quick Start #
final themes = <ThemeModel>[
ThemeModel(
name: 'Blue',
themeData: ThemeData(useMaterial3: true, colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue)),
previewColor: Colors.blue,
),
ThemeModel(
name: 'Green',
themeData: ThemeData(useMaterial3: true, colorScheme: ColorScheme.fromSeed(seedColor: Colors.green)),
previewColor: Colors.green,
),
];
ThemeModel? current = themes.first;
ThemeSelectorPanel(
title: 'Choose a theme',
themes: themes,
selectedTheme: current,
styles: const ThemeSelectorStyles(radius: 16.0, spacing: 16.0),
onChanged: (t) => setState(() => current = t),
);
// Or use the pieces separately
ThemeDropdown(
themes: themes,
selectedTheme: current,
onChanged: (t) => setState(() => current = t),
);
ThemePreviewCard(theme: current!);
Example App #
This package includes an example/
showcasing all widgets with labels for screenshots.
Run it:
cd example
flutter run
Contributing #
- Pull requests are welcome. Please open an issue for discussion first.
- Follow effective Dart style and keep widgets documented.
- Roadmap:
- Additional widgets (toggle)
- Extended style system
- Theming extensions and presets
Screenshots / GIFs #
https://github.com/user-attachments/assets/86fc5f6e-c778-4550-83fa-bd3bd5270257
License #
MIT. See LICENSE.