{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/BsyKbln4xSYCB9dVv3ln/waXiQIxJI4lH3fPPbaBw/BlinkingCircle.js", "ssg:https://framerusercontent.com/modules/slbiP22uLyFukARQw0mf/wUZNypXQYdC8YHm3vij4/TiltCard.js"],
  "sourcesContent": ["// Blinking green circle\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Blinking Green Circle\n *\n * @framerIntrinsicWidth 60\n * @framerIntrinsicHeight 60\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function BlinkingCircle(props){const{size,color,blinkSpeed,style}=props;const[visible,setVisible]=useState(true);useEffect(()=>{const interval=setInterval(()=>{startTransition(()=>setVisible(v=>!v));},blinkSpeed);return()=>clearInterval(interval);},[blinkSpeed]);return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:size,height:size,borderRadius:\"50%\",background:color,opacity:visible?1:.2,transition:\"opacity 0.2s\",display:\"block\"},\"aria-label\":\"blinking green circle\",role:\"img\"});}addPropertyControls(BlinkingCircle,{size:{type:ControlType.Number,title:\"Size\",defaultValue:60,min:10,max:200,unit:\"px\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#22CC66\"},blinkSpeed:{type:ControlType.Number,title:\"Blink Speed\",defaultValue:500,min:100,max:2e3,unit:\"ms\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BlinkingCircle\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"60\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"60\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlinkingCircle.map", "// Image card with interactive 3d tilt\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useState,useCallback,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * TiltCard\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function TiltCard(props){const{image={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Gradient 1 - Blue\"},background=\"#FFFFFF\",borderRadius=16,shadow=true,maxTilt=18,transitionSpeed=.18,style}=props;const cardRef=useRef(null);const[tilt,setTilt]=useState({x:0,y:0});const[isHover,setIsHover]=useState(false);const isStatic=useIsStaticRenderer();const handleMouseMove=useCallback(e=>{if(!cardRef.current)return;const rect=cardRef.current.getBoundingClientRect();const x=e.clientX-rect.left;const y=e.clientY-rect.top;const px=x/rect.width*2-1;const py=y/rect.height*2-1;const tiltX=py*maxTilt;const tiltY=-px*maxTilt;startTransition(()=>setTilt({x:tiltX,y:tiltY}));},[maxTilt]);const handleMouseLeave=useCallback(()=>{startTransition(()=>setTilt({x:0,y:0}));startTransition(()=>setIsHover(false));},[]);const handleMouseEnter=useCallback(()=>{startTransition(()=>setIsHover(true));},[]);const cardStyle={...style,width:\"100%\",height:\"100%\",background,borderRadius,boxShadow:shadow?\"0 8px 32px rgba(0,0,0,0.12), 0 1.5px 4px rgba(0,0,0,0.08)\":\"none\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",transition:`box-shadow 0.18s cubic-bezier(.4,0,.2,1), transform ${transitionSpeed}s cubic-bezier(.4,0,.2,1)`,transform:isStatic?\"none\":`perspective(800px) rotateX(${tilt.x}deg) rotateY(${tilt.y}deg) scale3d(${isHover?1.04:1},${isHover?1.04:1},1)`};return /*#__PURE__*/_jsx(\"div\",{ref:cardRef,style:cardStyle,onMouseMove:isStatic?undefined:handleMouseMove,onMouseLeave:isStatic?undefined:handleMouseLeave,onMouseEnter:isStatic?undefined:handleMouseEnter,tabIndex:0,\"aria-label\":\"Image card with 3D tilt\",children:/*#__PURE__*/_jsx(\"img\",{src:image.src,alt:image.alt||\"Image\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",pointerEvents:\"none\",userSelect:\"none\"},draggable:false})});}addPropertyControls(TiltCard,{image:{type:ControlType.ResponsiveImage,title:\"Image\"},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:16,min:0,max:64,step:1},shadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},maxTilt:{type:ControlType.Number,title:\"Max Tilt\",defaultValue:18,min:5,max:45,step:1,unit:\"deg\"},transitionSpeed:{type:ControlType.Number,title:\"Transition\",defaultValue:.18,min:.05,max:.5,step:.01,unit:\"s\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TiltCard\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TiltCard.map"],
  "mappings": "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",
  "names": ["BlinkingCircle", "props", "size", "color", "blinkSpeed", "style", "visible", "setVisible", "ye", "ue", "interval", "Z", "v", "p", "addPropertyControls", "ControlType", "TiltCard", "props", "image", "background", "borderRadius", "shadow", "maxTilt", "transitionSpeed", "style", "cardRef", "pe", "tilt", "setTilt", "ye", "isHover", "setIsHover", "isStatic", "useIsStaticRenderer", "handleMouseMove", "te", "e", "rect", "x", "y", "px", "tiltX", "tiltY", "Z", "handleMouseLeave", "handleMouseEnter", "cardStyle", "p", "addPropertyControls", "ControlType"]
}
