{"version":3,"file":"TiltCard.CLRKaTia.mjs","names":[],"sources":["https:/framerusercontent.com/modules/slbiP22uLyFukARQw0mf/wUZNypXQYdC8YHm3vij4/TiltCard.js"],"sourcesContent":["// 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":"kTAMG,SAAwB,EAAS,EAAM,CAAC,GAAK,CAAC,QAAM,CAAC,IAAI,sEAAsE,IAAI,mBAAoB,EAAC,aAAW,UAAU,eAAa,GAAG,UAAO,EAAK,UAAQ,GAAG,kBAAgB,IAAI,QAAM,CAAC,EAAY,EAAQ,EAAO,KAAK,CAAM,CAAC,EAAK,EAAQ,CAAC,EAAS,CAAC,EAAE,EAAE,EAAE,CAAE,EAAC,CAAM,CAAC,EAAQ,EAAW,CAAC,GAAS,EAAM,CAAO,EAAS,GAAqB,CAAO,EAAgB,EAAY,GAAG,CAAC,IAAI,EAAQ,QAAQ,OAAO,IAAM,EAAK,EAAQ,QAAQ,uBAAuB,CAAO,EAAE,EAAE,QAAQ,EAAK,KAAW,EAAE,EAAE,QAAQ,EAAK,IAAU,EAAG,EAAE,EAAK,MAAM,EAAE,EAAQ,EAAG,EAAE,EAAK,OAAO,EAAE,EAAQ,EAAM,EAAG,EAAc,GAAO,EAAG,EAAQ,EAAgB,IAAI,EAAQ,CAAC,EAAE,EAAM,EAAE,CAAM,EAAC,CAAC,AAAE,EAAC,CAAC,CAAQ,EAAC,CAAO,EAAiB,EAAY,IAAI,CAAyC,AAAxC,EAAgB,IAAI,EAAQ,CAAC,EAAE,EAAE,EAAE,CAAE,EAAC,CAAC,CAAC,EAAgB,IAAI,GAAW,EAAM,CAAC,AAAE,EAAC,CAAE,EAAC,CAAO,EAAiB,EAAY,IAAI,CAAC,EAAgB,IAAI,GAAW,EAAK,CAAC,AAAE,EAAC,CAAE,EAAC,CAAO,EAAU,CAAC,GAAG,EAAM,MAAM,OAAO,OAAO,OAAO,aAAW,eAAa,UAAU,EAAO,4DAA4D,OAAO,SAAS,SAAS,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,YAAY,sDAAsD,EAAgB,2BAA2B,UAAU,EAAS,QAAQ,6BAA6B,EAAK,EAAE,eAAe,EAAK,EAAE,eAAe,EAAQ,KAAK,EAAE,GAAG,EAAQ,KAAK,EAAE,IAAK,EAAC,MAAoB,GAAK,MAAM,CAAC,IAAI,EAAQ,MAAM,EAAU,YAAY,MAAA,GAAmB,EAAgB,aAAa,MAAA,GAAmB,EAAiB,aAAa,MAAA,GAAmB,EAAiB,SAAS,EAAE,aAAa,0BAA0B,SAAsB,EAAK,MAAM,CAAC,IAAI,EAAM,IAAI,IAAI,EAAM,KAAK,QAAQ,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,QAAQ,QAAQ,cAAc,OAAO,WAAW,MAAO,EAAC,WAAU,CAAM,EAAC,AAAC,EAAC,AAAE,cAAA,AALp1D,GAA2C,IAA+D,IAAwE,CAKkqD,EAAoB,EAAS,CAAC,MAAM,CAAC,KAAK,EAAY,gBAAgB,MAAM,OAAQ,EAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAU,EAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,CAAE,EAAC,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,cAAa,EAAK,aAAa,OAAO,cAAc,MAAO,EAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAM,EAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK,GAAI,CAAC,EAAC"}