{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/ap1AdGlXOoZmhNKc5LaM/GbgfrG133bFZ6cYAQ5J1/RandomizedText.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{useState,useEffect}from\"react\";export function RandomizedText(props){const{text,speed,className,fontFamily,fontSize,fontColor,textAlign,style,soundEffect,enableHoverEffect,characters,elementType}=props;const defaultText=text||\"\";const[displayedText,setDisplayedText]=useState(defaultText);const[decodedIndex,setDecodedIndex]=useState(0);const[audio,setAudio]=useState(null);const characterSet=characters||\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\";useEffect(()=>{// Preload the sound effect\nif(soundEffect){const audioInstance=new Audio(soundEffect);setAudio(audioInstance);}},[soundEffect]);useEffect(()=>{const playSound=()=>{if(audio){audio.currentTime=0// Reset to the beginning for rapid playback\n;audio.play();}};const decodeEffect=()=>{if(decodedIndex<=defaultText.length){const randomizedText=defaultText.split(\"\").map((char,i)=>i<decodedIndex?char:characterSet[Math.floor(Math.random()*characterSet.length)]).join(\"\");setDisplayedText(randomizedText);setDecodedIndex(prev=>prev+1);playSound();}};const interval=setInterval(decodeEffect,speed);return()=>clearInterval(interval);},[decodedIndex,defaultText,speed,audio,characterSet]);useEffect(()=>{setDecodedIndex(0);setDisplayedText(defaultText);},[text]);const handleHover=index=>{if(!enableHoverEffect)return;const randomizedText=defaultText.split(\"\").map((char,i)=>i===index?characterSet[Math.floor(Math.random()*characterSet.length)]:defaultText[i]).join(\"\");setDisplayedText(randomizedText);};const handleHoverLeave=()=>{setDisplayedText(defaultText);};const Element=elementType||\"div\"// Domy\u015Blny element to \"div\"\n;return /*#__PURE__*/_jsx(motion.div,{className:className,style:{fontFamily,fontSize,color:fontColor,textAlign,...style},initial:{opacity:0},animate:{opacity:1},children:/*#__PURE__*/_jsx(Element,{children:displayedText.split(\"\").map((char,index)=>/*#__PURE__*/_jsx(\"span\",{onMouseEnter:()=>handleHover(index),onMouseLeave:handleHoverLeave,style:{display:\"inline-block\"},children:char===\" \"?\"\\xa0\":char},index))})});}// Property controls for Framer UI\naddPropertyControls(RandomizedText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Randomized text\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:50,min:10,max:200,unit:\"ms\",step:10},className:{type:ControlType.String,title:\"Class Name\",defaultValue:\"\"},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Arial, sans-serif\"},fontSize:{type:ControlType.String,title:\"Font Size\",defaultValue:\"16px\"},fontColor:{type:ControlType.Color,title:\"Font Color\",defaultValue:\"#000000\"},textAlign:{type:ControlType.Enum,title:\"Text Align\",options:[\"left\",\"center\",\"right\",\"justify\"],optionTitles:[\"Left\",\"Center\",\"Right\",\"Justify\"],defaultValue:\"left\"},style:{type:ControlType.Object,title:\"Style\",defaultValue:{}},soundEffect:{type:ControlType.File,title:\"Sound Effect\",allowedFileTypes:[\"mp3\",\"wav\",\"ogg\"],defaultValue:\"\"},enableHoverEffect:{type:ControlType.Boolean,title:\"Enable Hover Effect\",defaultValue:true},characters:{type:ControlType.String,title:\"Characters\",defaultValue:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\u25A0\"},elementType:{type:ControlType.Enum,title:\"Element Type\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"p\",\"span\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"H4\",\"H5\",\"H6\",\"Paragraph\",\"Span\"],defaultValue:\"p\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"RandomizedText\":{\"type\":\"reactComponent\",\"name\":\"RandomizedText\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RandomizedText.map"],
  "mappings": "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",
  "names": ["RandomizedText", "props", "text", "speed", "className", "fontFamily", "fontSize", "fontColor", "textAlign", "style", "soundEffect", "enableHoverEffect", "characters", "elementType", "defaultText", "displayedText", "setDisplayedText", "ye", "decodedIndex", "setDecodedIndex", "audio", "setAudio", "characterSet", "ue", "audioInstance", "playSound", "interval", "randomizedText", "char", "i", "prev", "handleHover", "index", "handleHoverLeave", "Element", "motion", "addPropertyControls", "ControlType"]
}
