seasonal_decor 1.2.0
seasonal_decor: ^1.2.0 copied to clipboard
A Flutter package for adding seasonal animations, festive overlays and holiday particle effects like Ramadan, Eid, Christmas, Valentine, Halloween and New Year - with one line of code. Works on Mobile [...]
seasonal_decor #

Add beautiful seasonal animations and festive overlays to your Flutter app with one line of code.
Bring Ramadan vibes, Christmas magic, Valentine effects, New Year celebrations, and more instantly.
Install with one command: flutter pub add seasonal_decor
โจ Features
๐ Christmas snow and festive decorations
๐ Ramadan lanterns and crescents
๐ Eid balloons and sparkles
๐ Halloween particles and spooky mood
โค๏ธ Valentine hearts
๐ New Year fireworks and confetti
๐ Sports celebration mode
๐ Light and dark theme adaptation
๐ฑ Android, iOS, Web, Windows, macOS, Linux
๐ Control intensity, speed, size, and backdrop layers
๐ฌ Animated greeting text (showText, text, textOpacity)
๐ Quick Start #
SeasonalDecor(
preset: SeasonalPreset.ramadan(),
intensity: DecorIntensity.medium,
child: const HomeScreen(),
);
That is it. Instant festive UI.
โ Recommended Setup #
SeasonalDecor(
preset: SeasonalPreset.ramadan(),
intensity: DecorIntensity.high,
playDuration: const Duration(seconds: 8),
repeatEvery: const Duration(minutes: 2),
showBackdrop: true,
showText: true,
textOpacity: 0.5,
particleSpeedMultiplier: 1.1,
adaptColorsToTheme: true,
child: const HomeScreen(),
);
Recommended defaults for most apps:
- Keep
respectReduceMotion: true(default) - Keep
pauseWhenInactive: true(default) - Use
intensity: DecorIntensity.medium/highfor daily screens - Use
high/extraHigh/maxonly for short celebration moments
๐ฎ Interactive Demo Controls #
In the example app, users can interact with:
- Preset picker and intensity controls
repeatEveryand play duration- Backdrop visibility by layer (background/decorative)
- Greeting text toggle, text input, and text animation controls
- Reduce-motion behavior and simulation
๐จ Available Presets #
SeasonalPreset.ramadan()SeasonalPreset.eid()SeasonalPreset.christmas()SeasonalPreset.newYear()SeasonalPreset.valentine()SeasonalPreset.halloween()SeasonalPreset.sportEvent()SeasonalPreset.none()
๐ Customization #
SeasonalDecor(
preset: SeasonalPreset.christmas(),
intensity: DecorIntensity.high,
particleSpeedMultiplier: 1.2,
particleSizeMultiplier: 1.1,
showBackdrop: true,
showBackgroundBackdrops: true,
showDecorativeBackdrops: true,
showText: true,
textOpacity: 0.5,
repeatEvery: const Duration(minutes: 2),
child: const HomeScreen(),
);
โ๏ธ Why Not Just Confetti ? #
| Feature | seasonal_decor |
confetti-style package |
|---|---|---|
| Seasonal presets | Yes | No |
| Decorative backdrops | Yes | No |
| One-line setup | Yes | Limited |
| Theme adaptive | Yes | No |
| Greeting text overlay | Yes | No |
| Layer-level backdrop control | Yes | No |
๐ Live Demo #
๐ฆ Installation #
Add this to your pubspec.yaml:
dependencies:
seasonal_decor: ^1.2.0
Then run:
flutter pub get
Or simply:
flutter pub add seasonal_decor
๐งช Quick Recipes #
Confetti only (disable fireworks in New Year):
SeasonalDecor(
preset: SeasonalPreset.newYear(),
presetEnableFireworks: false,
child: const HomeScreen(),
);
Backdrop only:
SeasonalDecor(
preset: SeasonalPreset.ramadan(),
presetShapes: const <ParticleShape>[],
showBackdrop: true,
child: const HomeScreen(),
);
Greeting text with default seasonal message:
SeasonalDecor(
preset: SeasonalPreset.ramadan(),
showText: true,
textOpacity: 0.5, // default
child: const HomeScreen(),
);
Custom message:
SeasonalDecor(
preset: SeasonalPreset.eid(variant: EidVariant.adha),
showText: true,
text: 'Eid Mubarak',
textStyle: const TextStyle(
fontSize: 36,
fontWeight: FontWeight.w700,
),
textDisplayDuration: const Duration(seconds: 2),
textAnimationDuration: const Duration(milliseconds: 550),
child: const HomeScreen(),
);
Custom background backdrop widget:
SeasonalDecor(
preset: SeasonalPreset.ramadan(),
showBackdrop: true,
backgroundBackdrop: Align(
alignment: const Alignment(0.85, -0.7),
child: Icon(Icons.nightlight_round, size: 180, color: Color(0x66FFE2A6)),
),
child: const HomeScreen(),
);
โ๏ธ Core Options (Quick Table) #
| Option | Default | Description |
|---|---|---|
enabled |
true |
Show/hide overlay. |
intensity |
medium |
Particle count and base speed profile. |
opacity |
1.0 |
Global overlay opacity. |
showBackdrop |
true |
Render backdrop graphics. |
showBackgroundBackdrops |
true |
Toggle built-in background backdrop layer. |
showDecorativeBackdrops |
true |
Toggle decorative backdrop layer. |
backgroundBackdrop |
null |
Custom widget replacing built-in background backdrops. |
showText |
false |
Show animated greeting text. |
textOpacity |
0.5 |
Greeting text opacity multiplier. |
particleSpeedMultiplier |
1.0 |
Runtime speed scale. |
particleSizeMultiplier |
1.0 |
Runtime size scale. |
decorativeBackdropDensityMultiplier |
1.0 |
Decorative backdrop detail density scale. |
playDuration |
5s |
Playback duration per cycle. |
repeatEvery |
null |
Optional replay interval. |
๐งช Example #
Run example app:
flutter run -t example/lib/main.dart
Run advanced demo:
flutter run -t example/lib/advanced_main.dart
๐ฆ Releases #
- GitHub Releases: https://github.com/tamourax/seasonal_decor/releases
- Release notes draft:
release_notes/v1.2.0.md - Full changelog:
CHANGELOG.md
๐ License #
MIT License. See LICENSE.