This component no longer exists. It was in vanillasky’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-12 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
Emoji Burst
vanillasky/emojiBurstRemovedBlock
Themed celebration where a small emoji set communicates the moment, such as launch, love, achievement, or delight. Prefer confetti for generic celebration.
See it running
Open the demo on vanillasky
vanillasky.ai/docs/components/emojiBurstInstall it
npx shadcn@latest add https://vanillasky.ai/r/emojiBurst.jsonSource
1/**2 * bg-emoji — emoji characters bursting outward like fireworks.3 *4 * Progress-driven particle positions for export compatibility.5 * Emojis burst from center, drift outward, then fall with gravity.6 */78import type { VariableField } from "../video-config";9import type { SceneTemplateProps } from "./types";10import { resolveTokens } from "../theme";11import { TemplateText } from "./template-text";12import type { TextArchetype } from "../typography";13import { BrandGradientOverlay } from "../backgrounds";14import { Emoji } from "../emoji";1516export const bgEmojiSchema: Record<string, VariableField> = {17 texts: {18 type: "string",19 label: "Text",20 default: "Let's go!",21 required: true,22 description: "Title text shown on the scene",23 },24 textColor: {25 type: "color",26 label: "Text color",27 default: "",28 description: "Override text color (leave empty for auto)",29 },30};3132export const bgEmojiDefaults: Record<string, unknown> = {33 texts: "Let's go!",34 textColor: "",35};3637function seededRandom(seed: number): number {38 const x = Math.sin(seed * 12.9898 + seed * 78.233) * 43758.5453;39 return x - Math.floor(x);40}4142const EMOJI_LIST = [43 "\u2764\uFE0F", // red heart44 "\u2B50", // star45 "\uD83C\uDF89", // party popper46 "\uD83E\uDD84", // unicorn47 "\uD83D\uDD25", // fire48 "\u2728", // sparkles49 "\uD83D\uDE80", // rocket50 "\uD83D\uDC9C", // purple heart51];5253const PARTICLE_COUNT = 100;5455// Physics: even angular fan-out (360°) from center. Emojis fly radially56// outward in their launch direction until they exit the frame — no falling57// trajectory, which previously read as "celebration failed". A very gentle58// gravity tugs them slightly downward over time so the motion still feels59// natural. No 3D flip — flipped emojis read backwards.6061function easeOutQuad(p: number): number {62 return 1 - (1 - p) * (1 - p);63}6465export const BgEmojiTemplate: React.FC<SceneTemplateProps> = ({66 variables,67 style,68 progress,69 beatIntensity,70 width,71 height,72 textArchetype,73 safeZone,74 sceneDuration,75}) => {76 const s = Math.min(width, height) / 1080;77 /* Radial burst — sized off the long edge so even particles launched78 * along the long axis exit the frame by progress=1. Half-diagonal of79 * a 9:16 frame ≈ 0.61 * longEdge; 0.95 leaves ~35% headroom past the80 * corner so emojis are clearly travelling, not parked at the edge. */81 const BURST_RADIUS = Math.max(width, height) * 0.95;82// … truncated
What it pulls in
npm packages
Other registry items
