{"version":3,"file":"SplitViewCompare.lYmpaKng.mjs","names":["useRef","useState","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/QkeCOcVafsfHAXggPqut/9y366W2GLItQpL3bmJtq/SplitViewCompare.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useCallback,useEffect,useRef,useState,startTransition}from\"react\";/**\n * SplitView\n *\n * A component that allows users to compare two images or videos by dragging a divider.\n * Perfect for Before vs After scenarios.\n *\n * @framerIntrinsicWidth 500\n * @framerIntrinsicHeight 300\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function SplitView(props){const{beforeType=\"image\",afterType=\"image\",beforeImage={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Before\"},afterImage={src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"After\"},beforeVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",afterVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",beforeFilter=\"none\",afterFilter=\"none\",beforeFilterIntensity=100,afterFilterIntensity=100,beforeContrastIntensity=100,afterContrastIntensity=100,initialPosition=50,dividerStyle=\"straight\",dividerAngle=15,dividerColor=\"#FFFFFF\",dividerWidth=2,dividerShadow=true,showHandle=true,handleColor=\"#FFFFFF\",handleSize=40,handleIconColor=\"#000000\",handleIcon=\"arrows\",borderRadius=0,showLabels=true,leftLabel=\"Before\",rightLabel=\"After\"}=props;const containerRef=useRef(null);const[position,setPosition]=useState(initialPosition);const[isDragging,setIsDragging]=useState(false);const[dimensions,setDimensions]=useState({width:0,height:0});const isStatic=useIsStaticRenderer();const displayPosition=isStatic?initialPosition:position;const beforeRef=useRef(null);const afterRef=useRef(null);// Get container dimensions on mount and resize\nuseEffect(()=>{const updateDimensions=()=>{if(containerRef.current){const rect=containerRef.current.getBoundingClientRect();setDimensions({width:rect.width,height:rect.height});}};updateDimensions();const resizeObserver=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(updateDimensions):null;if(resizeObserver&&containerRef.current){resizeObserver.observe(containerRef.current);}window.addEventListener(\"resize\",updateDimensions);return()=>{if(resizeObserver&&containerRef.current){resizeObserver.unobserve(containerRef.current);}window.removeEventListener(\"resize\",updateDimensions);};},[]);// Sync position with initialPosition prop for real-time canvas updates\nuseEffect(()=>{startTransition(()=>setPosition(initialPosition));},[initialPosition]);const updatePosition=useCallback(clientX=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();const x=clientX-rect.left;const newPosition=Math.max(0,Math.min(100,x/rect.width*100));startTransition(()=>setPosition(newPosition));},[]);const handleMouseDown=useCallback(e=>{e.preventDefault();startTransition(()=>setIsDragging(true));},[]);const handleMouseMove=useCallback(e=>{if(!isDragging)return;updatePosition(e.clientX);},[isDragging,updatePosition]);const handleClick=useCallback(e=>{if(!isDragging){updatePosition(e.clientX);}},[isDragging,updatePosition]);const handleDoubleClick=useCallback(()=>{startTransition(()=>setPosition(initialPosition));},[initialPosition]);useEffect(()=>{if(isStatic)return;const handleGlobalMouseMove=e=>{if(isDragging){updatePosition(e.clientX);}};const handleGlobalMouseUp=()=>{startTransition(()=>setIsDragging(false));};if(isDragging){window.addEventListener(\"mousemove\",handleGlobalMouseMove);window.addEventListener(\"mouseup\",handleGlobalMouseUp);}return()=>{window.removeEventListener(\"mousemove\",handleGlobalMouseMove);window.removeEventListener(\"mouseup\",handleGlobalMouseUp);};},[isDragging,updatePosition,isStatic]);// Sync video playback\nuseEffect(()=>{if(isStatic)return;if(beforeType===\"video\"&&afterType===\"video\"){const beforeVideo=beforeRef.current;const afterVideo=afterRef.current;if(beforeVideo&&afterVideo){const syncTime=()=>{afterVideo.currentTime=beforeVideo.currentTime;};beforeVideo.addEventListener(\"timeupdate\",syncTime);return()=>beforeVideo.removeEventListener(\"timeupdate\",syncTime);}}},[beforeType,afterType,isStatic]);const getFilterStyle=(filter,intensity,contrastIntensity)=>{const normalizedIntensity=Math.max(0,Math.min(100,intensity));const normalizedContrast=Math.max(0,Math.min(100,contrastIntensity??100));const filters=[];switch(filter){case\"grayscale\":filters.push(`grayscale(${normalizedIntensity}%)`);break;case\"blur\":const blurAmount=normalizedIntensity/100*10;filters.push(`blur(${blurAmount}px)`);break;case\"contrast\":const contrastAmount=100+normalizedIntensity;filters.push(`contrast(${contrastAmount}%)`);break;}return filters.join(\" \");};// Calculate clip path based on divider style\nconst getClipPath=pos=>{if(dividerStyle===\"straight\"){return`inset(0 ${100-pos}% 0 0)`;}// Slanted divider - use stored dimensions\nif(dimensions.width===0)return`inset(0 ${100-pos}% 0 0)`;const aspectRatio=dimensions.height/dimensions.width;const angleRad=dividerAngle*Math.PI/180;const offset=Math.tan(angleRad)*aspectRatio*100;const topX=pos+offset/2;const bottomX=pos-offset/2;return`polygon(0% 0%, ${topX}% 0%, ${bottomX}% 100%, 0% 100%)`;};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...props.style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius,cursor:isStatic?\"default\":isDragging?\"ew-resize\":\"pointer\",userSelect:\"none\"},onClick:isStatic?undefined:handleClick,onDoubleClick:isStatic?undefined:handleDoubleClick,onMouseMove:isStatic?undefined:handleMouseMove,role:\"slider\",\"aria-valuenow\":Math.round(displayPosition),\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-label\":\"Media comparison slider\",tabIndex:isStatic?-1:0,onKeyDown:isStatic?undefined:e=>{if(e.key===\"ArrowLeft\"){startTransition(()=>setPosition(Math.max(0,position-5)));}else if(e.key===\"ArrowRight\"){startTransition(()=>setPosition(Math.min(100,position+5)));}else if(e.key===\"Home\"){startTransition(()=>setPosition(0));}else if(e.key===\"End\"){startTransition(()=>setPosition(100));}},children:[afterType===\"video\"&&!isStatic?/*#__PURE__*/_jsx(\"video\",{ref:afterRef,src:afterVideo,autoPlay:true,muted:true,loop:true,playsInline:true,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",pointerEvents:\"none\",filter:getFilterStyle(afterFilter,afterFilterIntensity,afterContrastIntensity)}}):/*#__PURE__*/_jsx(\"img\",{src:afterImage.src,alt:afterType===\"video\"?\"Static preview for right video\":afterImage.alt,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",pointerEvents:\"none\",filter:getFilterStyle(afterFilter,afterFilterIntensity,afterContrastIntensity)}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",overflow:\"hidden\",clipPath:getClipPath(displayPosition)},children:beforeType===\"video\"&&!isStatic?/*#__PURE__*/_jsx(\"video\",{ref:beforeRef,src:beforeVideo,autoPlay:true,muted:true,loop:true,playsInline:true,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",filter:getFilterStyle(beforeFilter,beforeFilterIntensity,beforeContrastIntensity)}}):/*#__PURE__*/_jsx(\"img\",{src:beforeImage.src,alt:beforeType===\"video\"?\"Static preview for left video\":beforeImage.alt,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",filter:getFilterStyle(beforeFilter,beforeFilterIntensity,beforeContrastIntensity)}})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:`${displayPosition}%`,width:`${dividerWidth}px`,height:\"100%\",backgroundColor:dividerColor,transform:dividerStyle===\"slanted\"?`translateX(-${dividerWidth/2}px) skewX(-${dividerAngle}deg)`:`translateX(-${dividerWidth/2}px)`,boxShadow:dividerShadow?\"0 0 10px rgba(0, 0, 0, 0.5)\":\"none\",cursor:isStatic?\"default\":\"ew-resize\",zIndex:2},onMouseDown:isStatic?undefined:handleMouseDown}),showHandle&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:\"50%\",left:`${displayPosition}%`,width:`${handleSize}px`,height:`${handleSize}px`,borderRadius:\"50%\",backgroundColor:handleColor,transform:`translate(-50%, -50%)`,boxShadow:dividerShadow?\"0 2px 10px rgba(0, 0, 0, 0.3)\":\"none\",cursor:isStatic?\"default\":\"ew-resize\",zIndex:3,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",border:`2px solid ${dividerColor}`},onMouseDown:isStatic?undefined:handleMouseDown,children:[handleIcon===\"arrows\"&&/*#__PURE__*/_jsxs(\"svg\",{width:handleSize*.5,height:handleSize*.5,viewBox:\"0 0 24 24\",fill:\"none\",stroke:handleIconColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"polyline\",{points:\"9 17 4 12 9 7\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"15 7 20 12 15 17\"})]}),handleIcon===\"waffle\"&&/*#__PURE__*/_jsxs(\"svg\",{width:handleSize*.4,height:handleSize*.4,viewBox:\"0 0 24 24\",fill:\"none\",stroke:handleIconColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"7\",height:\"7\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14\",y:\"3\",width:\"7\",height:\"7\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14\",y:\"14\",width:\"7\",height:\"7\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"14\",width:\"7\",height:\"7\"})]}),handleIcon===\"grip\"&&/*#__PURE__*/_jsxs(\"svg\",{width:handleSize*.4,height:handleSize*.4,viewBox:\"0 0 24 24\",fill:handleIconColor,children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"9\",cy:\"6\",r:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"15\",cy:\"6\",r:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"9\",cy:\"12\",r:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"15\",cy:\"12\",r:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"9\",cy:\"18\",r:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"15\",cy:\"18\",r:\"2\"})]}),handleIcon===\"resize\"&&/*#__PURE__*/_jsxs(\"svg\",{width:handleSize*.5,height:handleSize*.5,viewBox:\"0 0 24 24\",fill:\"none\",stroke:handleIconColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M8 3L3 8L3 3L8 3Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M16 21L21 16L21 21L16 21Z\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"3\",x2:\"10\",y2:\"10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"21\",y1:\"21\",x2:\"14\",y2:\"14\"})]})]}),showLabels&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:16,left:16,backgroundColor:\"rgba(0, 0, 0, 0.6)\",color:\"#fff\",padding:\"4px 12px\",borderRadius:4,fontSize:12,fontWeight:600,pointerEvents:\"none\",zIndex:1},children:leftLabel}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:16,right:16,backgroundColor:\"rgba(0, 0, 0, 0.6)\",color:\"#fff\",padding:\"4px 12px\",borderRadius:4,fontSize:12,fontWeight:600,pointerEvents:\"none\",zIndex:1},children:rightLabel})]})]});}addPropertyControls(SplitView,{beforeType:{type:ControlType.Enum,title:\"Left Type\",options:[\"image\",\"video\"],optionTitles:[\"Image\",\"Video\"],defaultValue:\"image\",displaySegmentedControl:true},afterType:{type:ControlType.Enum,title:\"Right Type\",options:[\"image\",\"video\"],optionTitles:[\"Image\",\"Video\"],defaultValue:\"image\",displaySegmentedControl:true},beforeImage:{type:ControlType.ResponsiveImage,title:\"Left Image\",hidden:({beforeType})=>beforeType!==\"image\"},afterImage:{type:ControlType.ResponsiveImage,title:\"Right Image\",hidden:({afterType})=>afterType!==\"image\"},beforeVideo:{type:ControlType.File,title:\"Left Video\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden:({beforeType})=>beforeType!==\"video\"},afterVideo:{type:ControlType.File,title:\"Right Video\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden:({afterType})=>afterType!==\"video\"},beforeFilter:{type:ControlType.Enum,title:\"Left Filter\",options:[\"none\",\"grayscale\",\"blur\",\"contrast\"],optionTitles:[\"None\",\"Grayscale\",\"Blur\",\"Contrast\"],defaultValue:\"none\"},beforeFilterIntensity:{type:ControlType.Number,title:\"Left Intensity\",defaultValue:100,min:0,max:100,step:1,unit:\"%\",hidden:({beforeFilter})=>beforeFilter===\"none\"},afterFilter:{type:ControlType.Enum,title:\"Right Filter\",options:[\"none\",\"grayscale\",\"blur\",\"contrast\"],optionTitles:[\"None\",\"Grayscale\",\"Blur\",\"Contrast\"],defaultValue:\"none\"},afterFilterIntensity:{type:ControlType.Number,title:\"Right Intensity\",defaultValue:100,min:0,max:100,step:1,unit:\"%\",hidden:({afterFilter})=>afterFilter===\"none\"},initialPosition:{type:ControlType.Number,title:\"Initial Position\",defaultValue:50,min:0,max:100,step:1,unit:\"%\"},dividerStyle:{type:ControlType.Enum,title:\"Divider Style\",options:[\"straight\",\"slanted\"],optionTitles:[\"Straight\",\"Slanted\"],defaultValue:\"straight\",displaySegmentedControl:true},dividerAngle:{type:ControlType.Number,title:\"Divider Angle\",defaultValue:15,min:5,max:45,step:1,unit:\"\\xb0\",hidden:({dividerStyle})=>dividerStyle!==\"slanted\"},dividerColor:{type:ControlType.Color,title:\"Divider Color\",defaultValue:\"#FFFFFF\"},dividerWidth:{type:ControlType.Number,title:\"Divider Width\",defaultValue:2,min:1,max:20,step:1,unit:\"px\"},dividerShadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},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:40,min:20,max:80,step:1,unit:\"px\",hidden:({showHandle})=>!showHandle},handleIconColor:{type:ControlType.Color,title:\"Handle Icon\",defaultValue:\"#000000\",hidden:({showHandle})=>!showHandle},handleIcon:{type:ControlType.Enum,title:\"Handle Icon\",options:[\"arrows\",\"waffle\",\"grip\",\"resize\"],optionTitles:[\"Arrows\",\"Waffle\",\"Grip\",\"Resize\"],defaultValue:\"arrows\",hidden:({showHandle})=>!showHandle},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:0,min:0,max:50,step:1,unit:\"px\"},showLabels:{type:ControlType.Boolean,title:\"Show Labels\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},leftLabel:{type:ControlType.String,title:\"Left Label\",defaultValue:\"Before\",hidden:({showLabels})=>!showLabels},rightLabel:{type:ControlType.String,title:\"Right Label\",defaultValue:\"After\",hidden:({showLabels})=>!showLabels}});SplitView.displayName=\"SplitView\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SplitView\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"300\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"500\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SplitViewCompare.map"],"mappings":"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"}