{"version":3,"file":"ImageSplitReveal.Cj8zPn-R.mjs","names":["useState","useRef","useCallback"],"sources":["https:/framerusercontent.com/modules/TbdXgQKg34rfodrBfkpd/1OTqfjBvQrZB2gtjAwSw/ImageSplitReveal.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useMotionValue,useSpring,AnimatePresence}from\"framer-motion\";import{useState,useRef,useCallback}from\"react\";// ============================================================================\n// DEFAULT VALUES\n// ============================================================================\nconst DEFAULT_IMAGE=\"https://images.unsplash.com/photo-1713086081230-0846467b2069?q=80&w=1740&auto=format&fit=crop\";const PRESET_OPTIONS=[\"horizontal\",\"vertical\",\"diagonal\",\"curved\"];const PRESET_TITLES=[\"Horizontal\",\"Vertical\",\"Diagonal\",\"Curved\"];const TEXT_ANIMATION_OPTIONS=[\"fade\",\"slide\",\"scale\",\"blur\"];const TEXT_ANIMATION_TITLES=[\"Fade\",\"Slide Up\",\"Scale\",\"Blur\"];const HEADLINE_FONT_DEFAULT=`-apple-system, BlinkMacSystemFont, \"SF Pro Display\", \"Inter\", \"Segoe UI\", sans-serif`;const SUBTITLE_FONT_DEFAULT=`\"Instrument Serif\", Georgia, \"Times New Roman\", serif`;const smoothEasing=[.25,.46,.45,.94];const PRESET_BASE_DISTANCES={horizontal:200,vertical:180,diagonal:280,curved:220};const TEXT_ANIMATIONS={fade:{hidden:{opacity:0},visible:{opacity:1}},slide:{hidden:{opacity:0,y:30},visible:{opacity:1,y:0}},scale:{hidden:{opacity:0,scale:.85},visible:{opacity:1,scale:1}},blur:{hidden:{opacity:0,filter:\"blur(10px)\"},visible:{opacity:1,filter:\"blur(0px)\"}}};// ============================================================================\n// HELPER FUNCTIONS\n// ============================================================================\nfunction getImageSrc(image){if(!image)return DEFAULT_IMAGE;if(typeof image===\"string\")return image||DEFAULT_IMAGE;return image.src||DEFAULT_IMAGE;}// ============================================================================\n// VARIANT ANIMATION CONFIGS\n// ============================================================================\nfunction getVariantAnimations(preset,distance,isHovered){const halfDist=distance/2;const animations={horizontal:{left:{x:isHovered?-halfDist:0},right:{x:isHovered?halfDist:0},clipLeft:\"polygon(0 0, 50% 0, 50% 100%, 0 100%)\",clipRight:\"polygon(50% 0, 100% 0, 100% 100%, 50% 100%)\"},vertical:{left:{y:isHovered?-halfDist:0},right:{y:isHovered?halfDist:0},clipLeft:\"polygon(0 0, 100% 0, 100% 50%, 0 50%)\",clipRight:\"polygon(0 50%, 100% 50%, 100% 100%, 0 100%)\"},diagonal:{left:{x:isHovered?-halfDist:0,y:isHovered?-halfDist*.5:0},right:{x:isHovered?halfDist:0,y:isHovered?halfDist*.5:0},clipLeft:\"polygon(0 0, 100% 0, 0 100%)\",clipRight:\"polygon(100% 0, 100% 100%, 0 100%)\"},curved:{left:{x:isHovered?-halfDist:0,rotateZ:isHovered?-4:0,scale:isHovered?1.02:1},right:{x:isHovered?halfDist:0,rotateZ:isHovered?4:0,scale:isHovered?1.02:1},clipLeft:\"polygon(0 0, 55% 0, 45% 100%, 0 100%)\",clipRight:\"polygon(55% 0, 100% 0, 100% 100%, 45% 100%)\"}};return animations[preset];}// ============================================================================\n// CANVAS PREVIEW\n// ============================================================================\nfunction CanvasPreview({imageSrc,headlineText,headlineFontSize,headlineFont,subtitleText,subtitleFontSize,subtitleFont,textColor,showButton,buttonText,buttonColor,btnFontFamily,gradientOverlay,gradientColor,gradientOpacity,style}){return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",...style,position:\"relative\",overflow:\"hidden\",borderRadius:12,background:\"#111\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:`url(${imageSrc})`,backgroundSize:\"cover\",backgroundPosition:\"center\",opacity:.6}}),gradientOverlay&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:`linear-gradient(180deg, transparent 30%, ${gradientColor} 100%)`,opacity:gradientOpacity}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",padding:\"clamp(16px, 5%, 32px)\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:headlineFont,fontSize:headlineFontSize,fontWeight:500,color:textColor,letterSpacing:\"0.2em\",textTransform:\"uppercase\",opacity:.8,marginBottom:8},children:headlineText}),subtitleText&&/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:subtitleFont,fontSize:subtitleFontSize,color:textColor,lineHeight:1.2,maxWidth:\"85%\",marginBottom:showButton?24:0},children:subtitleText}),showButton&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"8px 20px\",border:`1px solid ${buttonColor}`,color:buttonColor,fontFamily:btnFontFamily,fontWeight:500,fontSize:11,borderRadius:4,letterSpacing:\"0.08em\",textTransform:\"uppercase\"},children:buttonText})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",width:2,height:\"60%\",background:\"rgba(255,255,255,0.3)\",borderRadius:1}})]});}// ============================================================================\n// MAIN COMPONENT\n// ============================================================================\nexport default function ImageSplitReveal(props){const{image,headline={},headlineFont:headlineFontProp,subtitle={},subtitleFont:subtitleFontProp,animation={},textStyle={},button={},buttonFont:buttonFontProp,cursor={},effects={},style}=props;// Extract headline config\nconst headlineText=headline.text??\"DISCOVER\";const headlineFontSize=headline.fontSize??12;// Extract subtitle config\nconst subtitleText=subtitle.text??\"Unveil Something Beautiful\";const subtitleFontSize=subtitle.fontSize??32;// Extract animation config\nconst preset=animation.preset??\"horizontal\";const splitDistanceProp=animation.splitDistance;const textAnimation=animation.textAnimation??\"slide\";const baseDistance=PRESET_BASE_DISTANCES[preset]??200;const splitDistance=splitDistanceProp??baseDistance;// Extract text style config\nconst textColor=textStyle.color??\"#ffffff\";const showBackdrop=textStyle.showBackdrop??true;const backdropColor=textStyle.backdropColor??\"rgba(0,0,0,0.5)\";// Extract button config\nconst showButton=button.showButton??false;const buttonText=button.buttonText??\"Explore\";const buttonColor=button.buttonColor??\"#ffffff\";const buttonTextColor=button.buttonTextColor??\"#000000\";// Extract cursor config\nconst customCursor=cursor.customCursor??true;const cursorColor=cursor.cursorColor??\"rgba(255, 255, 255, 0.9)\";const cursorSize=cursor.cursorSize??20;// Extract effects config\nconst gradientOverlay=effects.gradientOverlay??false;const gradientColor=effects.gradientColor??\"#000000\";const gradientOpacity=effects.gradientOpacity??.5;// Font handling\nconst headlineFont=headlineFontProp?.fontFamily?`${headlineFontProp.fontFamily}, ${HEADLINE_FONT_DEFAULT}`:HEADLINE_FONT_DEFAULT;const subtitleFont=subtitleFontProp?.fontFamily?`${subtitleFontProp.fontFamily}, ${SUBTITLE_FONT_DEFAULT}`:SUBTITLE_FONT_DEFAULT;const btnFontFamily=buttonFontProp?.fontFamily?`${buttonFontProp.fontFamily}, -apple-system, BlinkMacSystemFont, sans-serif`:\"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', sans-serif\";// State\nconst[isHovered,setIsHovered]=useState(false);const[buttonHovered,setButtonHovered]=useState(false);const containerRef=useRef(null);// Custom cursor state\nconst[isHoveringContainer,setIsHoveringContainer]=useState(false);const[cursorReady,setCursorReady]=useState(false);const cursorX=useMotionValue(-100);const cursorY=useMotionValue(-100);const cursorXSmooth=useSpring(cursorX,{damping:50,stiffness:800,mass:.5});const cursorYSmooth=useSpring(cursorY,{damping:50,stiffness:800,mass:.5});const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Custom cursor handlers\nconst handleMouseMove=useCallback(e=>{if(!customCursor||isCanvas)return;const rect=containerRef.current?.getBoundingClientRect();if(rect){const x=e.clientX-rect.left;const y=e.clientY-rect.top;if(!cursorReady){cursorX.set(x);cursorY.set(y);cursorXSmooth.set(x);cursorYSmooth.set(y);setCursorReady(true);}else{cursorX.set(x);cursorY.set(y);}}},[customCursor,isCanvas,cursorX,cursorY,cursorXSmooth,cursorYSmooth,cursorReady]);const handleCursorEnter=useCallback(()=>{if(!customCursor||isCanvas)return;setCursorReady(false);setIsHoveringContainer(true);},[customCursor,isCanvas]);const handleCursorLeave=useCallback(()=>{setIsHoveringContainer(false);setCursorReady(false);},[]);const handleButtonClick=useCallback(e=>{e.stopPropagation();const link=button.buttonLink;if(link){window.open(link,\"_blank\",\"noopener,noreferrer\");}},[button.buttonLink]);const imageSrc=getImageSrc(image);const variantAnims=getVariantAnimations(preset,splitDistance,isHovered);const speed=.45;const stagger=.03;const fadeImage=.15;const getTransition=(delay=0)=>({duration:speed,ease:smoothEasing,delay});const textVariants=TEXT_ANIMATIONS[textAnimation]||TEXT_ANIMATIONS.slide;if(isCanvas){return /*#__PURE__*/_jsx(CanvasPreview,{imageSrc:imageSrc,headlineText:headlineText,headlineFontSize:headlineFontSize,headlineFont:headlineFont,subtitleText:subtitleText,subtitleFontSize:subtitleFontSize,subtitleFont:subtitleFont,textColor:textColor,showButton:showButton,buttonText:buttonText,buttonColor:buttonColor,btnFontFamily:btnFontFamily,gradientOverlay:gradientOverlay,gradientColor:gradientColor,gradientOpacity:gradientOpacity,style:style});}return /*#__PURE__*/_jsxs(motion.div,{ref:containerRef,style:{// ✅ FIX 1: Use 100% width/height so the component fills its\n// Framer frame instead of being locked to 615×400 pixels.\nwidth:\"100%\",height:\"100%\",...style,position:\"relative\",// ✅ FIX 2: overflow must be visible on the outer wrapper so the\n// split image halves can slide outward without being clipped.\noverflow:\"visible\",borderRadius:12,cursor:customCursor?\"none\":\"pointer\",isolation:\"isolate\"},onMouseEnter:()=>{setIsHovered(true);handleCursorEnter();},onMouseLeave:()=>{setIsHovered(false);handleCursorLeave();},onMouseMove:handleMouseMove,children:[/*#__PURE__*/_jsx(AnimatePresence,{children:customCursor&&isHoveringContainer&&cursorReady&&/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",left:cursorXSmooth,top:cursorYSmooth,width:cursorSize,height:cursorSize,borderRadius:\"50%\",backgroundColor:cursorColor,boxShadow:\"0 2px 12px rgba(0, 0, 0, 0.3)\",pointerEvents:\"none\",zIndex:1e3,transform:\"translate(-50%, -50%)\",mixBlendMode:\"difference\"},initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.5,opacity:0},transition:{scale:{duration:.15,ease:\"easeOut\"},opacity:{duration:.2,ease:\"easeOut\"}}})}),/*#__PURE__*/_jsxs(motion.div,{style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",// ✅ Responsive padding using clamp\npadding:\"clamp(16px, 5%, 32px)\",textAlign:\"center\",zIndex:3,borderRadius:12,// overflow: hidden REMOVED — was clipping text on reveal\npointerEvents:\"none\"},initial:\"hidden\",animate:isHovered?\"visible\":\"hidden\",variants:textVariants,transition:getTransition(),children:[showBackdrop&&/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",inset:0,background:backdropColor,backdropFilter:\"blur(8px)\",WebkitBackdropFilter:\"blur(8px)\",borderRadius:12},initial:{opacity:0},animate:{opacity:isHovered?1:0},transition:getTransition()}),/*#__PURE__*/_jsx(motion.div,{style:{position:\"relative\",fontFamily:headlineFont,fontSize:headlineFontSize,fontWeight:500,lineHeight:1.2,color:textColor,letterSpacing:\"0.2em\",textTransform:\"uppercase\",opacity:.8},children:headlineText}),/*#__PURE__*/_jsx(motion.div,{style:{height:1,marginTop:16,marginBottom:20,background:textColor,borderRadius:1},initial:{width:0,opacity:0},animate:{width:isHovered?60:0,opacity:isHovered?.4:0},transition:{duration:.5,ease:[.25,.46,.45,.94],delay:.1}}),subtitleText&&/*#__PURE__*/_jsx(motion.div,{style:{position:\"relative\",fontFamily:subtitleFont,fontSize:subtitleFontSize,color:textColor,lineHeight:1.2,maxWidth:\"85%\",marginBottom:showButton?24:0},children:subtitleText}),showButton&&/*#__PURE__*/_jsxs(motion.button,{onClick:handleButtonClick,onMouseEnter:()=>setButtonHovered(true),onMouseLeave:()=>setButtonHovered(false),style:{position:\"relative\",padding:\"8px 20px\",background:\"transparent\",color:buttonTextColor,fontFamily:btnFontFamily,fontWeight:500,fontSize:11,border:`1px solid ${buttonColor}`,borderRadius:4,cursor:customCursor?\"none\":\"pointer\",letterSpacing:\"0.08em\",textTransform:\"uppercase\",overflow:\"hidden\",zIndex:1,// ✅ Re-enable pointer events for the button only\npointerEvents:\"auto\"},initial:false,animate:{color:buttonHovered?buttonTextColor:buttonColor,borderColor:buttonColor},whileTap:{scale:.97},transition:{duration:.25,ease:[.23,1,.32,1]},children:[/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",inset:0,background:buttonColor,transformOrigin:\"left\",zIndex:-1},initial:{scaleX:0},animate:{scaleX:buttonHovered?1:0},transition:{duration:.35,ease:[.23,1,.32,1]}}),buttonText]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",zIndex:2,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsxs(motion.div,{style:{position:\"absolute\",inset:0,clipPath:variantAnims.clipLeft,borderRadius:12,overflow:\"hidden\"},animate:{...variantAnims.left,opacity:isHovered?1-fadeImage:1},transition:getTransition(0),children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:`url(${imageSrc})`,backgroundSize:\"cover\",backgroundPosition:\"center\"}}),gradientOverlay&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:`linear-gradient(180deg, transparent 30%, ${gradientColor} 100%)`,opacity:gradientOpacity}})]}),/*#__PURE__*/_jsxs(motion.div,{style:{position:\"absolute\",inset:0,clipPath:variantAnims.clipRight,borderRadius:12,overflow:\"hidden\"},animate:{...variantAnims.right,opacity:isHovered?1-fadeImage:1},transition:getTransition(stagger),children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:`url(${imageSrc})`,backgroundSize:\"cover\",backgroundPosition:\"center\"}}),gradientOverlay&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:`linear-gradient(180deg, transparent 30%, ${gradientColor} 100%)`,opacity:gradientOpacity}})]})]})]});}ImageSplitReveal.displayName=\"Image Split Reveal\";// ============================================================================\n// DEFAULT PROPS\n// ============================================================================\nImageSplitReveal.defaultProps={headline:{text:\"DISCOVER\",fontSize:12},subtitle:{text:\"Unveil Something Beautiful\",fontSize:32},animation:{preset:\"horizontal\",splitDistance:200,textAnimation:\"slide\"},textStyle:{color:\"#ffffff\",showBackdrop:true,backdropColor:\"rgba(0,0,0,0.5)\"},button:{showButton:false,buttonText:\"Explore\",buttonColor:\"#ffffff\",buttonTextColor:\"#000000\",buttonLink:\"\"},cursor:{customCursor:true,cursorColor:\"rgba(255, 255, 255, 0.9)\",cursorSize:20},effects:{gradientOverlay:false,gradientColor:\"#000000\",gradientOpacity:.5}};// ============================================================================\n// PROPERTY CONTROLS\n// ============================================================================\naddPropertyControls(ImageSplitReveal,{image:{type:ControlType.ResponsiveImage,title:\"Image\"},headline:{type:ControlType.Object,title:\"Headline\",icon:\"text\",controls:{text:{type:ControlType.String,title:\"Text\",defaultValue:\"DISCOVER\"},fontSize:{type:ControlType.Number,title:\"Size\",min:8,max:48,step:1,defaultValue:12,unit:\"px\"}}},headlineFont:{type:ControlType.Font,title:\"Headline Font\",controls:\"basic\"},subtitle:{type:ControlType.Object,title:\"Subtitle\",icon:\"text\",controls:{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Unveil Something Beautiful\",displayTextArea:true},fontSize:{type:ControlType.Number,title:\"Size\",min:14,max:96,step:1,defaultValue:32,unit:\"px\"}}},subtitleFont:{type:ControlType.Font,title:\"Subtitle Font\",controls:\"basic\"},animation:{type:ControlType.Object,title:\"Animation\",icon:\"animation\",controls:{preset:{type:ControlType.Enum,title:\"Split Style\",options:PRESET_OPTIONS,optionTitles:PRESET_TITLES,defaultValue:\"horizontal\"},splitDistance:{type:ControlType.Number,title:\"Split Distance\",min:50,max:400,step:10,defaultValue:200,unit:\"px\"},textAnimation:{type:ControlType.Enum,title:\"Text Animation\",options:TEXT_ANIMATION_OPTIONS,optionTitles:TEXT_ANIMATION_TITLES,defaultValue:\"slide\"}}},textStyle:{type:ControlType.Object,title:\"Text Style\",icon:\"color\",controls:{color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#ffffff\"},showBackdrop:{type:ControlType.Boolean,title:\"Show Backdrop\",defaultValue:true},backdropColor:{type:ControlType.Color,title:\"Backdrop Color\",defaultValue:\"rgba(0,0,0,0.5)\"}}},button:{type:ControlType.Object,title:\"Button\",icon:\"interact\",controls:{showButton:{type:ControlType.Boolean,title:\"Show Button\",defaultValue:false},buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"Explore\"},buttonLink:{type:ControlType.Link,title:\"Link\"},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"#ffffff\"},buttonTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"}}},buttonFont:{type:ControlType.Font,title:\"Button Font\",controls:\"basic\",hidden:props=>!props.button?.showButton},effects:{type:ControlType.Object,title:\"Effects\",icon:\"effect\",controls:{gradientOverlay:{type:ControlType.Boolean,title:\"Gradient Overlay\",defaultValue:false},gradientColor:{type:ControlType.Color,title:\"Gradient Color\",defaultValue:\"#000000\"},gradientOpacity:{type:ControlType.Number,title:\"Gradient Opacity\",min:0,max:1,step:.1,defaultValue:.5}}},cursor:{type:ControlType.Object,title:\"Custom Cursor\",icon:\"boolean\",controls:{customCursor:{type:ControlType.Boolean,title:\"Enable\",defaultValue:true},cursorColor:{type:ControlType.Color,title:\"Cursor Color\",defaultValue:\"rgba(255, 255, 255, 0.9)\"},cursorSize:{type:ControlType.Number,title:\"Cursor Size\",min:10,max:60,step:2,defaultValue:20,unit:\"px\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageSplitReveal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ImageSplitReveal.map"],"mappings":"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"}