{"version":3,"file":"ProjectCard.BaPY6mDc.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/iHeT28Yt0JYOKvZCxEOC/jTeJwx9uTJijDci7CIYQ/ProjectCard.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * PROJECT CARD — cover на всю картку + hover-блюр і лого\n *\n * @framerIntrinsicWidth 480\n * @framerIntrinsicHeight 360\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function ProjectCard(props){const{cover,logo,link,newTab,overlayColor,blur,radius,zoom,logoWidth,logoMaxHeight,duration,previewHover,alwaysOn,style}=props;const[hover,setHover]=useState(false);const onCanvas=RenderTarget.current()===RenderTarget.canvas;const active=alwaysOn||(onCanvas?previewHover:hover);const ease=[.22,1,.36,1];const transition={duration,ease};// Блюр «з'їдає» краї зображення, тому в hover трохи збільшуємо cover,\n// щоб під розмиттям не проступала порожнеча по периметру.\nconst overscan=1+Math.max(blur/100,0);const card=/*#__PURE__*/_jsxs(motion.div,{onHoverStart:()=>setHover(true),onHoverEnd:()=>setHover(false),style:{position:\"relative\",width:\"100%\",height:\"100%\",borderRadius:radius,overflow:\"hidden\",cursor:link?\"pointer\":\"default\"},children:[/*#__PURE__*/_jsx(motion.div,{animate:{filter:`blur(${active?blur:0}px)`,scale:active?overscan*zoom:1},transition:transition,style:{position:\"absolute\",inset:0},children:cover?.src?/*#__PURE__*/_jsx(\"img\",{src:cover.src,srcSet:cover.srcSet,alt:cover.alt??\"\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}):/*#__PURE__*/_jsx(Placeholder,{label:\"Cover image\"})}),/*#__PURE__*/_jsx(motion.div,{animate:{opacity:active?1:0},transition:transition,style:{position:\"absolute\",inset:0,background:overlayColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(motion.div,{animate:{scale:active?1:.94},transition:transition,style:{// Фіксований бокс: різні за пропорціями лого з CMS\n// вписуються в один розмір і не стрибають між картками.\nwidth:logoWidth,height:logoMaxHeight,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:logo?.src&&/*#__PURE__*/_jsx(\"img\",{src:logo.src,srcSet:logo.srcSet,alt:logo.alt??\"\",style:{width:\"100%\",height:\"100%\",objectFit:\"contain\",display:\"block\"}})})})]});if(link){return /*#__PURE__*/_jsx(\"a\",{href:link,target:newTab?\"_blank\":undefined,rel:newTab?\"noopener noreferrer\":undefined,style:{...style,textDecoration:\"none\",display:\"block\"},children:card});}return /*#__PURE__*/_jsx(\"div\",{style:style,children:card});}function Placeholder({label}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"rgba(0,0,0,0.06)\",color:\"rgba(0,0,0,0.4)\",fontSize:13,fontFamily:\"Inter, sans-serif\"},children:label});}ProjectCard.defaultProps={overlayColor:\"rgba(107, 113, 201, 0.55)\",blur:12,radius:20,zoom:1,logoWidth:220,logoMaxHeight:90,duration:.35,previewHover:false,alwaysOn:false,newTab:false};addPropertyControls(ProjectCard,{cover:{type:ControlType.ResponsiveImage,title:\"Cover\"},logo:{type:ControlType.ResponsiveImage,title:\"Logo\"},link:{type:ControlType.Link,title:\"Link\"},newTab:{type:ControlType.Boolean,title:\"New tab\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},overlayColor:{type:ControlType.Color,title:\"Overlay\",defaultValue:\"rgba(107, 113, 201, 0.55)\"},blur:{type:ControlType.Number,title:\"Blur\",defaultValue:12,min:0,max:40,step:1,unit:\"px\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:20,min:0,max:80,step:1,unit:\"px\"},zoom:{type:ControlType.Number,title:\"Zoom\",defaultValue:1,min:1,max:1.2,step:.01,description:\"Додатковий наїзд на cover при hover. 1 = без наїзду\"},logoWidth:{type:ControlType.Number,title:\"Logo W\",defaultValue:220,min:40,max:600,step:4,unit:\"px\"},logoMaxHeight:{type:ControlType.Number,title:\"Logo H\",defaultValue:90,min:20,max:400,step:2,unit:\"px\",description:\"Бокс, у який вписуються всі лого з CMS\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:.35,min:0,max:2,step:.05,unit:\"s\"},previewHover:{type:ControlType.Boolean,title:\"Preview hover\",defaultValue:false,description:\"Показує hover-стан на канвасі (у превʼю не впливає)\"},alwaysOn:{type:ControlType.Boolean,title:\"Always on\",defaultValue:false,description:\"Увімкни на мобільному брейкпоінті — там hover не існує\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProjectCard\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"360\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"480\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectCard.map"],"mappings":"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"}