{"version":3,"file":"TextEncryptionEffect.CUVR1Ige.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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"}