{"version":3,"file":"shared-lib.oyP3qb_S.mjs","names":["React.useRef","React.useState","React.useMemo","metadata","siteMetadata","metadataVersion","__FramerMetadata__","metadata","siteMetadata"],"sources":["https:/framerusercontent.com/modules/bIzfpBoDfd0Ytt45YESR/thmjNX0M9EwVRK7pViFC/Text_Grid_Reveal.js","https:/framerusercontent.com/modules/dsQpcT925FmhJS5ETB8j/0yeNOJMO9AC70V0d1Jdq/siteMetadata.js","https:/framerusercontent.com/modules/xSYnawVEpNliwbqXYpFJ/vB2jqlvXpM2THicNPiw0/augiA20Il.js","https:/framerusercontent.com/modules/ZwKoyI1UqpTEqAsbq9Qb/YvvfpExe8xFwwAQtbB0v/q5oo3Ywvz.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,useInView}from\"framer-motion\";// @ts-ignore - this hook is available in Framer's environment but missing in local types\nimport{useIsStaticRenderer,addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * Grid Text Reveal\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 60\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function GridTextReveal(props){const{text=\"Shuffling Text Reveal\",font={},textColor=\"#000000\",cellFillType=\"solid\",cellBackgroundColor=\"transparent\",gradientStart=\"#FF5555\",gradientEnd=\"#FF9933\",gradientAngle=180,borderRadius=0,borderWidth=0,borderColor=\"#000000\",borderStyle=\"solid\",rows=4,cols=6,distanceX=100,distanceY=150,rotation=45,delay=.2,duration=.6,staggerDelay=.05,isSequential=true,keepCellsVisible=false,disableAnimation=false,canvasDisplay=\"assembled\",style,...rest}=props;const containerRef=React.useRef(null);const isStatic=useIsStaticRenderer();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isInView=useInView(containerRef,{once:true,amount:.2});// Determine the effective state\nlet effectiveState=\"animate\";if(isCanvas){effectiveState=canvasDisplay;}else if(isStatic||disableAnimation){effectiveState=keepCellsVisible?\"assembled\":\"text\";}const hasEnteredView=isInView;const totalPieces=rows*cols;const[isDone,setIsDone]=React.useState(false);const[isFadingOut,setIsFadingOut]=React.useState(false);React.useEffect(()=>{if(effectiveState!==\"animate\"){setIsDone(effectiveState===\"text\");setIsFadingOut(false);return;}if(keepCellsVisible){setIsDone(false);setIsFadingOut(false);return;}if(hasEnteredView){const maxStagger=isSequential?(totalPieces-1)*staggerDelay:0;const totalTimeMs=(delay+duration+maxStagger)*1e3;const fadeTimer=window.setTimeout(()=>{React.startTransition(()=>{setIsFadingOut(true);});},totalTimeMs);const doneTimer=window.setTimeout(()=>{React.startTransition(()=>{setIsDone(true);});},totalTimeMs+500)// 500ms smooth fade\n;return()=>{window.clearTimeout(fadeTimer);window.clearTimeout(doneTimer);};}},[hasEnteredView,effectiveState,totalPieces,isSequential,staggerDelay,delay,duration,keepCellsVisible]);const initialPositions=React.useMemo(()=>{const positions=[];for(let i=0;i<totalPieces;i++){const x=(Math.random()-.5)*2*distanceX;const minOffsetY=distanceY*.2;const y=minOffsetY+Math.random()*(distanceY-minOffsetY);const rot=(Math.random()-.5)*2*rotation;positions.push({x,y,rotateZ:rot});}return positions;},[totalPieces,distanceX,distanceY,rotation]);const shuffledIndices=React.useMemo(()=>{const indices=Array.from({length:totalPieces}).map((_,i)=>i);for(let i=indices.length-1;i>0;i--){const j=Math.floor(Math.random()*(i+1));[indices[i],indices[j]]=[indices[j],indices[i]];}return indices;},[totalPieces]);const textStyle={...font,color:textColor,width:\"100%\",margin:0,padding:0,textAlign:font.textAlign||\"center\"};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...style,position:\"relative\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"visible\"},...rest,children:[/*#__PURE__*/_jsx(\"div\",{style:{...textStyle,opacity:isDone||effectiveState===\"text\"?1:0},children:text}),!isDone&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,pointerEvents:\"none\",zIndex:2},children:Array.from({length:totalPieces}).map((_,i)=>{const r=Math.floor(i/cols);const c=i%cols;const orderIndex=shuffledIndices.indexOf(i);const customDelay=delay+(isSequential?orderIndex*staggerDelay:0);const initPos=initialPositions[i];const isVisibleState={opacity:1,x:0,y:0,rotateZ:0};// For scattered state, we want them visible on canvas so opacity is 1 if frozen\nconst isScatteredState={opacity:effectiveState===\"scattered\"?1:0,x:initPos.x,y:initPos.y,rotateZ:initPos.rotateZ};let finalInitialState=isScatteredState;let finalAnimateState=hasEnteredView?isVisibleState:isScatteredState;let finalTransitionDuration=duration;// If we are showing a frozen state on the canvas, force it statically\nif(effectiveState===\"scattered\"){finalInitialState=isScatteredState;finalAnimateState=isScatteredState;finalTransitionDuration=0;}else if(effectiveState===\"assembled\"||effectiveState===\"text\"){finalInitialState=isVisibleState;finalAnimateState=isVisibleState;finalTransitionDuration=0;}const bgStyle=cellFillType===\"gradient\"?`linear-gradient(${gradientAngle}deg, ${gradientStart}, ${gradientEnd})`:cellBackgroundColor;return /*#__PURE__*/_jsxs(motion.div,{initial:finalInitialState,animate:finalAnimateState,transition:{type:\"spring\",bounce:.2,duration:finalTransitionDuration,delay:effectiveState===\"animate\"?customDelay:0},style:{position:\"absolute\",width:`${100/cols}%`,height:`${100/rows}%`,top:`${r*(100/rows)}%`,left:`${c*(100/cols)}%`,overflow:\"hidden\",borderRadius:`${borderRadius}px`},children:[/*#__PURE__*/_jsx(motion.div,{initial:false,animate:{opacity:isFadingOut?0:1},transition:{duration:effectiveState===\"animate\"?.5:0},style:{position:\"absolute\",inset:0,background:bgStyle,borderRadius:`${borderRadius}px`,borderWidth:`${borderWidth}px`,borderColor:borderColor,borderStyle:borderStyle,boxSizing:\"border-box\",pointerEvents:\"none\",zIndex:0}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",width:`${cols*100}%`,height:`${rows*100}%`,top:`${-r*100}%`,left:`${-c*100}%`,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",zIndex:1},children:/*#__PURE__*/_jsx(\"div\",{style:textStyle,children:text})})]},i);})})]});}addPropertyControls(GridTextReveal,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Shuffling Text Reveal\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:40,// @ts-ignore - variant is correct per latest Framer best practices\nvariant:\"Bold\",lineHeight:\"1.2em\",letterSpacing:\"-0.02em\"}},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#111111\"},keepCellsVisible:{type:ControlType.Boolean,title:\"Keep Cells\",defaultValue:false,description:\"Keep the cells visible after animation ends. Enable this if you are using background colors or borders so they don't disappear.\"},cellFillType:{type:ControlType.Enum,title:\"Cell Fill\",options:[\"solid\",\"gradient\"],optionTitles:[\"Solid Color\",\"Gradient\"],defaultValue:\"solid\"},cellBackgroundColor:{type:ControlType.Color,title:\"Solid Color\",defaultValue:\"transparent\",hidden(props){return props.cellFillType!==\"solid\";}},gradientStart:{type:ControlType.Color,title:\"Start Color\",defaultValue:\"#FF5555\",hidden(props){return props.cellFillType!==\"gradient\";}},gradientEnd:{type:ControlType.Color,title:\"End Color\",defaultValue:\"#FF9933\",hidden(props){return props.cellFillType!==\"gradient\";}},gradientAngle:{type:ControlType.Number,title:\"Angle\",min:0,max:360,defaultValue:180,unit:\"\\xb0\",displayStepper:true,hidden(props){return props.cellFillType!==\"gradient\";}},borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:100,defaultValue:0,unit:\"px\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",min:0,max:10,defaultValue:0,unit:\"px\",displayStepper:true},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#000000\",hidden(props){return props.borderWidth===0;}},borderStyle:{type:ControlType.Enum,title:\"Border Style\",options:[\"solid\",\"dashed\",\"dotted\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\"],defaultValue:\"solid\",hidden(props){return props.borderWidth===0;}},rows:{type:ControlType.Number,title:\"Grid Rows\",min:1,max:20,defaultValue:4,displayStepper:true},cols:{type:ControlType.Number,title:\"Grid Cols\",min:1,max:20,defaultValue:6,displayStepper:true},distanceX:{type:ControlType.Number,title:\"Scatter X\",description:\"Horizontal scatter distance\",min:0,max:500,defaultValue:100,unit:\"px\"},distanceY:{type:ControlType.Number,title:\"Scatter Y\",description:\"Vertical scatter distance\",min:0,max:500,defaultValue:150,unit:\"px\"},rotation:{type:ControlType.Number,title:\"Rotation\",min:0,max:180,defaultValue:45,unit:\"\\xb0\"},delay:{type:ControlType.Number,title:\"Delay\",min:0,max:5,step:.1,defaultValue:.2,unit:\"s\"},duration:{type:ControlType.Number,title:\"Speed (Duration)\",min:.1,max:5,step:.1,defaultValue:.6,unit:\"s\"},isSequential:{type:ControlType.Boolean,title:\"Sequential\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},staggerDelay:{type:ControlType.Number,title:\"Stagger Gap\",min:0,max:1,step:.01,defaultValue:.05,unit:\"s\",hidden(props){return!props.isSequential;}},disableAnimation:{type:ControlType.Boolean,title:\"Disable\",defaultValue:false,description:\"Disable the animation completely and show the final state instantly. Useful for mobile breakpoints.\"},canvasDisplay:{type:ControlType.Enum,title:\"Canvas Display\",options:[\"scattered\",\"assembled\",\"text\"],optionTitles:[\"Scattered (Start)\",\"Assembled (Grid)\",\"Final Text\"],defaultValue:\"assembled\",description:\"Force a specific static state on the Framer canvas for styling. To see the animation, hit Framer's Preview (Play) button.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GridTextReveal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"60\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Text_Grid_Reveal.map","// Generated by Framer (3ad0d99)\nexport default function metadata(params,activeLocale){return{description:\"Made with Framer\",robots:\"max-image-preview:large\",title:\"My Framer Site\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (bc931d3)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"72rtr7\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-osurw\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=1200\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (1493872)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"1hi7aj\",mediaQuery:\"(min-width: 1200px)\"},{hash:\"9qjglh\",mediaQuery:\"(min-width: 810px) and (max-width: 1199.98px)\"},{hash:\"1yjc5k6\",mediaQuery:\"(max-width: 809.98px)\"}],description:siteMetadata(params,activeLocale).description,elements:{},robots:\"max-image-preview:large\",serializationId:\"framer-mdXSw\",title:siteMetadata(params,activeLocale).title||\"Preview\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}