{"version":3,"file":"GridTextCursorTrail.BO53wFlI.mjs","names":["useState","useRef","useRef","useState","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/zDgX0XQes9ZpH15yvzHY/gXJSytRcNjynbK0q4MjD/MakeCircularCrousel.js","https:/framerusercontent.com/modules/4tqRvmQqJOZcjvPGLsrs/NUiedzpemntR6Muilxhb/GridTextCursorTrail.js"],"sourcesContent":["// Circular 3D carousel with mouse pan, WebGL shaders, and cool effects\n// Reference: https://framerusercontent.com/images/rmOOV8yjZ6oDUmwib7mNaANTwU.png\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useEffect,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const defaultImages=[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Gradient 1 - Blue\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Gradient 2 - Purple\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Gradient 3 - Orange\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Gradient 4 - Yellow\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Gradient 5 - Green\"}];function clamp(v,min,max){return Math.max(min,Math.min(max,v));}/**\n * MakeCircularCrousel\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function MakeCircularCrousel(props){let{images,radius=320,itemWidth=260,itemHeight=160,perspective=1200,rotationSpeed=.18,shaderEffect,tiltAngle=-18,style}=props;// If images is undefined or empty, use defaultImages\nif(!images||!Array.isArray(images)||images.length===0){images=defaultImages;}else{// Fill up to 5 with defaults if any are missing\nimages=images.map((img,i)=>{if(!img||!img.src||!img.src.src){return{...defaultImages[i%defaultImages.length]};}return img;});}const isStatic=useIsStaticRenderer();const[rotation,setRotation]=useState(0);const dragging=useRef(false);const lastX=useRef(0);const velocity=useRef(0);const raf=useRef(null);// -------- POINTER DRAG SYSTEM --------\nuseEffect(()=>{if(isStatic)return;function onPointerDown(e){dragging.current=true;lastX.current=e.clientX;e.target.setPointerCapture?.(e.pointerId);}function onPointerMove(e){if(!dragging.current)return;const dx=e.clientX-lastX.current;lastX.current=e.clientX;velocity.current=dx*.5;setRotation(r=>r+dx*.5);}function onPointerUp(){dragging.current=false;}window.addEventListener(\"pointerdown\",onPointerDown);window.addEventListener(\"pointermove\",onPointerMove);window.addEventListener(\"pointerup\",onPointerUp);return()=>{window.removeEventListener(\"pointerdown\",onPointerDown);window.removeEventListener(\"pointermove\",onPointerMove);window.removeEventListener(\"pointerup\",onPointerUp);};},[isStatic]);// -------- INERTIA LOOP --------\nuseEffect(()=>{if(isStatic)return;function animate(){if(!dragging.current&&Math.abs(velocity.current)>.01){setRotation(r=>r+velocity.current);velocity.current*=.94;}raf.current=requestAnimationFrame(animate);}raf.current=requestAnimationFrame(animate);return()=>cancelAnimationFrame(raf.current);},[isStatic]);// -------- AUTO ROTATE --------\nuseEffect(()=>{if(isStatic)return;function auto(){if(!dragging.current){setRotation(r=>r+rotationSpeed);}raf.current=requestAnimationFrame(auto);}raf.current=requestAnimationFrame(auto);return()=>cancelAnimationFrame(raf.current);},[rotationSpeed,isStatic]);// 3D transform for each item\nconst N=images.length;const angleStep=360/N;// Shader effect: use CSS filter for now (blur, contrast, etc)\nconst shaderStyle=shaderEffect===\"blur\"?{filter:\"blur(2px) brightness(1.1)\"}:shaderEffect===\"contrast\"?{filter:\"contrast(1.3) saturate(1.2)\"}:{};return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:\"100%\",height:\"100%\",perspective,overflow:\"visible\",position:\"relative\",cursor:dragging.current?\"grabbing\":\"grab\",userSelect:\"none\",touchAction:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"absolute\",transformStyle:\"preserve-3d\",willChange:\"transform\",transform:`rotateY(${rotation}deg)`},children:images.map((img,i)=>{const src=img.src?.src||img.src;const alt=img.alt||\"\";return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"50%\",top:\"50%\",width:itemWidth,height:itemHeight,marginLeft:-itemWidth/2,marginTop:-itemHeight/2,borderRadius:18,overflow:\"hidden\",boxShadow:\"0 8px 32px rgba(0,0,0,0.18)\",background:\"#fff\",transform:`rotateY(${angleStep*i}deg) translateZ(${radius}px) rotateX(${tiltAngle}deg)`,...shaderStyle},children:/*#__PURE__*/_jsx(\"img\",{src:src,alt:alt,draggable:false,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",pointerEvents:\"none\"}})},i);})})});}addPropertyControls(MakeCircularCrousel,{images:{type:ControlType.Array,title:\"Images\",control:{type:ControlType.Object,controls:{src:{type:ControlType.ResponsiveImage,title:\"Image\"},alt:{type:ControlType.String,title:\"Alt\",defaultValue:\"\"}}},defaultValue:defaultImages,maxCount:12},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:320,min:120,max:800,step:1,unit:\"px\"},itemWidth:{type:ControlType.Number,title:\"Item Width\",defaultValue:260,min:80,max:400,step:1,unit:\"px\"},itemHeight:{type:ControlType.Number,title:\"Item Height\",defaultValue:160,min:60,max:300,step:1,unit:\"px\"},perspective:{type:ControlType.Number,title:\"Perspective\",defaultValue:1200,min:400,max:3e3,step:1,unit:\"px\"},rotationSpeed:{type:ControlType.Number,title:\"Auto Speed\",defaultValue:.18,min:0,max:2,step:.01,unit:\"deg/frame\"},shaderEffect:{type:ControlType.Enum,title:\"Shader FX\",options:[\"none\",\"blur\",\"contrast\"],optionTitles:[\"None\",\"Blur\",\"Contrast\"],defaultValue:\"none\"},tiltAngle:{type:ControlType.Number,title:\"Tilt Angle\",defaultValue:-18,min:-90,max:90,step:1,unit:\"deg\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MakeCircularCrousel\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MakeCircularCrousel.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useCallback,useMemo,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";/**\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 600\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerDisableUnlink\n */export default function GridCursorTrail(props){const{text,gridSize,trailLength,colorMode,backgroundColor,customColors,cornerRadius,font,textColor,trailDuration,scope,hideCursor,style}=props;const containerRef=useRef(null);const[trail,setTrail]=useState([]);const lastPos=useRef({x:-1,y:-1});const globalIndex=useRef(0);// Process text for sequential display (Best Practice: Multi-line support)\nconst chars=useMemo(()=>{if(!text)return[\" \"];const processed=text.replace(/\\\\n/g,\"\\n\");return processed.split(\"\");},[text]);const handleMouseMove=useCallback(e=>{let clientX=e.clientX;let clientY=e.clientY;if((scope===\"local\"||scope===\"document\")&&containerRef.current){const rect=containerRef.current.getBoundingClientRect();clientX=e.clientX-rect.left;clientY=e.clientY-rect.top;if(scope===\"local\"){if(e.clientX<rect.left||e.clientX>rect.right||e.clientY<rect.top||e.clientY>rect.bottom){return;}}}const x=Math.floor(clientX/gridSize);const y=Math.floor(clientY/gridSize);if(x!==lastPos.current.x||y!==lastPos.current.y){lastPos.current={x,y};const id=globalIndex.current++;const charIndex=id%chars.length;const colorIndex=colorMode===\"custom\"&&customColors?.length>0?id%customColors.length:0;setTrail(prev=>{const newTrail=[...prev,{x,y,id,charIndex,colorIndex,createdAt:Date.now()}];if(newTrail.length>trailLength){return newTrail.slice(newTrail.length-trailLength);}return newTrail;});}},[gridSize,trailLength,scope,chars,colorMode,customColors]);// Lifetime System: Automatically remove items after their lifetime\nuseEffect(()=>{if(RenderTarget.current()===RenderTarget.canvas)return;const interval=setInterval(()=>{const now=Date.now();setTrail(prev=>{const filtered=prev.filter(item=>now-item.createdAt<trailDuration*1e3);if(filtered.length!==prev.length)return filtered;return prev;});},50);return()=>clearInterval(interval);},[trailDuration]);// Global Cursor Hide System for Viewport/Document scopes\nuseEffect(()=>{if(!hideCursor||RenderTarget.current()===RenderTarget.canvas)return;if(scope===\"local\")return;const styleId=`framer-hide-cursor-${globalIndex.current}`;let styleTag=document.getElementById(styleId);if(!styleTag){styleTag=document.createElement(\"style\");styleTag.id=styleId;styleTag.innerHTML=`body, a, button, [role=\"button\"] { cursor: none !important; }`;document.head.appendChild(styleTag);}return()=>{const tag=document.getElementById(styleId);if(tag)tag.remove();};},[hideCursor,scope]);// Event listener management\nuseEffect(()=>{const target=scope===\"viewport\"||scope===\"document\"?window:containerRef.current;if(!target)return;if(RenderTarget.current()!==RenderTarget.canvas){target.addEventListener(\"mousemove\",handleMouseMove);}return()=>{target.removeEventListener(\"mousemove\",handleMouseMove);};},[handleMouseMove,scope]);// Preview mode for Framer Canvas\nconst displayTrail=useMemo(()=>{if(RenderTarget.current()===RenderTarget.canvas&&trail.length===0){return[{x:1,y:1,id:-1,charIndex:0,colorIndex:0,createdAt:0},{x:2,y:2,id:-2,charIndex:1%chars.length,colorIndex:1%(customColors?.length||1),createdAt:0},{x:3,y:3,id:-3,charIndex:2%chars.length,colorIndex:2%(customColors?.length||1),createdAt:0}];}return trail;},[trail,chars,customColors]);const containerStyle={...style,width:\"100%\",height:\"100%\",padding:0,margin:0,overflow:scope===\"viewport\"||scope===\"document\"?\"visible\":\"hidden\",position:scope===\"viewport\"?\"fixed\":scope===\"document\"?\"absolute\":\"relative\",top:scope===\"viewport\"||scope===\"document\"?0:undefined,left:scope===\"viewport\"||scope===\"document\"?0:undefined,pointerEvents:scope===\"viewport\"||scope===\"document\"?\"none\":\"auto\",zIndex:scope===\"viewport\"||scope===\"document\"?9999:undefined,cursor:hideCursor&&scope===\"local\"?\"none\":\"auto\"};const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:containerStyle,children:[isOnCanvas&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,right:0,bottom:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\",zIndex:10},children:/*#__PURE__*/_jsx(\"div\",{style:{padding:\"6px 14px\",borderRadius:\"12px\",backgroundColor:\"rgba(0, 0, 0, 0.4)\",color:\"white\",fontSize:\"12px\",fontWeight:500,backdropFilter:\"blur(4px)\",border:\"1px solid rgba(255, 255, 255, 0.1)\",letterSpacing:\"-0.01em\",textAlign:\"center\"},children:\"Please check in Preview\"})}),/*#__PURE__*/_jsx(AnimatePresence,{children:displayTrail.map((item,index)=>{// Opacity calculation based on trail order\nconst opacity=(index+1)/(displayTrail.length||1);const char=chars[item.charIndex];const bgColor=colorMode===\"custom\"&&customColors?.length>0?customColors[item.colorIndex]:backgroundColor;return /*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,scale:.8},animate:{opacity,scale:1},exit:{opacity:0,scale:.5},transition:{duration:.3,ease:\"easeOut\"},style:{position:\"absolute\",left:item.x*gridSize,top:item.y*gridSize,width:gridSize,height:gridSize,backgroundColor:bgColor,borderRadius:cornerRadius,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\",// Best Practice: Font extended correctly (Removed incorrect ...style)\n...font,color:textColor,// Additional centering reinforcement\nlineHeight:1},children:/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",whiteSpace:\"pre-wrap\",textAlign:font?.textAlign||\"center\",// Using transform for perfect optical centering if needed,\n// but flex + lineHeight 1 is usually enough.\nlineHeight:\"1em\"},children:char===\"\\n\"?/*#__PURE__*/_jsx(\"br\",{}):char})},item.id);})})]});}GridCursorTrail.defaultProps={text:\"Grid Cursor \",gridSize:50,trailLength:10,colorMode:\"custom\",backgroundColor:\"rgba(0, 153, 255, 0.2)\",customColors:[\"#FFC09F\",\"#FFEE93\",\"#FCF5C7\",\"#A0CED9\",\"#ADF7B6\"],cornerRadius:100,trailDuration:.5,scope:\"local\",hideCursor:false,textColor:\"#ffffff\",font:{fontSize:40}};addPropertyControls(GridCursorTrail,{// --- Content Section ---\ntext:{type:ControlType.String,defaultValue:\"Grid Cursor \",title:\"Text\"},font:{type:ControlType.Font,controls:\"extended\",defaultValue:{fontSize:40,textAlign:\"center\",variant:\"Semibold\"}},textColor:{type:ControlType.Color,defaultValue:\"#ffffff\",title:\"Font Color\"},// --- Trail Mechanics ---\ngridSize:{type:ControlType.Number,min:10,max:200,defaultValue:50,unit:\"px\",title:\"Grid Size\"},cornerRadius:{type:ControlType.Number,min:0,max:100,defaultValue:100,unit:\"px\",title:\"Corner Radius\"},trailLength:{type:ControlType.Number,min:1,max:500,defaultValue:10,unit:\"pcs\",title:\"Max Length\"},trailDuration:{type:ControlType.Number,min:.1,max:10,step:.1,defaultValue:.5,unit:\"s\",title:\"Lifetime\"},// --- Visual Styling ---\ncolorMode:{type:ControlType.Enum,options:[\"single\",\"custom\"],optionTitles:[\"Single Color\",\"Multi Color\"],defaultValue:\"custom\",title:\"Color Mode\"},backgroundColor:{type:ControlType.Color,defaultValue:\"rgba(0, 153, 255, 0.2)\",title:\"Color\",hidden:props=>props.colorMode!==\"single\"},customColors:{type:ControlType.Array,control:{type:ControlType.Color},defaultValue:[\"#FFC09F\",\"#FFEE93\",\"#FCF5C7\",\"#A0CED9\",\"#ADF7B6\"],title:\"Colors\",hidden:props=>props.colorMode!==\"custom\"},// --- Interaction Settings ---\nscope:{type:ControlType.Enum,options:[\"local\",\"document\"],optionTitles:[\"Local (Within Componet)\",\"Global (Entire Page)\"],defaultValue:\"local\",title:\"Tracking Scope\",description:\"Explore more components at [THE DESIGN FUTURIST](https://thedesignfuturist.zip)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GridCursorTrail\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"800\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"600\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GridTextCursorTrail.map"],"mappings":"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"}