{"version":3,"file":"TextEncryptionEffect.C9U0aDkp.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/Fqs9vXqXfcOUi62t6g0a/60GQXi0vN3UjcWaropmw/Copyright_year.js","https:/framerusercontent.com/modules/Cn37MyPJWVKKEyhV3K1f/X5YCp5ZD1ZInkxm1wP5q/TextEncryptionEffect.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";export function AutoCopyrightStatement(Component){return props=>{var _props_children_props_children,_props_children_props,_props_children;const textProps=(_props_children=props.children)===null||_props_children===void 0?void 0:(_props_children_props=_props_children.props)===null||_props_children_props===void 0?void 0:(_props_children_props_children=_props_children_props.children)===null||_props_children_props_children===void 0?void 0:_props_children_props_children.props;if(textProps&&typeof textProps.children==\"string\"){textProps.children=textProps.children.replace(\"YYYY\",new Date().getFullYear());}return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"AutoCopyrightStatement\":{\"type\":\"reactHoc\",\"name\":\"AutoCopyrightStatement\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Copyright_year.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useInView}from\"framer-motion\";import{useEffect,useState,useRef}from\"react\";// import { useDencrypt } from \"use-dencrypt-effect\"\nexport default function TextEncryptionEffect(props){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const{text,activators}=props;const ref=useRef(null);const isInView=useInView(ref,{once:!activators.replay,amount:\"some\"});const[value,setValue]=useDencrypt(activators.trigger===\"none\"?text:\"\",{chars:[...props.characters],interval:props.interval*1e3});function runAnimation(){if(!isCanvas){setValue(text);}}useEffect(()=>{if(activators.trigger===\"appear\"){runAnimation();}},[]);useEffect(()=>{if(!isCanvas&&activators.trigger===\"layerInView\"){if(isInView){runAnimation();}}},[isInView]);return /*#__PURE__*/_jsx(\"p\",{ref:ref,onClick:()=>{if(activators.press){setValue(text);}},onMouseEnter:()=>{if(activators.hover){setValue(text);}},style:{margin:0,color:props.fontColor,userSelect:props.textSelect?\"auto\":\"none\",...props.font,...props.style},children:isCanvas?text:value});}TextEncryptionEffect.displayName=\"Text Encryption Effect\";addPropertyControls(TextEncryptionEffect,{text:{defaultValue:\"Encrypted Text\",type:ControlType.String},characters:{type:ControlType.String,defaultValue:\"!#%^&*[]{}=+\\\\/|;:\",description:\"[Character Presets](https://next-acknowledge-092743.framer.app/components/text-encryption-effect)\"},interval:{type:ControlType.Number,defaultValue:.05,step:.001,unit:\"s\",title:\"Interval\"},activators:{type:ControlType.Object,buttonTitle:\"Options\",controls:{hover:{type:ControlType.Boolean,defaultValue:false},press:{type:ControlType.Boolean,defaultValue:false},trigger:{type:ControlType.Enum,defaultValue:\"appear\",options:[\"none\",\"appear\",\"layerInView\"],optionTitles:[\"None\",\"Appear\",\"Layer In View\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},replay:{type:ControlType.Boolean,defaultValue:true,hidden(props){return props.trigger!==\"layerInView\";}}}},fontColor:{type:ControlType.Color,defaultValue:\"#000\"},font:{type:\"font\",controls:\"extended\"},textSelect:{type:ControlType.Boolean,defaultValue:true}});const defaultOptions={chars:[...\"-./^*!}<~$012345abcdef\"],interval:50};const getRandomChar=chars=>chars[Math.floor(Math.random()*chars.length)];const getChar=(i,j,maxLength,oldValue,newValue,chars)=>{if(j>i){return oldValue[j];}if(i>=maxLength&&j<i-maxLength){return newValue[j];}return getRandomChar(chars);};export const dencrypt=options=>{const{chars,interval,callback,initialValue}={...defaultOptions,...options};let lastValue;let isCrypting;if(initialValue){lastValue=initialValue;callback(lastValue);}function*calculateValues(nextValue,prevValue=\"\"){const nextLength=nextValue.length;const prevLength=prevValue.length;const maxLength=Math.max(nextLength,prevLength);const iterations=2*maxLength;let i=0;yield prevValue;while(i<iterations){yield[...new Array(maxLength)].map((_,j)=>getChar(i,j,maxLength,prevValue,nextValue,chars)).join(\"\");i++;}yield nextValue;}const setValue=value=>{clearInterval(isCrypting);const values=calculateValues(value,lastValue);return new Promise(resolve=>{isCrypting=setInterval(()=>{var next=values.next();if(next.done){clearInterval(isCrypting);resolve(lastValue);}else{lastValue=next.value;callback(lastValue);}},interval);});};return setValue;};export function useDencrypt(v,o){let initialValue=\"\";let options={};if(typeof v===\"object\"){options=v;}else if(typeof v===\"string\"){initialValue=v;options=o?o:{};}const[result,setResult]=useState();const[setValue,setSetValue]=useState(()=>dencrypt({...options,initialValue,callback:setResult}));return[result,setValue];}\nexport const __FramerMetadata__ = {\"exports\":{\"DencryptInitialOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"dencrypt\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DencryptDefaultOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useDencrypt\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"TextEncryptionEffect\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextEncryptionEffect.map"],"mappings":"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"}