seasonal_decor 1.3.0 copy "seasonal_decor: ^1.3.0" to clipboard
seasonal_decor: ^1.3.0 copied to clipboard

Seasonal Flutter animations and festive particle overlays for Ramadan, Eid, Christmas, Valentine, Halloween, and New Year.

seasonal_decor #

[Seasonal Decor Logo]

Flutter Pub Version Production Ready

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
  • โšฝ Football 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.

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/high for daily screens
  • Use high/extraHigh/max only for short celebration moments

๐ŸŽฎ Interactive Demo Controls #

In the advanced example app (example/lib/advanced_main.dart), users can interact with:

  • Preset picker and intensity controls
  • repeatEvery and 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.ramadan(variant: RamadanVariant.hangingLanterns) (new)
  • SeasonalPreset.eid()
  • SeasonalPreset.christmas()
  • SeasonalPreset.newYear()
  • SeasonalPreset.valentine()
  • SeasonalPreset.halloween()
  • SeasonalPreset.football() (sportEvent() still works as alias)
  • SeasonalPreset.none()

๐ŸŽฌ Preset GIF Previews #

If GIFs do not render in your mirror/CDN, open files directly from assets/gif/.

Ramadan Ramadan Lights Eid al-Fitr
[Ramadan] [Ramadan Lights] [Eid al-Fitr]
Eid al-Adha Christmas Valentine
[Eid al-Adha] [Christmas] [Valentine]
New Year Halloween Football
[New Year] [Halloween] [Football]

๐ŸŽ› 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 #

Live Demo

๐Ÿ“ฆ Installation #

Add this to your pubspec.yaml:

dependencies:
  seasonal_decor: ^1.3.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 (Full Table) #

Option Type Default Description
key Key? null Optional widget key.
child Widget Required Widget rendered under the seasonal overlay.
preset SeasonalPreset Required Preset scene (ramadan, eid, christmas, football, etc.).
enabled bool true Enables/disables particles and timed playback.
intensity DecorIntensity DecorIntensity.medium Controls particle count and base speed profile.
opacity double 1.0 Global overlay opacity multiplier.
respectReduceMotion bool true Honors platform "reduce motion" accessibility setting.
pauseWhenInactive bool true Pauses animation while app is backgrounded/inactive.
ignorePointer bool true Lets touches pass through the overlay.
playDuration Duration Duration(seconds: 5) Time to keep each play cycle running.
settleOnDisable bool true Lets particles settle smoothly when stopped.
repeatEvery Duration? null Optional interval to replay after each cycle.
showBackdrop bool true Master toggle for all backdrop rendering.
showBackdropWhenDisabled bool true Keeps backdrops visible even when enabled: false.
showBackgroundBackdrops bool true Toggle for background-layer built-in backdrops.
backgroundBackdrop Widget? null Custom widget replacing built-in background backdrops.
showDecorativeBackdrops bool true Toggle for decorative-layer built-in backdrops.
showText bool false Shows animated seasonal greeting text.
text String? null Custom greeting; when empty/null uses preset default text.
textStyle TextStyle? null Overrides greeting text style.
textOpacity double 0.5 Greeting text opacity multiplier.
textAlignment Alignment Alignment.topCenter Greeting text alignment in overlay.
textPadding EdgeInsets EdgeInsets.fromLTRB(20, 56, 20, 0) Padding around greeting text.
textDisplayDuration Duration Duration(milliseconds: 1800) How long text stays visible before exit animation.
textAnimationDuration Duration Duration(milliseconds: 550) Enter/exit animation duration for text.
textSlideOffset Offset Offset(0, -0.2) Slide offset used for hidden text position.
particleSpeedMultiplier double 1.0 Additional runtime multiplier for particle speed.
particleSizeMultiplier double 1.0 Additional runtime multiplier for particle size.
decorativeBackdropDensityMultiplier double 1.0 Density multiplier for decorative backdrop details.
decorativeBackdropRows int? null Fixed row count for decorative rows (garlands/bunting/lights).
ramadanBuntingRows int? null Fixed row count specifically for Ramadan bunting.
adaptColorsToTheme bool true Adapts colors for light/dark theme visibility.
presetShapes List<ParticleShape>? null Overrides preset particle shapes.
presetStyles List<ParticleStyle>? null Overrides full preset particle styles.
presetShapeSpeedMultipliers Map<ParticleShape, double>? null Per-shape speed multipliers applied to preset styles.
presetBackdrop DecorBackdrop? null Overrides preset single backdrop.
presetBackdrops List<DecorBackdrop>? null Overrides preset backdrop list.
presetBackdropType BackdropType? null Overrides type for preset backdrop(s).
presetBackdropAnchor Offset? null Overrides anchor for preset backdrop(s).
presetBackdropSizeFactor double? null Overrides size factor for preset backdrop(s).
presetBackdropColor Color? null Overrides color for preset backdrop(s).
presetBackdropOpacity double? null Overrides opacity for preset backdrop(s).
presetEnableFireworks bool? null Overrides fireworks behavior for presets that support it.

๐Ÿงช Example #

Run example app:

flutter run -t example/lib/main.dart

Run advanced demo:

flutter run -t example/lib/advanced_main.dart

๐Ÿ“„ License #

MIT License. See LICENSE.

13
likes
0
points
426
downloads

Publisher

verified publishertamoura.me

Weekly Downloads

Seasonal Flutter animations and festive particle overlays for Ramadan, Eid, Christmas, Valentine, Halloween, and New Year.

Repository (GitHub)
View/report issues

Topics

#flutter #animation #particles #celebration #seasonal

License

unknown (license)

Dependencies

flutter

More

Packages that depend on seasonal_decor