{"version":3,"file":"BeforeAfterImage.DoEkIv0r.mjs","names":["useRef","useState","useCallback","position","startTransition"],"sources":["https:/framerusercontent.com/modules/pinyP9R31DKgbkX41bgd/vxNecsyhQCWZ9XF8wPm2/BeforeAfterImage.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useCallback,useEffect,useRef,useState,startTransition}from\"react\";/**\n * Before After Image Comparison\n *\n * A fully customizable component for comparing two images with a draggable divider.\n * Supports horizontal/vertical orientation, custom handles, labels, and keyboard navigation.\n *\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function BeforeAfterImage(props){const{beforeImage={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Before image\"},afterImage={src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"After image\"},orientation=\"horizontal\",initialPosition=50,interactionMode=\"drag\",dividerColor=\"#FFFFFF\",dividerWidth=3,dividerShadow=true,dividerShadowColor=\"#000000\",dividerShadowBlur=8,showHandle=true,handleColor=\"#FFFFFF\",handleSize=48,handleShape=\"circle\",handleIcon=\"arrows\",handleIconColor=\"#000000\",showLabels=true,beforeLabel=\"Before\",afterLabel=\"After\",labelFont,labelColor=\"#FFFFFF\",labelBackgroundColor=\"#000000\",labelPadding=8,labelBorderRadius=4,beforeLabelPosition=\"top-left\",afterLabelPosition=\"top-right\",enableKeyboard=true,enableHover=true,hoverOpacity=.8,transitionDuration=.2,borderRadius=0,customHandleIcon}=props;const isHorizontal=orientation===\"horizontal\";const containerRef=useRef(null);const[position,setPosition]=useState(initialPosition);const[isDragging,setIsDragging]=useState(false);const[isHovering,setIsHovering]=useState(false);const touchStartPos=useRef(null);const isStatic=useIsStaticRenderer();const updatePositionFromEvent=useCallback(e=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();// Handle both mouse and touch events\nconst clientX=\"touches\"in e?e.touches[0]?.clientX:e.clientX;const clientY=\"touches\"in e?e.touches[0]?.clientY:e.clientY;if(isHorizontal){const x=clientX-rect.left;const newPosition=Math.max(0,Math.min(100,x/rect.width*100));startTransition(()=>setPosition(newPosition));}else{const y=clientY-rect.top;const newPosition=Math.max(0,Math.min(100,y/rect.height*100));startTransition(()=>setPosition(newPosition));}},[isHorizontal]);const handleClick=useCallback(e=>{if(!isDragging){updatePositionFromEvent(e);}},[isDragging,updatePositionFromEvent]);const handleDoubleClick=()=>{startTransition(()=>setPosition(initialPosition));};const handleMouseDown=e=>{e.preventDefault();startTransition(()=>setIsDragging(true));};const handleMouseMove=useCallback(e=>{if(!isDragging||!containerRef.current)return;updatePositionFromEvent(e);},[isDragging,updatePositionFromEvent]);const handleMouseUp=useCallback(()=>{startTransition(()=>setIsDragging(false));},[]);const handleTouchStart=e=>{const touch=e.touches[0];touchStartPos.current={x:touch.clientX,y:touch.clientY};startTransition(()=>setIsDragging(true));};const handleTouchMove=useCallback(e=>{if(!isDragging||!containerRef.current||!touchStartPos.current)return;const touch=e.touches[0];const deltaX=Math.abs(touch.clientX-touchStartPos.current.x);const deltaY=Math.abs(touch.clientY-touchStartPos.current.y);// For horizontal slider, prevent default only if moving more horizontally than vertically\n// For vertical slider, prevent default only if moving more vertically than horizontally\nif(isHorizontal&&deltaX>deltaY){e.preventDefault();}else if(!isHorizontal&&deltaY>deltaX){e.preventDefault();}// Only update position if we're moving in the slider's direction\nif(isHorizontal&&deltaX>deltaY||!isHorizontal&&deltaY>deltaX){updatePositionFromEvent(e);}},[isDragging,updatePositionFromEvent,isHorizontal]);const handleTouchEnd=useCallback(()=>{touchStartPos.current=null;startTransition(()=>setIsDragging(false));},[]);const handleKeyDown=useCallback(e=>{if(!enableKeyboard)return;const step=e.shiftKey?10:1;let newPosition=position;if(isHorizontal){if(e.key===\"ArrowLeft\"){newPosition=Math.max(0,position-step);}else if(e.key===\"ArrowRight\"){newPosition=Math.min(100,position+step);}}else{if(e.key===\"ArrowUp\"){newPosition=Math.max(0,position-step);}else if(e.key===\"ArrowDown\"){newPosition=Math.min(100,position+step);}}if(e.key===\"Home\"){newPosition=0;}else if(e.key===\"End\"){newPosition=100;}if(newPosition!==position){e.preventDefault();startTransition(()=>setPosition(newPosition));}},[position,isHorizontal,enableKeyboard]);useEffect(()=>{if(isStatic)return;const handleGlobalMouseMove=e=>handleMouseMove(e);const handleGlobalMouseUp=()=>handleMouseUp();const handleGlobalTouchMove=e=>handleTouchMove(e);const handleGlobalTouchEnd=()=>handleTouchEnd();if(isDragging){window.addEventListener(\"mousemove\",handleGlobalMouseMove);window.addEventListener(\"mouseup\",handleGlobalMouseUp);window.addEventListener(\"touchmove\",handleGlobalTouchMove,{passive:false});window.addEventListener(\"touchend\",handleGlobalTouchEnd);}return()=>{window.removeEventListener(\"mousemove\",handleGlobalMouseMove);window.removeEventListener(\"mouseup\",handleGlobalMouseUp);window.removeEventListener(\"touchmove\",handleGlobalTouchMove);window.removeEventListener(\"touchend\",handleGlobalTouchEnd);};},[isDragging,handleMouseMove,handleMouseUp,handleTouchMove,handleTouchEnd,isStatic]);const renderIcon=()=>{if(handleIcon===\"none\")return null;const iconSize=handleSize*.5;// Custom icon image\nif(customHandleIcon&&customHandleIcon.src){return /*#__PURE__*/_jsx(\"img\",{src:customHandleIcon.src,srcSet:customHandleIcon.srcSet,alt:customHandleIcon.alt||\"Handle icon\",style:{width:iconSize,height:iconSize,objectFit:\"contain\"}});}if(handleIcon===\"arrows\"){return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:iconSize,height:iconSize,strokeWidth:\"2.5\",stroke:handleIconColor,fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M13 5l6 6m-6 6l6-6m-6 0l-6 6m6-6l-6-6\"})});}if(handleIcon===\"chevrons\"){return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:iconSize,height:iconSize,strokeWidth:\"2.5\",stroke:handleIconColor,fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M11 17l-5-5 5-5M18 17l-5-5 5-5\"})});}return null;};const dividerShadowStyle=dividerShadow?`0 0 ${dividerShadowBlur}px ${dividerShadowColor}`:\"none\";const handleOpacity=enableHover&&isHovering?hoverOpacity:1;const getLabelPositionStyles=position=>{const baseStyles={position:\"absolute\"};switch(position){case\"top-left\":return{...baseStyles,top:16,left:16};case\"top-right\":return{...baseStyles,top:16,right:16};case\"bottom-left\":return{...baseStyles,bottom:16,left:16};case\"bottom-right\":return{...baseStyles,bottom:16,right:16};default:return{...baseStyles,top:16,left:16};}};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",cursor:isDragging?isHorizontal?\"ew-resize\":\"ns-resize\":\"pointer\",userSelect:\"none\",borderRadius:`${borderRadius}px`},onClick:isStatic?undefined:handleClick,onMouseMove:isStatic?undefined:e=>{if(interactionMode===\"hover\"){updatePositionFromEvent(e);}},onMouseDown:isStatic?undefined:handleMouseDown,onMouseUp:isStatic?undefined:handleMouseUp,onTouchStart:isStatic?undefined:handleTouchStart,onMouseEnter:()=>startTransition(()=>setIsHovering(true)),onMouseLeave:()=>startTransition(()=>setIsHovering(false)),onDoubleClick:handleDoubleClick,onKeyDown:enableKeyboard?handleKeyDown:undefined,tabIndex:enableKeyboard?0:undefined,role:\"slider\",\"aria-valuenow\":position,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-orientation\":orientation,\"aria-label\":\"Image comparison slider\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"img\",{src:afterImage.src,srcSet:afterImage.srcSet,alt:afterImage.alt||\"After image\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}),showLabels&&/*#__PURE__*/_jsx(\"div\",{style:{...getLabelPositionStyles(afterLabelPosition),backgroundColor:labelBackgroundColor,color:labelColor,padding:`${labelPadding}px ${labelPadding*1.5}px`,borderRadius:labelBorderRadius,...labelFont,pointerEvents:\"none\"},children:afterLabel})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",clipPath:isHorizontal?`inset(0 ${100-position}% 0 0)`:`inset(0 0 ${100-position}% 0)`,transition:isDragging?\"none\":`clip-path ${transitionDuration}s ease-out`},children:[/*#__PURE__*/_jsx(\"img\",{src:beforeImage.src,srcSet:beforeImage.srcSet,alt:beforeImage.alt||\"Before image\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}),showLabels&&/*#__PURE__*/_jsx(\"div\",{style:{...getLabelPositionStyles(beforeLabelPosition),backgroundColor:labelBackgroundColor,color:labelColor,padding:`${labelPadding}px ${labelPadding*1.5}px`,borderRadius:labelBorderRadius,...labelFont,pointerEvents:\"none\"},children:beforeLabel})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:isHorizontal?0:`${position}%`,left:isHorizontal?`${position}%`:0,width:isHorizontal?`${dividerWidth}px`:\"100%\",height:isHorizontal?\"100%\":`${dividerWidth}px`,backgroundColor:dividerColor,boxShadow:dividerShadowStyle,transform:isHorizontal?`translateX(-${dividerWidth/2}px)`:`translateY(-${dividerWidth/2}px)`,cursor:isHorizontal?\"ew-resize\":\"ns-resize\",zIndex:2,transition:isDragging?\"none\":`all ${transitionDuration}s ease-out`},onMouseDown:isStatic?undefined:handleMouseDown,onTouchStart:isStatic?undefined:handleTouchStart}),showHandle&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:isHorizontal?`calc(50% - ${handleSize/2}px)`:`${position}%`,left:isHorizontal?`${position}%`:`calc(50% - ${handleSize/2}px)`,width:`${handleSize}px`,height:`${handleSize}px`,borderRadius:handleShape===\"circle\"?\"50%\":`${labelBorderRadius}px`,backgroundColor:handleColor,border:`2px solid ${handleColor}`,boxShadow:dividerShadowStyle,transform:isHorizontal?`translateX(-${handleSize/2}px)`:`translateY(-${handleSize/2}px)`,cursor:isHorizontal?\"ew-resize\":\"ns-resize\",zIndex:3,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",opacity:handleOpacity,transition:isDragging?`opacity ${transitionDuration}s ease-out`:`all ${transitionDuration}s ease-out`},onMouseDown:isStatic?undefined:handleMouseDown,onTouchStart:isStatic?undefined:handleTouchStart,children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",height:\"100%\",transform:isHorizontal?\"rotate(90deg)\":\"rotate(0deg)\"},children:renderIcon()})})]});}addPropertyControls(BeforeAfterImage,{beforeImage:{type:ControlType.ResponsiveImage,title:\"Before Image\"},afterImage:{type:ControlType.ResponsiveImage,title:\"After Image\"},borderRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:0,min:0,max:50,step:1,unit:\"px\"},orientation:{type:ControlType.Enum,title:\"Orientation\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],defaultValue:\"horizontal\",displaySegmentedControl:true},initialPosition:{type:ControlType.Number,title:\"Initial Position\",defaultValue:50,min:0,max:100,step:1,unit:\"%\"},interactionMode:{type:ControlType.Enum,title:\"Interaction Mode\",options:[\"hover\",\"drag\"],optionTitles:[\"Hover\",\"Click & Drag\"],defaultValue:\"drag\",displaySegmentedControl:true},dividerColor:{type:ControlType.Color,title:\"Divider Color\",defaultValue:\"#FFFFFF\"},dividerWidth:{type:ControlType.Number,title:\"Divider Width\",defaultValue:3,min:1,max:20,step:1,unit:\"px\"},dividerShadow:{type:ControlType.Boolean,title:\"Divider Shadow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},dividerShadowColor:{type:ControlType.Color,title:\"Shadow Color\",defaultValue:\"#000000\",hidden:({dividerShadow})=>!dividerShadow},dividerShadowBlur:{type:ControlType.Number,title:\"Shadow Blur\",defaultValue:8,min:0,max:30,step:1,unit:\"px\",hidden:({dividerShadow})=>!dividerShadow},showHandle:{type:ControlType.Boolean,title:\"Show Handle\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},handleColor:{type:ControlType.Color,title:\"Handle Color\",defaultValue:\"#FFFFFF\",hidden:({showHandle})=>!showHandle},handleSize:{type:ControlType.Number,title:\"Handle Size\",defaultValue:48,min:24,max:100,step:2,unit:\"px\",hidden:({showHandle})=>!showHandle},handleShape:{type:ControlType.Enum,title:\"Handle Shape\",options:[\"circle\",\"square\"],optionTitles:[\"Circle\",\"Square\"],defaultValue:\"circle\",displaySegmentedControl:true,hidden:({showHandle})=>!showHandle},handleIcon:{type:ControlType.Enum,title:\"Handle Icon\",options:[\"arrows\",\"chevrons\",\"none\"],optionTitles:[\"Arrows\",\"Chevrons\",\"None\"],defaultValue:\"arrows\",hidden:({showHandle})=>!showHandle},customHandleIcon:{type:ControlType.ResponsiveImage,title:\"Custom Icon\",hidden:({showHandle})=>!showHandle},handleIconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#000000\",hidden:({showHandle,handleIcon,customHandleIcon})=>!showHandle||handleIcon===\"none\"||!!(customHandleIcon&&customHandleIcon.src)},showLabels:{type:ControlType.Boolean,title:\"Show Labels\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},beforeLabel:{type:ControlType.String,title:\"Before Label\",defaultValue:\"Before\",hidden:({showLabels})=>!showLabels},beforeLabelPosition:{type:ControlType.Enum,title:\"Before Position\",options:[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],optionTitles:[\"Top Left\",\"Top Right\",\"Bottom Left\",\"Bottom Right\"],defaultValue:\"top-left\",hidden:({showLabels})=>!showLabels},afterLabel:{type:ControlType.String,title:\"After Label\",defaultValue:\"After\",hidden:({showLabels})=>!showLabels},afterLabelPosition:{type:ControlType.Enum,title:\"After Position\",options:[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],optionTitles:[\"Top Left\",\"Top Right\",\"Bottom Left\",\"Bottom Right\"],defaultValue:\"top-right\",hidden:({showLabels})=>!showLabels},labelFont:{type:ControlType.Font,title:\"Label Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},hidden:({showLabels})=>!showLabels},labelColor:{type:ControlType.Color,title:\"Label Text\",defaultValue:\"#FFFFFF\",hidden:({showLabels})=>!showLabels},labelBackgroundColor:{type:ControlType.Color,title:\"Label Background\",defaultValue:\"#000000\",hidden:({showLabels})=>!showLabels},labelPadding:{type:ControlType.Number,title:\"Label Padding\",defaultValue:8,min:4,max:20,step:1,unit:\"px\",hidden:({showLabels})=>!showLabels},labelBorderRadius:{type:ControlType.Number,title:\"Label Radius\",defaultValue:4,min:0,max:20,step:1,unit:\"px\",hidden:({showLabels})=>!showLabels},enableKeyboard:{type:ControlType.Boolean,title:\"Keyboard Nav\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},enableHover:{type:ControlType.Boolean,title:\"Hover Effect\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},hoverOpacity:{type:ControlType.Number,title:\"Hover Opacity\",defaultValue:.8,min:0,max:1,step:.1,hidden:({enableHover})=>!enableHover},transitionDuration:{type:ControlType.Number,title:\"Transition Speed\",defaultValue:.2,min:0,max:1,step:.05,unit:\"s\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BeforeAfterImage\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BeforeAfterImage.map"],"mappings":"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"}