Skip to content

✨ Confetti#1206

Merged
Rotshrek merged 18 commits into
mainfrom
feat/confetti
Jan 15, 2026
Merged

✨ Confetti#1206
Rotshrek merged 18 commits into
mainfrom
feat/confetti

Conversation

@Rotshrek
Copy link
Copy Markdown
Contributor

@Rotshrek Rotshrek commented Jan 12, 2026

Azure DevOps links

User story


  • Needs to be tested locally by reviewer

Description

This PR creates an ACL Confetti component based on the animation I was working on for Recap. It has two usages:
-As a Confetti component with a series of props controlling type of confetti (boom or shower), duration, repetitions, etc. This component just needs to be rendered to trigger the confetti, and so mounting/unmounting is expected to be handled by the developer using it.
-As a hook that can be called within the Confetti Provider that shows up a confetti boom or shower front and center, by using a react portal straight to the document body.

Copilot AI review requested due to automatic review settings January 12, 2026 14:17
@Rotshrek Rotshrek changed the title Feat/confetti ✨ Confetti Jan 12, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new Confetti component to the ACL library with animation capabilities for celebrating user actions. The component supports two modes: "boom" (burst from center) and "shower" (continuous rain), with customizable colors, shapes, durations, and effects. It also includes imperative APIs for programmatic triggering.

Changes:

  • New Confetti component with declarative React API and imperative function-based API
  • Seasonal color palettes with automatic detection for holidays and special events
  • Canvas-based particle animation system with physics simulation
  • Comprehensive test coverage for utilities, component behavior, and imperative functions

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
Confetti.tsx Main component implementing canvas-based animation with boom/shower modes
Confetti.types.ts Type definitions for component props and particle system
Confetti.constants.ts Default colors, shapes, and physics constants
Confetti.styles.tsx Styled canvas element for rendering
Confetti.stories.tsx Storybook stories demonstrating component usage
utils/utils.ts Color conversion and random number utilities
utils/seasonalColors.ts Color palettes for seasonal events
utils/getSeasonalEvent.ts Date-based seasonal event detection
utils/drawShapes.ts Canvas drawing functions for different particle shapes
utils/createParticle.ts Particle factory with physics simulation
utils/createConfetti.ts Batch particle creation for boom/shower modes
imperatives/boomConfetti.tsx Imperative API for single boom effect
imperatives/showerConfetti.tsx Imperative API for shower effect
Confetti.test.tsx Component behavior and validation tests
Confetti.utils.jsdom.test.tsx Utility function tests
Confetti.imperatives.jsdom.test.tsx Imperative API tests

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/molecules/Confetti/Confetti.utils.jsdom.test.tsx Outdated
Comment thread src/molecules/Confetti/Confetti.utils.jsdom.test.tsx Outdated
Comment thread src/molecules/Confetti/Confetti.imperatives.jsdom.test.tsx Outdated
Comment thread src/molecules/Confetti/Confetti.styles.tsx
Comment thread src/molecules/Confetti/utils/getSeasonalEvent.ts
Comment thread src/molecules/Confetti/utils/utils.ts Outdated
Comment thread src/molecules/Confetti/Confetti.utils.jsdom.test.tsx
Comment thread src/molecules/Confetti/Confetti.tsx Outdated
Comment thread src/molecules/Confetti/utils/createConfetti.ts Outdated
Comment thread src/molecules/Confetti/imperatives/showerConfetti.tsx Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 12, 2026

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 99.71% (🎯 100%) 17141 / 17190
🔵 Statements 99.71% (🎯 100%) 17141 / 17190
🔵 Functions 99.83% (🎯 100%) 1242 / 1244
🔵 Branches 99.58% (🎯 100%) 4272 / 4290
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
src/molecules/Confetti/Confetti.constants.ts 100% 100% 100% 100%
src/molecules/Confetti/Confetti.styles.tsx 100% 100% 100% 100%
src/molecules/Confetti/Confetti.tsx 100% 100% 100% 100%
src/molecules/Confetti/utils/createConfetti.ts 100% 100% 100% 100%
src/molecules/Confetti/utils/createParticle.ts 100% 100% 100% 100%
src/molecules/Confetti/utils/drawShapes.ts 100% 100% 100% 100%
src/molecules/Confetti/utils/getSeasonalEvent.ts 100% 100% 100% 100%
src/molecules/Confetti/utils/seasonalColors.ts 100% 100% 100% 100%
src/molecules/Confetti/utils/utils.ts 100% 100% 100% 100%
src/providers/ConfettiProvider/ConfettiProvider.tsx 100% 100% 100% 100%
Generated in workflow #2074 for commit 84caf28 by the Vitest Coverage Report Action

Copilot AI review requested due to automatic review settings January 13, 2026 11:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 10 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/molecules/Confetti/Confetti.tsx Outdated
Comment thread src/molecules/Confetti/utils/utils.ts
Comment thread src/molecules/Confetti/Confetti.utils.jsdom.test.tsx
Comment thread src/providers/ConfettiProvider/ConfettiProvider.tsx
Comment thread src/molecules/Confetti/Confetti.tsx
Comment thread src/molecules/Confetti/utils/drawShapes.ts
Comment thread src/providers/ConfettiProvider/ConfettiProvider.tsx
Comment thread src/molecules/Confetti/Confetti.test.tsx Outdated
Comment thread src/molecules/Confetti/utils/createParticle.ts
Comment thread src/molecules/Confetti/Confetti.stories.tsx Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings January 13, 2026 11:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/providers/ConfettiProvider/ConfettiProvider.test.tsx
Comment thread src/molecules/Confetti/utils/utils.ts Outdated
Comment thread src/molecules/Confetti/Confetti.tsx
Comment thread src/molecules/Confetti/Confetti.tsx Outdated
Comment thread src/molecules/Confetti/Confetti.tsx Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings January 13, 2026 12:04
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 9 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/providers/ConfettiProvider/ConfettiProvider.tsx
Comment thread src/molecules/Confetti/Confetti.tsx Outdated
Comment thread src/molecules/Confetti/utils/utils.ts Outdated
Comment thread src/molecules/Confetti/Confetti.tsx Outdated
Comment thread src/providers/ConfettiProvider/ConfettiProvider.tsx
Comment thread src/molecules/Confetti/utils/utils.ts
Comment thread src/molecules/Confetti/utils/drawShapes.ts
Comment thread src/molecules/Confetti/Confetti.tsx Outdated
Comment thread src/molecules/Confetti/Confetti.tsx
Copilot AI review requested due to automatic review settings January 15, 2026 07:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/providers/ConfettiProvider/ConfettiProvider.tsx
Copilot AI review requested due to automatic review settings January 15, 2026 08:59
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/providers/ConfettiProvider/ConfettiProvider.stories.tsx Outdated
Comment thread src/providers/ConfettiProvider/ConfettiProvider.tsx
Comment thread src/molecules/Confetti/Confetti.tsx
Comment thread src/providers/ConfettiProvider/ConfettiProvider.stories.tsx Outdated
Comment thread src/providers/ConfettiProvider/ConfettiProvider.stories.tsx Outdated
Copilot AI review requested due to automatic review settings January 15, 2026 09:56
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/molecules/Confetti/Confetti.tsx
@Rotshrek Rotshrek merged commit 16f2af8 into main Jan 15, 2026
9 of 11 checks passed
@Rotshrek Rotshrek deleted the feat/confetti branch January 15, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants