{"version":3,"file":"Fireworks_Prod.CSX6t2XK.mjs","names":["_define_property","mapRange","radius","gradientCache","MAX_CACHE_SIZE","colorToRGBA","_define_property","_define_property","_define_property","_define_property","_define_property","_define_property","colorToRGBA","Fireworks","useRef","FireworksJs","useRef","useMemo","useState"],"sources":["https:/framerusercontent.com/modules/YoitPSUnANkYAHezo9gJ/SSOvjpkfdh0Wet9P9BJT/helpers.js","https:/framerusercontent.com/modules/RM81nOZmcjYUO1UNDJLt/xS2QgAdEhBxbl38uL0ul/explosion.js","https:/framerusercontent.com/modules/NwrCol0GhajkQLfWUZFt/wD4LgWirFAiFD0INGIlF/mouse.js","https:/framerusercontent.com/modules/kBFrU9aPyh59rNkdA9TM/7HAY1mrJbwFEUlzJDhTQ/options.js","https:/framerusercontent.com/modules/523zM7BlpLJvvw9ftqC4/G4l0GWvbBtGoQcYl8thP/raf.js","https:/framerusercontent.com/modules/sNEsVhoc2H0I3RYoLmy5/6e3iqYfXbhzeagVeeWxV/resize.js","https:/framerusercontent.com/modules/EJVJrbGnV0vJZBzOb0hz/NVQZ435b0r1FYpx1Lyu4/sounds.js","https:/framerusercontent.com/modules/5p4qhUkQ1XwOxtqifV3u/67udCoKU0MAJYP6TvdSg/trace.js","https:/framerusercontent.com/modules/BhaCoDnhGTXJJ5eH7NP3/xWwWNG3GodIKPw9NaOX0/fireworks.js","https:/framerusercontent.com/modules/N7R9q1vir3tFllFA1Dsf/a0T6dnzdLvR3TUrAJ4s3/index.js","https:/framerusercontent.com/modules/Ko6d56oNNOxAZ8y558mQ/FLTrJ9yUjKyM0lsqOB10/FireworksReact3.js","https:/framer.com/m/FireworksReact3-I6FF.js","https:/framerusercontent.com/modules/8tnv9wUYmCXcQAuJW3Vq/rlxda46OpTqZwWSI5LjP/Fireworks_Prod.js"],"sourcesContent":["export function floor(num){return Math.abs(Math.floor(num));}export function randomFloat(min,max){return Math.random()*(max-min)+min;}export function randomInt(min,max){return Math.floor(randomFloat(min,max+1));}export function getDistance(x,y,dx,dy){const pow=Math.pow;return Math.sqrt(pow(x-dx,2)+pow(y-dy,2));}export function hsla(hue,lightness,alpha=1){if(hue>360||hue<0){throw new Error(`Expected hue 0-360 range, got \\`${hue}\\``);}if(lightness>100||lightness<0){throw new Error(`Expected lightness 0-100 range, got \\`${lightness}\\``);}if(alpha>1||alpha<0){throw new Error(`Expected alpha 0-1 range, got \\`${alpha}\\``);}return`hsla(${hue}, 100%, ${lightness}%, ${alpha})`;}const isObject=obj=>{if(typeof obj===\"object\"&&obj!==null){if(typeof Object.getPrototypeOf===\"function\"){const prototype=Object.getPrototypeOf(obj);return prototype===Object.prototype||prototype===null;}return Object.prototype.toString.call(obj)===\"[object Object]\";}return false;};const PROTECTED_KEYS=[\"__proto__\",\"constructor\",\"prototype\"];export const deepMerge=(...objects)=>{return objects.reduce((result,current)=>{Object.keys(current).forEach(key=>{if(PROTECTED_KEYS.includes(key)){return;}if(Array.isArray(result[key])&&Array.isArray(current[key])){result[key]=false?Array.from(new Set(result[key].concat(current[key]))):current[key];}else if(isObject(result[key])&&isObject(current[key])){result[key]=deepMerge(result[key],current[key]);}else{result[key]=current[key];}});return result;},{});};// https://github.com/zero-dependency/utils/blob/master/src/debounce.ts\nexport function debounce(fn,ms){let timeoutId;return(...args)=>{if(timeoutId){clearTimeout(timeoutId);}timeoutId=setTimeout(()=>fn(...args),ms);};}export function clearCache(cache,maxSize){const keys=Object.keys(cache);if(keys.length>maxSize){const keysToRemove=keys.slice(0,keys.length-maxSize+1);keysToRemove.forEach(key=>delete cache[key]);}}\nexport const __FramerMetadata__ = {\"exports\":{\"randomInt\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomFloat\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearCache\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"deepMerge\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hsla\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDistance\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"debounce\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"floor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./helpers.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{randomFloat,randomInt}from\"https://framerusercontent.com/modules/YoitPSUnANkYAHezo9gJ/SSOvjpkfdh0Wet9P9BJT/helpers.js\";const radius=15;const gradientCache={};const MAX_CACHE_SIZE=50;export class Explosion{updateGradients(){if(this.gradientCanvas){return;}const cacheKey=this.color.join(\",\");if(gradientCache[cacheKey]){this.gradientCanvas=gradientCache[cacheKey];return;}// Clear old cache entries if cache is too large\nconst cacheKeys=Object.keys(gradientCache);if(cacheKeys.length>MAX_CACHE_SIZE){// Remove oldest entries\nconst keysToRemove=cacheKeys.slice(0,cacheKeys.length-MAX_CACHE_SIZE+1);keysToRemove.forEach(key=>delete gradientCache[key]);}// Create off-screen canvas once per color\nconst canvas=document.createElement(\"canvas\");const size=radius*2;canvas.width=size;canvas.height=size;const ctx=canvas.getContext(\"2d\");// Create and draw gradient once\nconst gradient=ctx.createRadialGradient(radius,radius,0,radius,radius,radius);gradient.addColorStop(0,`rgba(255,255,255,${this.color[3]})`);gradient.addColorStop(.5,colorToRGBA(this.color,.5));gradient.addColorStop(1,colorToRGBA(this.color,0));ctx.fillStyle=gradient;ctx.fillRect(0,0,size,size);gradientCache[cacheKey]=canvas;this.gradientCanvas=canvas;}update(callback){this.coordinates.pop();this.coordinates.unshift([this.x,this.y]);this.speed*=this.friction;this.x+=Math.cos(this.angle)*this.speed;this.y+=Math.sin(this.angle)*this.speed+this.gravity;this.alpha-=this.decay;if(this.alpha<=this.decay){callback();}}draw(opts){if(this.color[3]===0){return;}const lastIndex=this.coordinates.length-1;this.ctx.beginPath();this.ctx.lineWidth=this.lineWidth;const colorWithAlpha=colorToRGBA(this.color,this.alpha);this.ctx.fillStyle=colorWithAlpha;this.ctx.moveTo(this.coordinates[lastIndex][0],this.coordinates[lastIndex][1]);this.ctx.lineTo(this.x,this.y);this.ctx.strokeStyle=colorWithAlpha;this.ctx.stroke();if(opts.bloom){this.updateGradients();const alpha=this.alpha>=.8?mapRange(this.alpha,.8,1,1,0):this.alpha*.8;this.ctx.globalAlpha=alpha;this.ctx.drawImage(this.gradientCanvas,this.x-radius,this.y-radius);this.ctx.globalAlpha=1;}}static clearCaches(){Object.keys(gradientCache).forEach(key=>delete gradientCache[key]);}constructor({x,y,ctx,color,decay,gravity,friction,flickering,lineWidth,explosionLength}){_define_property(this,\"x\",void 0);_define_property(this,\"y\",void 0);_define_property(this,\"ctx\",void 0);_define_property(this,\"color\",void 0);_define_property(this,\"friction\",void 0);_define_property(this,\"gravity\",void 0);_define_property(this,\"flickering\",void 0);_define_property(this,\"lineWidth\",void 0);_define_property(this,\"explosionLength\",void 0);_define_property(this,\"angle\",void 0);_define_property(this,\"speed\",void 0);_define_property(this,\"coordinates\",[]);_define_property(this,\"decay\",void 0);_define_property(this,\"alpha\",1);_define_property(this,\"gradientCanvas\",null);this.x=x;this.y=y;this.ctx=ctx;this.color=color;this.gravity=gravity;this.friction=friction;this.flickering=flickering;this.lineWidth=lineWidth;this.explosionLength=explosionLength;this.angle=randomFloat(0,Math.PI*2);this.speed=randomInt(1,10);this.decay=randomFloat(decay.min,decay.max);while(this.explosionLength--){this.coordinates.push([x,y]);}}}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}const colorToRGBA=(color,alpha)=>{return`rgba(${color[0]}, ${color[1]}, ${color[2]}, ${color[3]*alpha/2})`;};\nexport const __FramerMetadata__ = {\"exports\":{\"Explosion\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./explosion.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}export class Mouse{get mouseOptions(){return this.options.mouse;}mount(){this.canvas.addEventListener(\"pointerdown\",this.pointerDown);this.canvas.addEventListener(\"pointerup\",this.pointerUp);this.canvas.addEventListener(\"pointermove\",this.pointerMove);}unmount(){this.canvas.removeEventListener(\"pointerdown\",this.pointerDown);this.canvas.removeEventListener(\"pointerup\",this.pointerUp);this.canvas.removeEventListener(\"pointermove\",this.pointerMove);}usePointer(event,active){const{click,move}=this.mouseOptions;if(click||move){this.x=event.pageX-this.canvas.offsetLeft;this.y=event.pageY-this.canvas.offsetTop;this.active=active;}}pointerDown(event){this.usePointer(event,this.mouseOptions.click);}pointerUp(event){this.usePointer(event,false);}pointerMove(event){this.usePointer(event,this.active);}constructor(options,canvas){_define_property(this,\"options\",void 0);_define_property(this,\"canvas\",void 0);_define_property(this,\"active\",void 0);_define_property(this,\"x\",void 0);_define_property(this,\"y\",void 0);this.options=options;this.canvas=canvas;this.active=false;this.pointerDown=this.pointerDown.bind(this);this.pointerUp=this.pointerUp.bind(this);this.pointerMove=this.pointerMove.bind(this);}}\nexport const __FramerMetadata__ = {\"exports\":{\"Mouse\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./mouse.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{deepMerge}from\"https://framerusercontent.com/modules/YoitPSUnANkYAHezo9gJ/SSOvjpkfdh0Wet9P9BJT/helpers.js\";export class Options{update(options){Object.assign(this,deepMerge(this,options));}constructor(){_define_property(this,\"rocketsPoint\",void 0);_define_property(this,\"opacity\",void 0);_define_property(this,\"acceleration\",void 0);_define_property(this,\"friction\",void 0);_define_property(this,\"gravity\",void 0);_define_property(this,\"particles\",void 0);_define_property(this,\"explosion\",void 0);_define_property(this,\"mouse\",void 0);_define_property(this,\"boundaries\",void 0);_define_property(this,\"sound\",void 0);_define_property(this,\"delay\",void 0);_define_property(this,\"brightness\",void 0);_define_property(this,\"decay\",void 0);_define_property(this,\"flickering\",void 0);_define_property(this,\"intensity\",void 0);_define_property(this,\"traceLength\",void 0);_define_property(this,\"traceSpeed\",void 0);_define_property(this,\"lineWidth\",void 0);_define_property(this,\"lineStyle\",void 0);_define_property(this,\"autoresize\",void 0);_define_property(this,\"colors\",void 0);_define_property(this,\"bloom\",void 0);this.autoresize=true;this.lineStyle=\"round\";this.flickering=50;this.traceLength=3;this.traceSpeed=10;this.intensity=30;this.explosion=5;this.gravity=1.5;this.opacity=.5;this.particles=50;this.friction=.95;this.acceleration=1.05;this.bloom=true;this.color={value:[\"#ff0000\",\"#00ff00\",\"#0000ff\"],animate:true};this.rocketsPoint={min:50,max:50};this.lineWidth={explosion:{min:1,max:3},trace:{min:1,max:2}};this.mouse={click:false,move:false,max:1};this.delay={min:30,max:60};this.brightness={min:50,max:80};this.decay={min:.015,max:.03};this.sound={enabled:false,files:[\"explosion0.mp3\",\"explosion1.mp3\",\"explosion2.mp3\"],volume:{min:4,max:8}};this.boundaries={debug:false,height:0,width:0,x:50,y:50};}}\nexport const __FramerMetadata__ = {\"exports\":{\"Options\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}export class RequestAnimationFrame{mount(){this.now=performance.now();const interval=1e3/this.fps;const raf=timestamp=>{this.rafId=requestAnimationFrame(raf);const delta=timestamp-this.now;if(delta>=interval-this.tolerance){this.render();this.now=timestamp-delta%interval;this.tick+=delta*(this.options.intensity*Math.PI)/1e3;}};this.rafId=requestAnimationFrame(raf);}unmount(){cancelAnimationFrame(this.rafId);}constructor(options,render){_define_property(this,\"options\",void 0);_define_property(this,\"render\",void 0);_define_property(this,\"tick\",void 0);_define_property(this,\"rafId\",void 0);_define_property(this,\"fps\",void 0);_define_property(this,\"tolerance\",void 0);_define_property(this,\"now\",void 0);this.options=options;this.render=render;this.tick=0;this.rafId=0;this.fps=60;this.tolerance=.1;}}\nexport const __FramerMetadata__ = {\"exports\":{\"RequestAnimationFrame\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./raf.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{debounce}from\"https://framerusercontent.com/modules/YoitPSUnANkYAHezo9gJ/SSOvjpkfdh0Wet9P9BJT/helpers.js\";export class Resize{mount(){if(!this.resizer){const debouncedResize=debounce(()=>this.updateSize(),100);this.resizer=new ResizeObserver(debouncedResize);}if(this.options.autoresize){this.resizer.observe(this.container);}}unmount(){if(this.resizer){this.resizer.unobserve(this.container);}}constructor(options,updateSize,container){_define_property(this,\"options\",void 0);_define_property(this,\"updateSize\",void 0);_define_property(this,\"container\",void 0);_define_property(this,\"resizer\",void 0);this.options=options;this.updateSize=updateSize;this.container=container;}}\nexport const __FramerMetadata__ = {\"exports\":{\"Resize\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{randomFloat,randomInt}from\"https://framerusercontent.com/modules/YoitPSUnANkYAHezo9gJ/SSOvjpkfdh0Wet9P9BJT/helpers.js\";export class Sound{get isEnabled(){return this.options.sound.enabled;}get soundOptions(){return this.options.sound;}init(){if(!this.onInit&&this.isEnabled){this.onInit=true;this.audioContext=new(window.AudioContext||window.webkitAudioContext);this.loadSounds();}}async loadSounds(){for(const file of this.soundOptions.files){const response=await (await fetch(file)).arrayBuffer();this.audioContext.decodeAudioData(response).then(buffer=>{this.buffers.push(buffer);}).catch(err=>{throw err;});}}play(){if(this.isEnabled&&this.buffers.length){const bufferSource=this.audioContext.createBufferSource();const soundBuffer=this.buffers[randomInt(0,this.buffers.length-1)];const volume=this.audioContext.createGain();bufferSource.buffer=soundBuffer;volume.gain.value=randomFloat(this.soundOptions.volume.min/100,this.soundOptions.volume.max/100);volume.connect(this.audioContext.destination);bufferSource.connect(volume);bufferSource.start(0);}else{this.init();}}constructor(options){_define_property(this,\"options\",void 0);_define_property(this,\"buffers\",void 0);_define_property(this,\"audioContext\",void 0);_define_property(this,\"onInit\",void 0);this.options=options;this.buffers=[];this.onInit=false;this.init();}}\nexport const __FramerMetadata__ = {\"exports\":{\"Sound\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{getDistance}from\"https://framerusercontent.com/modules/YoitPSUnANkYAHezo9gJ/SSOvjpkfdh0Wet9P9BJT/helpers.js\";const MAX_CACHE_SIZE=50;const gradientCache={};const radius=15;export class Trace{updateGradients(){if(this.gradientCanvases){return;}const cacheKey=this.color.join(\",\");if(gradientCache[cacheKey]){this.gradientCanvases=gradientCache[cacheKey];return;}// Clear old cache entries if cache is too large\nconst cacheKeys=Object.keys(gradientCache);if(cacheKeys.length>MAX_CACHE_SIZE){// Remove oldest entries\nconst keysToRemove=cacheKeys.slice(0,cacheKeys.length-MAX_CACHE_SIZE+1);keysToRemove.forEach(key=>delete gradientCache[key]);}// Create large gradient canvas\nconst largeCanvas=document.createElement(\"canvas\");const size=radius*2;largeCanvas.width=size;largeCanvas.height=size;const largeCtx=largeCanvas.getContext(\"2d\");const partiallyTransparentColor=colorToRGBA(this.color,.7);const transparentColor=colorToRGBA(this.color,0);const largeGradient=largeCtx.createRadialGradient(radius,radius,0,radius,radius,radius);largeGradient.addColorStop(0,`rgba(255,255,255,${this.color[3]})`);largeGradient.addColorStop(.5,partiallyTransparentColor);largeGradient.addColorStop(1,transparentColor);largeCtx.fillStyle=largeGradient;largeCtx.fillRect(0,0,size,size);// Create small gradient canvas\nconst smallCanvas=document.createElement(\"canvas\");smallCanvas.width=size;smallCanvas.height=size;const smallCtx=smallCanvas.getContext(\"2d\");const smallGradient=smallCtx.createRadialGradient(radius,radius,0,radius,radius,radius);smallGradient.addColorStop(0,partiallyTransparentColor);smallGradient.addColorStop(1,transparentColor);smallCtx.fillStyle=smallGradient;smallCtx.fillRect(0,0,size,size);gradientCache[cacheKey]={large:largeCanvas,small:smallCanvas};this.gradientCanvases=gradientCache[cacheKey];}update(callback){this.coordinates.pop();this.coordinates.unshift([this.x,this.y]);this.speed*=this.acceleration;const vx=Math.cos(this.angle)*this.speed;const vy=Math.sin(this.angle)*this.speed;this.currentDistance=getDistance(this.sx,this.sy,this.x+vx,this.y+vy);if(this.currentDistance>=this.totalDistance){callback(this.dx,this.dy,this.color,this.gravity,this.explosion,this.particles);}else{this.x+=vx;this.y+=vy;}}draw(opts){if(this.coordinates&&this.coordinates.length===0){return;}// const alpha = this.color[3]\n// if (alpha === 0) {\n//     return\n// }\nconst lastIndex=this.coordinates.length-1;// Create a linear gradient for the line\nconst gradient=this.ctx.createLinearGradient(this.coordinates[lastIndex][0],this.coordinates[lastIndex][1],this.x,this.y);gradient.addColorStop(0,colorToRGBA(this.color,0))// Start with 50% transparency\n;gradient.addColorStop(1,colorToRGBA(this.color,1))// End with full opacity\n;// Draw the line with gradient\nthis.ctx.beginPath();this.ctx.moveTo(this.coordinates[lastIndex][0],this.coordinates[lastIndex][1]);this.ctx.lineTo(this.x,this.y);this.ctx.strokeStyle=gradient;this.ctx.stroke();if(opts.bloom){this.updateGradients();// Draw the large gradient\nthis.ctx.drawImage(this.gradientCanvases.large,this.x-radius,this.y-radius);// Draw the small gradient along the line\nconst angle=Math.atan2(this.y-this.coordinates[this.coordinates.length-1][1],this.x-this.coordinates[this.coordinates.length-1][0]);const offsetX=Math.cos(angle)*15;const offsetY=Math.sin(angle)*15;this.ctx.drawImage(this.gradientCanvases.small,this.x-radius-offsetX,this.y-radius-offsetY);}}static clearCaches(){Object.keys(gradientCache).forEach(key=>delete gradientCache[key]);}constructor({x,y,dx,dy,ctx,color,speed,traceLength,acceleration,gravity,explosion,particles}){_define_property(this,\"x\",void 0);_define_property(this,\"y\",void 0);_define_property(this,\"sx\",void 0);_define_property(this,\"sy\",void 0);_define_property(this,\"dx\",void 0);_define_property(this,\"dy\",void 0);_define_property(this,\"ctx\",void 0);_define_property(this,\"color\",void 0);_define_property(this,\"speed\",void 0);_define_property(this,\"acceleration\",void 0);_define_property(this,\"traceLength\",void 0);_define_property(this,\"gravity\",void 0);_define_property(this,\"explosion\",void 0);_define_property(this,\"particles\",void 0);_define_property(this,\"totalDistance\",void 0);_define_property(this,\"angle\",void 0);_define_property(this,\"coordinates\",[]);_define_property(this,\"currentDistance\",0);_define_property(this,\"gradientCanvases\",null);this.x=x;this.y=y;this.sx=x;this.sy=y;this.dx=dx;this.dy=dy;this.ctx=ctx;this.color=color;this.speed=speed;this.traceLength=traceLength;this.acceleration=acceleration;this.totalDistance=getDistance(x,y,dx,dy);this.angle=Math.atan2(dy-y,dx-x);this.gravity=gravity;this.explosion=explosion;this.particles=particles;while(this.traceLength--){this.coordinates.push([x,y]);}}}const colorToRGBA=(color,alpha)=>{return`rgba(${color[0]}, ${color[1]}, ${color[2]}, ${color[3]*alpha})`;};\nexport const __FramerMetadata__ = {\"exports\":{\"Trace\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./trace.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{Explosion}from\"https://framerusercontent.com/modules/RM81nOZmcjYUO1UNDJLt/xS2QgAdEhBxbl38uL0ul/explosion.js\";import{floor,randomFloat,randomInt}from\"https://framerusercontent.com/modules/YoitPSUnANkYAHezo9gJ/SSOvjpkfdh0Wet9P9BJT/helpers.js\";import{Mouse}from\"https://framerusercontent.com/modules/NwrCol0GhajkQLfWUZFt/wD4LgWirFAiFD0INGIlF/mouse.js\";import{Options}from\"https://framerusercontent.com/modules/kBFrU9aPyh59rNkdA9TM/7HAY1mrJbwFEUlzJDhTQ/options.js\";import{RequestAnimationFrame}from\"https://framerusercontent.com/modules/523zM7BlpLJvvw9ftqC4/G4l0GWvbBtGoQcYl8thP/raf.js\";import{Resize}from\"https://framerusercontent.com/modules/sNEsVhoc2H0I3RYoLmy5/6e3iqYfXbhzeagVeeWxV/resize.js\";import{Sound}from\"https://framerusercontent.com/modules/EJVJrbGnV0vJZBzOb0hz/NVQZ435b0r1FYpx1Lyu4/sounds.js\";import{Trace}from\"https://framerusercontent.com/modules/5p4qhUkQ1XwOxtqifV3u/67udCoKU0MAJYP6TvdSg/trace.js\";export class Fireworks{get isRunning(){return this.running;}get version(){return __VERSION__;}get currentOptions(){return this.opts;}start(){if(this.running)return;if(!this.canvas.isConnected){this.createCanvas(this.target);}this.running=true;this.resize.mount();this.mouse.mount();this.raf.mount();}stop(dispose=false){if(!this.running)return;this.running=false;this.resize.unmount();this.mouse.unmount();this.raf.unmount();this.clear();if(dispose){this.canvas.remove();Trace.clearCaches();Explosion.clearCaches();}}async waitStop(dispose){if(!this.running)return;return new Promise(resolve=>{this.waitStopRaf=()=>{if(!this.waitStopRaf)return;requestAnimationFrame(this.waitStopRaf);if(!this.traces.length&&!this.explosions.length){this.waitStopRaf=null;this.stop(dispose);resolve();}};this.waitStopRaf();});}pause(){this.running=!this.running;if(this.running){this.raf.mount();}else{this.raf.unmount();}}clear(){if(!this.ctx)return;this.traces=[];this.explosions=[];this.ctx.clearRect(0,0,this.width,this.height);}launch(options=1){var _options_count;const count=typeof options===\"number\"?options:(_options_count=options.count)!==null&&_options_count!==void 0?_options_count:1;const specificColor=typeof options===\"number\"?undefined:options.color;const position=typeof options===\"number\"?undefined:options.position;const gravity=typeof options===\"number\"?undefined:options.gravity;const explosion=typeof options===\"number\"?undefined:options.explosion;const traceLength=typeof options===\"number\"?undefined:options.traceLength;const particles=typeof options===\"number\"?undefined:options.particles;for(let i=0;i<count;i++){this.createTrace(specificColor,position,gravity,explosion,traceLength,particles);}if(!this.waitStopRaf){this.start();this.waitStop();}}updateOptions(options){this.opts.update(options);}updateSize({width=this.container.clientWidth,height=this.container.clientHeight}={}){const dpr=window.devicePixelRatio||1;// Set display size\nthis.width=width;this.height=height;this.canvas.style.width=`${width}px`;this.canvas.style.height=`${height}px`;// Set actual pixel size\nthis.canvas.width=width*dpr;this.canvas.height=height*dpr;// Scale the context to ensure correct drawing operations\nthis.ctx.scale(dpr,dpr);this.updateBoundaries({...this.opts.boundaries,width,height});}updateBoundaries(boundaries){this.updateOptions({boundaries});}createCanvas(el){if(el instanceof HTMLCanvasElement){if(!el.isConnected){document.body.append(el);}this.canvas=el;}else{this.canvas=document.createElement(\"canvas\");this.container.append(this.canvas);}this.ctx=this.canvas.getContext(\"2d\");this.updateSize();}render(){if(!this.ctx||!this.running)return;const{opacity,lineStyle,lineWidth}=this.opts;this.ctx.globalCompositeOperation=\"destination-out\";this.ctx.fillStyle=`rgba(0, 0, 0, ${opacity})`;this.ctx.fillRect(0,0,this.width,this.height);this.ctx.globalCompositeOperation=\"lighter\";this.ctx.lineCap=lineStyle;this.ctx.lineJoin=\"round\";this.ctx.lineWidth=randomFloat(lineWidth.trace.min,lineWidth.trace.max);this.initTrace();this.drawTrace();this.drawExplosion();}createTrace(specificColor,position=[0,0],gravity=1,explosion=1,traceLength=1,particles=1){const{color,rocketsPoint,boundaries,traceSpeed,acceleration,mouse}=this.opts;const selectedColor=specificColor!==null&&specificColor!==void 0?specificColor:color.value[Math.floor(Math.random()*color.value.length)];this.traces.push(new Trace({x:this.width*randomInt(rocketsPoint.min,rocketsPoint.max)/100,y:this.height,dx:position?position[0]:this.mouse.x&&mouse.move||this.mouse.active?this.mouse.x:randomInt(boundaries.x,boundaries.width-boundaries.x*2),dy:position?position[1]:this.mouse.y&&mouse.move||this.mouse.active?this.mouse.y:randomInt(boundaries.y,boundaries.height*.5),ctx:this.ctx,color:selectedColor,speed:traceSpeed,acceleration,traceLength:floor(traceLength),gravity,explosion,particles}));}initTrace(){if(this.waitStopRaf)return;const{delay,mouse}=this.opts;if(this.raf.tick>randomInt(delay.min,delay.max)||this.mouse.active&&mouse.max>this.traces.length){this.createTrace();this.raf.tick=0;}}drawTrace(){let traceLength=this.traces.length;while(traceLength--){this.traces[traceLength].draw(this.opts);this.traces[traceLength].update((x,y,color,gravity,explosion,particles)=>{this.initExplosion(x,y,color,gravity,explosion,particles);this.sound.play();this.traces.splice(traceLength,1);});}}initExplosion(x,y,color,gravity,explosion,particles){const{flickering,lineWidth,brightness,friction,decay}=this.opts;let particlesLength=floor(particles);while(particlesLength--){this.explosions.push(new Explosion({x,y,ctx:this.ctx,color,friction,gravity,flickering:randomInt(0,100)<=flickering,lineWidth:randomFloat(lineWidth.explosion.min,lineWidth.explosion.max),explosionLength:floor(explosion),brightness,decay}));}}drawExplosion(){let length=this.explosions.length;while(length--){this.explosions[length].draw(this.opts);this.explosions[length].update(()=>{this.explosions.splice(length,1);});}}constructor(container,options={}){_define_property(this,\"target\",void 0);_define_property(this,\"container\",void 0);_define_property(this,\"canvas\",void 0);_define_property(this,\"ctx\",void 0);_define_property(this,\"width\",void 0);_define_property(this,\"height\",void 0);_define_property(this,\"traces\",[]);_define_property(this,\"explosions\",[]);_define_property(this,\"waitStopRaf\",void 0);_define_property(this,\"running\",false);_define_property(this,\"opts\",void 0);_define_property(this,\"sound\",void 0);_define_property(this,\"resize\",void 0);_define_property(this,\"mouse\",void 0);_define_property(this,\"raf\",void 0);this.target=container;this.container=container;this.opts=new Options;this.createCanvas(this.target);this.updateOptions(options);this.sound=new Sound(this.opts);this.resize=new Resize(this.opts,this.updateSize.bind(this),this.container);this.mouse=new Mouse(this.opts,this.canvas);this.raf=new RequestAnimationFrame(this.opts,this.render.bind(this));}}\nexport const __FramerMetadata__ = {\"exports\":{\"Fireworks\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fireworks.map","import{Fireworks}from\"https://framerusercontent.com/modules/BhaCoDnhGTXJJ5eH7NP3/xWwWNG3GodIKPw9NaOX0/fireworks.js\";export{Fireworks};export default Fireworks;\nexport const __FramerMetadata__ = {\"exports\":{\"FireworksOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FireworksTypes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FireworksHandlers\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Fireworks\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import React,{useEffect,useImperativeHandle,useRef}from\"react\";import{Fireworks as FireworksJs}from\"https://framerusercontent.com/modules/N7R9q1vir3tFllFA1Dsf/a0T6dnzdLvR3TUrAJ4s3/index.js\";export function F(){return /*#__PURE__*/_jsx(\"div\",{});}const Fireworks=/*#__PURE__*/React.forwardRef(({children,options,autostart=true,...rest},ref)=>{const container=useRef(null);const fireworks=useRef(null);useImperativeHandle(ref,()=>({get isRunning(){return fireworks.current.isRunning;},get currentOptions(){return fireworks.current.currentOptions;},start(){fireworks.current.start();},launch(count){fireworks.current.launch(count);},stop(){fireworks.current.stop();},async waitStop(){await fireworks.current.waitStop();},pause(){fireworks.current.pause();},clear(){fireworks.current.clear();},updateOptions(options){fireworks.current.updateOptions(options);},updateSize(size){fireworks.current.updateSize(size);},updateBoundaries(boundaries){fireworks.current.updateBoundaries(boundaries);}}));useEffect(()=>{if(!fireworks.current){fireworks.current=new FireworksJs(container.current,options);}if(autostart){fireworks.current.start();}return()=>{fireworks.current.stop();};},[]);return /*#__PURE__*/_jsx(\"div\",{ref:container,...rest,children:children});});export{Fireworks};export default Fireworks;\nexport const __FramerMetadata__ = {\"exports\":{\"FireworksOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Fireworks\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FireworksProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"F\":{\"type\":\"reactComponent\",\"name\":\"F\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"FireworksHandlers\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * FireworksReact3\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/Ko6d56oNNOxAZ8y558mQ/FLTrJ9yUjKyM0lsqOB10/FireworksReact3.js\"\nexport { default } from \"https://framerusercontent.com/modules/Ko6d56oNNOxAZ8y558mQ/FLTrJ9yUjKyM0lsqOB10/FireworksReact3.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useMemo,useRef,useState}from\"react\";import Fireworks from\"https://framer.com/m/FireworksReact3-I6FF.js\";// import Fireworks from \"./FireworksReact3.tsx\"\nconst DISTANCE_MAP={s:[.4,.15],m:[.6,.4],l:[.8,.6],xl:[.95,.75]};const EXPLOSION_FRICTION_MAP={s:.92,m:.95,l:.97,xl:.99};const EXPLOSION_PARTICLES_MAP={s:[30,40],m:[40,65],l:[50,100],xl:[80,120]};const EXPLOSION_DECAY_MAP={s:[.04,.06],m:[.02,.05],l:[.015,.03],xl:[.013,.02]};const DEFAULT_COLOR=[1,1,1,1];/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function FireworksEffect(props){const{color,explosion,bloom}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const fireworksRef=useRef(null);const intervalIdRef=useRef(null);const initialTimeoutRef=useRef(null);const darkMode=useDarkMode();const decay={min:EXPLOSION_DECAY_MAP[explosion][0],max:EXPLOSION_DECAY_MAP[explosion][1]};const friction=EXPLOSION_FRICTION_MAP[explosion];const colors=useMemo(()=>{const colors=[];switch(color.mode){case\"random\":for(let i=0;i<100;i++){// Distribute hues evenly across 360 degrees\nconst hue=Math.floor(i/100*360);colors.push(hslaToRgba(hue,100,color.lightness,color.opacity));}break;case\"single\":colors.push(getColorValue(color.color,ref));break;case\"multi\":for(let i=0;i<color.colors.length;i++){colors.push(getColorValue(color.colors[i],ref));}break;}return colors;},[color,darkMode,ref]);useEffect(()=>{const generateColor=()=>{if(colors.length===0){return\"#FFF\";}else if(colors.length===1){return colors[0];}else{return colors[Math.floor(Math.random()*colors.length)];}};// // Clear existing points\n// if (ref.current) {\n// \tconst existingPoints = ref.current.getElementsByClassName(\"firework-point\");\n// \twhile (existingPoints.length > 0) {\n// \t\texistingPoints[0].remove();\n// \t}\n// }\n// // Generate new points\n// for (let i = 0; i < 300; i++) {\n// \tconst position = randomPointInTriangle(\n// \t\tref.current.clientWidth,\n// \t\tref.current.clientHeight,\n// \t\tprops.coverArea,\n// \t\tDISTANCE_MAP[props.distance][0],\n// \t\tDISTANCE_MAP[props.distance][1]\n// \t);\n// \tconst element = document.createElement(\"div\");\n// \telement.className = \"firework-point\";\n// \telement.style.position = \"absolute\";\n// \telement.style.left = `${position[0]}px`;\n// \telement.style.top = `${position[1]}px`;\n// \telement.style.width = \"1px\";\n// \telement.style.height = \"1px\";\n// \telement.style.backgroundColor = generateColor();\n// \tref.current.appendChild(element);\n// }\nconst launchFireworks=async()=>{for(let i=0;i<props.amount;i++){if(fireworksRef.current){const position=randomPointInTriangle(ref.current.clientWidth,ref.current.clientHeight,props.coverArea,DISTANCE_MAP[props.distance][0],DISTANCE_MAP[props.distance][1]);// const element = document.createElement(\"div\")\n// element.className = \"firework-point\"\n// element.style.position = \"absolute\"\n// element.style.left = `${position[0]}px`\n// element.style.top = `${position[1]}px`\n// element.style.width = \"3px\"\n// element.style.height = \"3px\"\n// element.style.backgroundColor = generateColor()\n// ref.current.appendChild(element)\nfireworksRef.current.launch({count:1,color:generateColor(),position,gravity:randomBetween(1,2),explosion:randomBetween(2,8),traceLength:randomBetween(4,6),particles:randomBetween(EXPLOSION_PARTICLES_MAP[explosion][0],EXPLOSION_PARTICLES_MAP[explosion][1])});await new Promise(resolve=>setTimeout(resolve,100));}}};// Add initial delay only on first mount\nconst initialLaunch=async()=>{initialTimeoutRef.current=setTimeout(()=>{launchFireworks();initialTimeoutRef.current=null;},500);};// Initial launch with delay\ninitialLaunch();const handleVisibilityChange=()=>{if(document.hidden&&intervalIdRef.current){clearInterval(intervalIdRef.current);intervalIdRef.current=null;}else if(!document.hidden&&props.mode===\"loop\"&&!intervalIdRef.current){intervalIdRef.current=setInterval(launchFireworks,props.delay*1e3);}};document.addEventListener(\"visibilitychange\",handleVisibilityChange);// Set up interval if mode is \"loop\"\nif(props.mode===\"loop\"){intervalIdRef.current=setInterval(launchFireworks,props.delay*1e3);}return()=>{if(intervalIdRef.current){clearInterval(intervalIdRef.current);}if(initialTimeoutRef.current){clearTimeout(initialTimeoutRef.current);}document.removeEventListener(\"visibilitychange\",handleVisibilityChange);};},[props.mode,props.delay,props.amount,colors]);useEffect(()=>{if(fireworksRef.current){fireworksRef.current.updateOptions({bloom,decay,friction});}},[bloom,explosion,friction]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{backgroundColor:props.fill,overflow:\"hidden\",borderRadius:props.radius,...props.style},children:(!isCanvas||props.preview)&&/*#__PURE__*/_jsx(Fireworks,{ref:fireworksRef,options:{rocketsPoint:{min:50,max:50},delay:{min:props.delay*60,max:props.delay*60},brightness:{min:100,max:100},decay,lineWidth:{explosion:{min:2,max:3},trace:{min:2,max:3}},lineStyle:\"round\",explosion:10,opacity:1,acceleration:1.02,friction,traceLength:3,flickering:0,intensity:30,traceSpeed:10,autoresize:true,bloom},style:{width:\"100%\",height:\"100%\"}})});}FireworksEffect.displayName=\"Fireworks\";addPropertyControls(FireworksEffect,{fill:{type:ControlType.Color,defaultValue:\"#000\",optional:true},color:{type:ControlType.Object,controls:{mode:{type:ControlType.Enum,defaultValue:\"random\",options:[\"random\",\"single\",\"multi\"],optionTitles:[\"Random\",\"Single\",\"Multi\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},lightness:{type:ControlType.Number,defaultValue:75,min:0,max:100,step:1,hidden:props=>props.mode!==\"random\"},opacity:{type:ControlType.Number,defaultValue:.5,min:0,max:1,step:.01,hidden:props=>props.mode!==\"random\"},color:{type:ControlType.Color,defaultValue:\"rgba(255, 255, 255, 0.5)\",hidden:props=>props.mode!==\"single\"},colors:{type:ControlType.Array,defaultValue:[\"rgba(255, 255, 255, 0.5)\",\"#FFCB47\"],control:{type:ControlType.Color,defaultValue:\"#FFF\"},hidden:props=>props.mode!==\"multi\"}}},mode:{type:ControlType.Enum,defaultValue:\"loop\",options:[\"loop\",\"once\"],optionTitles:[\"Loop\",\"Once\"],displaySegmentedControl:true},delay:{type:ControlType.Number,defaultValue:3,min:.1,step:.1,hidden:props=>props.mode!==\"loop\"},amount:{type:ControlType.Number,defaultValue:5,min:1,max:100,displayStepper:true},coverArea:{type:ControlType.Number,defaultValue:45,min:0,max:180,step:1,unit:\"\\xb0\"},distance:{type:ControlType.Enum,defaultValue:\"l\",options:[\"s\",\"m\",\"l\",\"xl\"],optionTitles:[\"S\",\"M\",\"L\",\"XL\"],displaySegmentedControl:true},explosion:{type:ControlType.Enum,defaultValue:\"l\",options:[\"s\",\"m\",\"l\",\"xl\"],optionTitles:[\"S\",\"M\",\"L\",\"XL\"],displaySegmentedControl:true},bloom:{type:ControlType.Boolean,defaultValue:true},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\"},preview:{type:ControlType.Boolean,defaultValue:true,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});function hslaToRgba(h,s,l,a){// Ensure h, s, and l are within valid ranges\nh=(h%360+360)%360// Normalize hue to 0-359\n;s=Math.max(0,Math.min(100,s))/100// Normalize saturation to 0-1\n;l=Math.max(0,Math.min(100,l))/100// Normalize lightness to 0-1\n;a=Math.max(0,Math.min(1,a))// Ensure alpha is between 0 and 1\n;// Helper function to convert hue to RGB\nfunction hueToRgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p;}let r,g,b;if(s===0){r=g=b=l// Achromatic (grey)\n;}else{const q=l<.5?l*(1+s):l+s-l*s;const p=2*l-q;r=hueToRgb(p,q,h/360+1/3);g=hueToRgb(p,q,h/360);b=hueToRgb(p,q,h/360-1/3);}// Convert RGB values to 0-255 range and round to nearest integer\nreturn[Math.round(r*255),Math.round(g*255),Math.round(b*255),a];}function randomPointInTriangle(width,height,angle,topCutoff,bottomCutoff){if(angle>=170){// Return a random point in the available space in the rectangle using top and bottom cutoff\nconst x=Math.random()*width;const y=mapRange(Math.random(),0,1,1-bottomCutoff,1-topCutoff)*height;return[x,y];}const radians=angle*Math.PI/180;const triangleHeight=height*topCutoff;const halfBase=Math.tan(radians/2)*triangleHeight;const centerX=width/2;let x,y;do{// Use barycentric coordinates to generate random points in triangle\nconst r1=Math.random();const r2=Math.random();const sqrt_r1=Math.sqrt(r1);// Calculate point using barycentric coordinates\nconst tx=1-sqrt_r1;const ty=r2*sqrt_r1;// Transform to actual coordinates (flipped vertically)\nx=centerX+(tx*-halfBase+ty*halfBase);y=height*(1-topCutoff)+triangleHeight*(1-(tx+ty));}while(x<0||x>width||y<0||y>height*(1-bottomCutoff))return[x,y];}function randomBetween(min,max){return Math.random()*(max-min)+min;}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function getColorValue(color,elementRef){if(color.startsWith(\"var(\")){const{variableName,defaultValue}=extractCSSVariableInfo(color);if(variableName){const computedStyle=getComputedStyle(elementRef.current||document.body);const computedValue=computedStyle.getPropertyValue(variableName).trim();const value=computedValue||defaultValue;if(value){return colorToRGBA(value);}return DEFAULT_COLOR;}return defaultValue?colorToRGBA(defaultValue)||DEFAULT_COLOR:DEFAULT_COLOR;}else{return colorToRGBA(color);}}function extractCSSVariableInfo(cssString){// Regular expression to match the variable name and default value\nconst regex=/var\\s*\\(\\s*(--[\\w-]+)(?:\\s*,\\s*((?:\"[^\"]*\"|'[^']*'|[^)]+)))?\\s*\\)/;// Execute the regex on the input string\nconst match=regex.exec(cssString);if(match){const variableName=match[1];let defaultValue=match[2]||null;// If defaultValue is present, clean it up\nif(defaultValue){// Remove surrounding quotes if present\ndefaultValue=defaultValue.replace(/^[\"']|[\"']$/g,\"\");// Trim any whitespace\ndefaultValue=defaultValue.trim();}return{variableName,defaultValue};}return{variableName:\"\",defaultValue:\"\"};}const colorToRGBA=color=>{let r=255;let g=255;let b=255;let a=1;if(color&&typeof color===\"string\"){if(color.startsWith(\"rgba(\")){const parts=color.slice(5,-1).split(\",\");r=parseInt(parts[0]);g=parseInt(parts[1]);b=parseInt(parts[2]);a=parseFloat(parts[3]);}else if(color.startsWith(\"rgb(\")){const parts=color.slice(4,-1).split(\",\");r=parseInt(parts[0]);g=parseInt(parts[1]);b=parseInt(parts[2]);}else if(color.startsWith(\"#\")){const hex=color.slice(1);if(hex.length===3){r=parseInt(hex[0]+hex[0],16);g=parseInt(hex[1]+hex[1],16);b=parseInt(hex[2]+hex[2],16);}else if(hex.length===6){r=parseInt(hex.slice(0,2),16);g=parseInt(hex.slice(2,4),16);b=parseInt(hex.slice(4,6),16);}else if(hex.length===8){r=parseInt(hex.slice(0,2),16);g=parseInt(hex.slice(2,4),16);b=parseInt(hex.slice(4,6),16);a=parseInt(hex.slice(6,8),16)/255;}}}return[r,g,b,a];};function useDarkMode(){const[isDarkMode,setIsDarkMode]=useState(false);useEffect(()=>{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleChange=e=>{// Use requestAnimationFrame to ensure CSS variables have updated\nrequestAnimationFrame(()=>{// Add a small delay to ensure CSS variables have propagated\nsetTimeout(()=>{setIsDarkMode(e.matches);},80);});};setIsDarkMode(mediaQuery.matches);mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);},[]);return isDarkMode;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FireworksEffect\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Fireworks_Prod.map"],"mappings":"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"}