{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/ge79eoA2CuYo94sUAjT9/useColors.js", "ssg:https://framerusercontent.com/modules/P7CERvZDMOoPtAW3iQjh/hu0acDdjZEUAD16X6pPP/PixelTrail_Prod.js"],
  "sourcesContent": ["import{RenderTarget}from\"framer\";import{useEffect,useState,useMemo}from\"react\";const cssVariableRegex=/var\\s*\\(\\s*(--[\\w-]+)(?:\\s*,\\s*((?:[^)(]+|\\((?:[^)(]+|\\([^)(]*\\))*\\))*))?\\s*\\)/;export function useColors(...colors){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const darkMode=useDarkMode();const[styleValues,setStyleValues]=useState(()=>extractStyleValues(colors.map(extractCSSVariableName)));useEffect(()=>{if(!isCanvas)return;const div=document.body.querySelector(\"main > div\");if(!div)return;const observer=new MutationObserver(()=>{setStyleValues(extractStyleValues(colors.map(extractCSSVariableName)));});observer.observe(div,{attributes:true,attributeFilter:[\"style\"]});return()=>observer.disconnect();},colors);const variableNames=useMemo(()=>colors.map(extractCSSVariableName),[colors]);if(isOptimizing){return colors.map(color=>extractDefaultValue(color));}let values=[];for(let i=0;i<colors.length;i++){const color=colors[i];// Return original value if not a string\nif(typeof color!==\"string\"){values.push(color);continue;}const variableName=variableNames[i];const colorValues=styleValues[variableName];if(variableName&&colorValues){values.push(darkMode?colorValues.dark||colorValues.light||color:colorValues.light||color);}else{values.push(color);}}return values;}////////////////////\nfunction extractStyleValues(variableNames){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const result={};let lightVars={};let darkVars={};if(isCanvas&&typeof document!==\"undefined\"){const div=document.body.querySelector(\"main > div\");if(div){const style=div.getAttribute(\"style\");if(style){const vars=parseVariables(style);lightVars=vars;darkVars=vars;}}}else{const{light,dark}=extractColorStyles();lightVars=parseVariables(light);darkVars=parseVariables(dark);}// Include all variables\nconst allVarNames=new Set([...Object.keys(lightVars),...Object.keys(darkVars)]);allVarNames.forEach(varName=>{result[varName]={light:lightVars[varName]||\"\",dark:darkVars[varName]||\"\"};});return result;}function extractColorStyles(){let lightSection=\"\";let darkSection=\"\";if(typeof document!==\"undefined\"){const styles=document.head.querySelectorAll(\"style[data-framer-css], style[data-framer-css-ssr], style[data-framer-css-ssr-minified]\");for(const style of styles){const rules=style.sheet?.cssRules;if(!rules)continue;const styleRules=[];for(const rule of rules){if(rule instanceof CSSStyleRule){styleRules.push([rule,false]);}else if(rule instanceof CSSMediaRule){if(rule.conditionText===\"(prefers-color-scheme: dark)\"){for(const subrule of rule.cssRules){if(subrule instanceof CSSStyleRule){styleRules.push([subrule,true]);}}}}}for(const[rule,isDarkMedia]of styleRules){const css=rule.cssText;const hasVars=css.includes(\"--token-\");if(!hasVars)continue;const isDark=isDarkMedia?rule.selectorText===\"body\":rule.selectorText==='body[data-framer-theme=\"dark\"]';const isLight=!isDarkMedia&&rule.selectorText===\"body\";if(!isDark&&!isLight)continue;if(isDark){if(!darkSection){darkSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}else{if(!lightSection){lightSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}if(darkSection&&lightSection)break;}if(darkSection&&lightSection)break;}}return{light:lightSection,dark:darkSection};}function useDarkMode(){const isPreview=typeof window!==\"undefined\"&&window.location.origin.endsWith(\"framercanvas.com\");const[isDarkMode,setIsDarkMode]=useState(()=>{if(typeof window===\"undefined\"){return false;}else if(isPreview&&typeof document!==\"undefined\"){return document.body.getAttribute(\"data-framer-theme\")===\"dark\";}else{return window.matchMedia(\"(prefers-color-scheme: dark)\").matches;}});useEffect(()=>{if(isPreview){const observer=new MutationObserver(mutations=>{mutations.forEach(mutation=>{if(mutation.attributeName===\"data-framer-theme\"){const theme=document.body.getAttribute(\"data-framer-theme\");setIsDarkMode(theme===\"dark\");}});});observer.observe(document.body,{attributes:true,attributeFilter:[\"data-framer-theme\"]});return()=>observer.disconnect();}else{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleChange=e=>{setIsDarkMode(e.matches);};// Update initial value\nif(mediaQuery.matches!==isDarkMode){setIsDarkMode(mediaQuery.matches);}mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);}},[isPreview]);return isDarkMode;}function extractCSSVariableName(cssString){if(!cssString||!cssString.startsWith(\"var(\")){return\"\";}const match=cssVariableRegex.exec(cssString);if(match){const variableName=match[1];return variableName||\"\";}return\"\";}function parseVariables(section){const vars={};if(!section)return vars;const declarations=section.split(\";\").filter(Boolean);declarations.forEach(declaration=>{const[name,value]=declaration.split(\":\").map(s=>s.trim());if(name&&value){vars[name]=value;}});return vars;}function extractDefaultValue(cssVar){// Check if the string starts with \"var(\"\nif(!cssVar||!cssVar.startsWith(\"var(\")){return cssVar// Return the original value if it doesn't start with \"var(\"\n;}// Remove \"var(\" from the beginning and \")\" from the end\nconst content=cssVar.slice(4,-1);// Split the content by comma\nconst parts=content.split(\",\");// If there's more than one part, the second part is the default value\nif(parts.length>1){// Trim any whitespace from the default value\nreturn parts.slice(1).join(\",\").trim();}// If there's no comma, return an empty string or null\nreturn\"\";}\nexport const __FramerMetadata__ = {\"exports\":{\"useColors\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useColors.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState,useRef,useMemo}from\"react\";import{animate}from\"framer-motion\";import{useColors}from\"https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/ge79eoA2CuYo94sUAjT9/useColors.js\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function PixelTrail(props){const{tileSize,trigger,delay,transition}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const[isMousePressed,setIsMousePressed]=useState(false);const[tiles,setTiles]=useState([]);const[dimensions,setDimensions]=useState({width:0,height:0});const[hoveredTiles,setHoveredTiles]=useState(new Set);const[tileColors,setTileColors]=useState({});const canvasRef=useRef(null);const containerRef=useRef(null);const gridRef=useRef({cols:0,rows:0});const prevPositionRef=useRef(null);const timeoutRefs=useRef({});const animationRefs=useRef({});const mousePositionRef=useRef(null);const hoveredTilesRef=useRef(new Set);const[backgroundColorValue,trailColorValue]=useColors(props.backgroundColor,props.trailColor);const[backgroundColor,trailColor]=useMemo(()=>{let finalTrailColor=trailColorValue;let finalBackgroundColor=backgroundColorValue;// Convert colors to RGBA if they're RGB\nconst trailRGBA=ensureRGBA(trailColorValue);const backgroundRGBA=ensureRGBA(backgroundColorValue);// Check for transparency\nconst isTrailTransparent=trailRGBA?.endsWith(\", 0)\")||!trailRGBA;const isBackgroundTransparent=backgroundRGBA?.endsWith(\", 0)\")||!backgroundRGBA;if(isTrailTransparent&&!isBackgroundTransparent){// Extract RGB from backgroundColor and make it fully opaque\nconst rgb=backgroundRGBA.substring(0,backgroundRGBA.lastIndexOf(\",\"));finalTrailColor=`${rgb}, 0)`;}else if(isBackgroundTransparent&&!isTrailTransparent){// Extract RGB from trailColor and make it fully transparent\nconst rgb=trailRGBA.substring(0,trailRGBA.lastIndexOf(\",\"));finalBackgroundColor=`${rgb}, 0)`;}return[finalBackgroundColor,finalTrailColor];},[backgroundColorValue,trailColorValue]);const updateHoveredTiles=updater=>{const newTiles=typeof updater===\"function\"?updater(hoveredTilesRef.current):updater;hoveredTilesRef.current=newTiles;setHoveredTiles(newTiles);};// Setup canvas and tile grid\nuseEffect(()=>{if(!containerRef.current)return;const{width,height}=containerRef.current.getBoundingClientRect();setDimensions({width,height});const cols=Math.ceil(width/tileSize);const rows=Math.ceil(height/tileSize);gridRef.current={cols,rows};// Initialize array with all false values\nsetTiles(new Array(cols*rows).fill(false));},[tileSize]);// Add resize observer\nuseEffect(()=>{if(!containerRef.current)return;const resizeObserver=new ResizeObserver(entries=>{for(const entry of entries){const{width,height}=entry.contentRect;setDimensions({width,height});const newCols=Math.ceil(width/tileSize);const newRows=Math.ceil(height/tileSize);// Only clear data if grid dimensions have changed\nif(newCols!==gridRef.current.cols||newRows!==gridRef.current.rows){gridRef.current={cols:newCols,rows:newRows};setTiles(new Array(newCols*newRows).fill(false));updateHoveredTiles(new Set);setTileColors({});// Stop all animations when resizing\nObject.keys(timeoutRefs.current).forEach(key=>{clearTimeout(timeoutRefs.current[Number(key)]);delete timeoutRefs.current[Number(key)];});Object.keys(animationRefs.current).forEach(key=>{animationRefs.current[Number(key)]?.stop();delete animationRefs.current[Number(key)];});}}});resizeObserver.observe(containerRef.current);return()=>resizeObserver.disconnect();},[tileSize]);// Draw the grid\nuseEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;// Set canvas size to match grid dimensions (1px per tile)\ncanvas.width=gridRef.current.cols;canvas.height=gridRef.current.rows;// Set canvas CSS size to match actual display dimensions\ncanvas.style.width=`${dimensions.width}px`;canvas.style.height=`${dimensions.height}px`;const{cols}=gridRef.current;for(let i=0;i<tiles.length;i++){const x=i%cols;const y=Math.floor(i/cols);ctx.fillStyle=tileColors[i]||backgroundColor;ctx.fillRect(x,y,1,1);}},[tiles,dimensions,backgroundColor,tileColors]);const clearAnimation=index=>{if(timeoutRefs.current[index]){clearTimeout(timeoutRefs.current[index]);delete timeoutRefs.current[index];}if(animationRefs.current[index]){animationRefs.current[index].stop();delete animationRefs.current[index];}};const startResetTimer=index=>{// Don't reset tiles if in drawing mode\nif(props.mode===\"drawing\"){return;}// Clear existing timeout and animation if they exist\nclearAnimation(index);const onComplete=()=>{setTiles(prev=>{const newTiles=[...prev];newTiles[index]=false;return newTiles;});setTileColors(prev=>{const newColors={...prev};delete newColors[index];return newColors;});delete timeoutRefs.current[index];delete animationRefs.current[index];};let shouldAnimate=true;if(typeof transition.duration===\"number\"&&transition.duration<=0){shouldAnimate=false;}if(shouldAnimate){setTileColors(prev=>({...prev,[index]:trailColor}));timeoutRefs.current[index]=window.setTimeout(()=>{const animation=animate(trailColor,backgroundColor,{...transition,onUpdate:latest=>{const color=latest===\"rgba(NaN, NaN, NaN, NaN)\"?trailColor:latest;setTileColors(prev=>({...prev,[index]:color}));},onComplete});animationRefs.current[index]=animation;},delay*1e3);}else{const transitionDelay=transition.delay||0;timeoutRefs.current[index]=window.setTimeout(onComplete,(delay+transitionDelay)*1e3);}};const getPointsOnLine=(x0,y0,x1,y1)=>{const points=[];const dx=Math.abs(x1-x0);const dy=Math.abs(y1-y0);const sx=x0<x1?1:-1;const sy=y0<y1?1:-1;let err=dx-dy;for(let i=0;i<500;i++){points.push(y0*gridRef.current.cols+x0);if(x0===x1&&y0===y1){break;}const e2=2*err;if(e2>-dy){err-=dy;x0+=sx;}if(e2<dx){err+=dx;y0+=sy;}}return points;};const isMouseInBounds=(mouseX,mouseY)=>{return mouseX>=0&&mouseX<=dimensions.width&&mouseY>=0&&mouseY<=dimensions.height;};const onMove=(x,y)=>{if(navigator.maxTouchPoints)return;if(trigger===\"hover\"||trigger===\"click\"&&isMousePressed){const canvas=canvasRef.current;if(!canvas)return;// Get canvas bounding box\nconst rect=canvas.getBoundingClientRect();// Calculate relative position\nconst relativeX=x-rect.left;const relativeY=y-rect.top;// Check if mouse is within bounds using relative point\nif(!isMouseInBounds(relativeX,relativeY)){handleMouseUp();return;}const currentX=Math.floor(relativeX/tileSize);const currentY=Math.floor(relativeY/tileSize);// Ensure currentX and currentY are within grid bounds\nif(currentX<0||currentX>=gridRef.current.cols||currentY<0||currentY>=gridRef.current.rows){return;}if(prevPositionRef.current){const{x:prevX,y:prevY}=prevPositionRef.current;const points=getPointsOnLine(prevX,prevY,currentX,currentY);const validPoints=points.filter(index=>index>=0&&index<tiles.length);setTiles(prev=>{const newTiles=[...prev];for(const index of validPoints){newTiles[index]=true;}return newTiles;});updateHoveredTiles(prev=>new Set([...prev,...validPoints]));setTileColors(prev=>{const newColors={...prev};for(const index of validPoints){newColors[index]=trailColor;}return newColors;});}prevPositionRef.current={x:currentX,y:currentY};// Check which tiles are no longer being hovered\nconst currentIndex=currentY*gridRef.current.cols+currentX;hoveredTilesRef.current.forEach(index=>{if(index!==currentIndex&&!getPointsOnLine(prevPositionRef.current?.x||currentX,prevPositionRef.current?.y||currentY,currentX,currentY).includes(index)){updateHoveredTiles(prev=>{const next=new Set(prev);next.delete(index);return next;});startResetTimer(index);}});}};const handleMouseUp=()=>{if(navigator.maxTouchPoints)return;setIsMousePressed(false);prevPositionRef.current=null;// Only reset tiles if not in drawing mode\nif(props.mode!==\"drawing\"){hoveredTilesRef.current.forEach(index=>{startResetTimer(index);});}updateHoveredTiles(new Set);};// Update mouse event handlers to use global events\nuseEffect(()=>{const handleGlobalMouseMove=e=>{if(navigator.maxTouchPoints)return;const{clientX,clientY}=e;const{innerWidth,innerHeight}=window;let isInside=false;if(clientX>=0&&clientY>=0&&clientX<=innerWidth&&clientY<=innerHeight){isInside=true;}else{isInside=false;}if(isInside){mousePositionRef.current=[e.clientX,e.clientY];onMove(e.clientX,e.clientY);}else{handleMouseLeave();}};const handleGlobalMouseDown=e=>{if(navigator.maxTouchPoints)return;if(trigger===\"click\"){const canvas=canvasRef.current;if(!canvas)return;// Get canvas bounding box\nconst rect=canvas.getBoundingClientRect();// Calculate relative position\nconst relativeX=e.clientX-rect.left;const relativeY=e.clientY-rect.top;if(!isMouseInBounds(relativeX,relativeY))return;setIsMousePressed(true);const x=Math.floor(relativeX/tileSize);const y=Math.floor(relativeY/tileSize);const index=y*gridRef.current.cols+x;if(index>=tiles.length)return;updateHoveredTiles(prev=>new Set(prev).add(index));setTiles(prev=>{const newTiles=[...prev];newTiles[index]=true;return newTiles;});setTileColors(prev=>({...prev,[index]:trailColor}));}};const handleScroll=()=>{if(navigator.maxTouchPoints)return;if(mousePositionRef.current){const[mouseX,mouseY]=mousePositionRef.current;onMove(mouseX,mouseY);}};const handleMouseLeave=e=>{if(navigator.maxTouchPoints)return;if(!e||!isMouseInBounds(e.clientX,e.clientY)){prevPositionRef.current=null;hoveredTilesRef.current.forEach(startResetTimer);updateHoveredTiles(new Set);}};const handleMouseEnter=e=>{if(navigator.maxTouchPoints)return;if(!isMouseInBounds(prevPositionRef.current?.x,prevPositionRef.current?.y)){prevPositionRef.current=null// Reset the previous position on re-enter\n;}};const container=containerRef.current;if(container){container.addEventListener(\"mouseenter\",handleMouseEnter);container.addEventListener(\"mouseleave\",handleMouseLeave);}window.addEventListener(\"mousemove\",handleGlobalMouseMove);window.addEventListener(\"mouseup\",handleMouseUp);window.addEventListener(\"mousedown\",handleGlobalMouseDown);window.addEventListener(\"scroll\",handleScroll);window.addEventListener(\"mouseleave\",handleMouseLeave);return()=>{if(container){container.removeEventListener(\"mouseenter\",handleMouseEnter);container.removeEventListener(\"mouseleave\",handleMouseLeave);}window.removeEventListener(\"mousemove\",handleGlobalMouseMove);window.removeEventListener(\"mouseup\",handleMouseUp);window.removeEventListener(\"mousedown\",handleGlobalMouseDown);window.removeEventListener(\"scroll\",handleScroll);window.removeEventListener(\"mouseleave\",handleMouseLeave);};},[trigger,tileSize,tiles.length,trailColor,isMousePressed]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{...props.style,position:\"relative\",overflow:\"hidden\"},children:isCanvas||isOptimizing?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:props.backgroundColor}}):/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",top:0,left:0,imageRendering:\"pixelated\"}})});}PixelTrail.displayName=\"Pixel Trail\";addPropertyControls(PixelTrail,{backgroundColor:{type:ControlType.Color,defaultValue:\"#000\",optional:true,title:\"Background\"},trailColor:{type:ControlType.Color,defaultValue:\"#FFF\",optional:true,title:\"Trail\"},tileSize:{type:ControlType.Number,defaultValue:50,min:5,step:1,title:\"Size\"},trigger:{type:ControlType.Enum,defaultValue:\"hover\",options:[\"hover\",\"click\"],optionTitles:[\"Hover\",\"Click\"],displaySegmentedControl:true},mode:{type:ControlType.Enum,defaultValue:\"trail\",options:[\"trail\",\"drawing\"],optionTitles:[\"Trail\",\"Drawing\"],displaySegmentedControl:true},delay:{type:ControlType.Number,defaultValue:1,min:0,step:.1,hidden:props=>props.mode!==\"trail\"},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:.5,bounce:0},hidden:props=>props.mode!==\"trail\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const ensureRGBA=color=>{if(!color)return color;if(color.startsWith(\"rgb(\")){return color.replace(\"rgb(\",\"rgba(\").replace(\")\",\", 1)\");}return color;};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PixelTrail\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["cssVariableRegex", "useColors", "colors", "isCanvas", "RenderTarget", "isOptimizing", "window", "darkMode", "useDarkMode", "styleValues", "setStyleValues", "ye", "extractStyleValues", "extractCSSVariableName", "ue", "div", "observer", "variableNames", "se", "color", "extractDefaultValue", "values", "i", "variableName", "colorValues", "result", "lightVars", "darkVars", "style", "vars", "parseVariables", "light", "dark", "extractColorStyles", "varName", "lightSection", "darkSection", "styles", "rules", "styleRules", "rule", "subrule", "isDarkMedia", "css", "isDark", "isLight", "isPreview", "isDarkMode", "setIsDarkMode", "mutations", "mutation", "theme", "mediaQuery", "handleChange", "e", "cssString", "match", "section", "declaration", "name", "value", "s", "cssVar", "parts", "PixelTrail", "props", "tileSize", "trigger", "delay", "transition", "isCanvas", "RenderTarget", "isOptimizing", "window", "isMousePressed", "setIsMousePressed", "ye", "tiles", "setTiles", "dimensions", "setDimensions", "hoveredTiles", "setHoveredTiles", "tileColors", "setTileColors", "canvasRef", "pe", "containerRef", "gridRef", "prevPositionRef", "timeoutRefs", "animationRefs", "mousePositionRef", "hoveredTilesRef", "backgroundColorValue", "trailColorValue", "useColors", "backgroundColor", "trailColor", "se", "finalTrailColor", "finalBackgroundColor", "trailRGBA", "ensureRGBA", "backgroundRGBA", "isTrailTransparent", "isBackgroundTransparent", "updateHoveredTiles", "updater", "newTiles", "ue", "width", "height", "cols", "rows", "resizeObserver", "entries", "entry", "newCols", "newRows", "key", "canvas", "ctx", "i", "x", "y", "clearAnimation", "index", "startResetTimer", "onComplete", "prev", "newColors", "shouldAnimate", "animation", "animate", "latest", "color", "transitionDelay", "getPointsOnLine", "x0", "y0", "x1", "y1", "points", "dx", "dy", "sx", "sy", "err", "e2", "isMouseInBounds", "mouseX", "mouseY", "onMove", "navigator", "rect", "relativeX", "relativeY", "handleMouseUp", "currentX", "currentY", "prevX", "prevY", "validPoints", "currentIndex", "next", "handleGlobalMouseMove", "e", "clientX", "clientY", "innerWidth", "innerHeight", "isInside", "handleMouseLeave", "handleGlobalMouseDown", "handleScroll", "handleMouseEnter", "container", "p", "addPropertyControls", "ControlType"]
}
