{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/V5Oa4SOyCOWaFiEAXs9j/H6qSVIRZNHYv1VdUdmZF/Sparkles.js"],
  "sourcesContent": ["/*\n * Animated Counter by framer.today\n * v1.0.0\n *\n * hi@framer.today\n * _joerl on \uD835\uDD4F\n *\n * Full terms here \u21B4\n * https://framer.today/license\n *\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Utility functions\nconst random=(min,max)=>Math.floor(Math.random()*(max-min))+min;const range=(start,end,step=1)=>{let output=[];for(let i=start;i<end;i+=step){output.push(i);}return output;};const useRandomInterval=(callback,minDelay,maxDelay)=>{const timeoutId=React.useRef(null);React.useEffect(()=>{let isEnabled=typeof minDelay===\"number\"&&typeof maxDelay===\"number\";if(isEnabled){const handleTick=()=>{const nextTickAt=random(minDelay,maxDelay);timeoutId.current=window.setTimeout(()=>{callback();handleTick();},nextTickAt);};handleTick();}return()=>window.clearTimeout(timeoutId.current);},[minDelay,maxDelay]);};const generateSparkle=(color,size,sparkleImage)=>{return{id:String(random(1e4,99999)),createdAt:Date.now(),color,size:random(size.min,size.max),sparkleImage,style:{top:random(0,100)+\"%\",left:random(0,100)+\"%\"}};};/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicHeight 100\n * @framerIntrinsicWidth 100\n * @framerDisableUnlink\n */export default function Sparkles(props){const[sparkles,setSparkles]=React.useState([]);useRandomInterval(()=>{const sparkle=generateSparkle(props.color,props.size,props.sparkleImage);const now=Date.now();const nextSparkles=sparkles.filter(sp=>{const delta=now-sp.createdAt;return delta<props.duration;});nextSparkles.push(sparkle);setSparkles(nextSparkles);},props.duration,props.duration);React.useEffect(()=>{setSparkles(range(0,1).map(()=>generateSparkle(props.color,props.size,props.sparkleImage)));},[props.color,props.size,props.sparkleImage,props.duration]);const containerStyle={display:\"inline-block\",position:\"relative\",width:150,height:80,...props.style};return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[sparkles.map(sparkle=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",pointerEvents:\"none\",animation:`growAndShrink ${props.duration/2}ms ease-in-out forwards`,top:sparkle.style.top,left:sparkle.style.left,width:sparkle.size,height:sparkle.size},children:sparkle.sparkleImage?/*#__PURE__*/_jsx(\"img\",{src:sparkle.sparkleImage,alt:\"\",style:{width:\"100%\",height:\"100%\"}}):/*#__PURE__*/_jsx(\"svg\",{width:sparkle.size,height:sparkle.size,viewBox:\"0 0 68 68\",fill:\"none\",style:{animation:props.spinEnabled?\"spin 1000ms linear forwards\":\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M26.5 25.5C19.0043 33.3697 0 34 0 34C0 34 19.1013 35.3684 26.5 43.5C33.234 50.901 34 68 34 68C34 68 36.9884 50.7065 44.5 43.5C51.6431 36.647 68 34 68 34C68 34 51.6947 32.0939 44.5 25.5C36.5605 18.2235 34 0 34 0C34 0 33.6591 17.9837 26.5 25.5Z\",fill:sparkle.color})})},sparkle.id)),/*#__PURE__*/_jsx(\"style\",{children:`\n          @keyframes growAndShrink {\n            0% {\n              transform: scale(0);\n            }\n            50% {\n              transform: scale(1);\n            }\n            100% {\n              transform: scale(0);\n            }\n          }\n\n          @keyframes spin {\n            from {\n              transform: rotate(0deg);\n            }\n            to {\n              transform: rotate(180deg);\n            }\n          }\n        `})]});}Sparkles.defaultProps={color:\"#FFC700\",size:{min:10,max:20},duration:800,spinEnabled:true,sparkleImage:null};addPropertyControls(Sparkles,{color:{type:ControlType.Color,title:\"Color\",defaultValue:Sparkles.defaultProps.color},size:{type:ControlType.Object,title:\"Size\",controls:{min:{type:ControlType.Number,title:\"Min\",min:5,max:50,defaultValue:10},max:{type:ControlType.Number,title:\"Max\",min:10,max:100,defaultValue:20}}},duration:{type:ControlType.Number,title:\"Duration\",min:100,max:5e3,defaultValue:800,unit:\"ms\"},spinEnabled:{type:ControlType.Boolean,title:\"Spin\",defaultValue:true},sparkleImage:{type:ControlType.Image,title:\"Image\",// description: \"Optional custom image\",\ndescription:`Optional custom image\n        \n        *from framer.today*\n [License](https://framer.today/license)\n    `}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Sparkles\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"100\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"100\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Sparkles.map"],
  "mappings": "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",
  "names": ["random", "min", "max", "range", "start", "end", "step", "output", "i", "useRandomInterval", "callback", "minDelay", "maxDelay", "timeoutId", "pe", "ue", "handleTick", "nextTickAt", "window", "generateSparkle", "color", "size", "sparkleImage", "Sparkles", "props", "sparkles", "setSparkles", "ye", "sparkle", "now", "nextSparkles", "sp", "containerStyle", "u", "p", "addPropertyControls", "ControlType"]
}
