{"version":3,"file":"ImageComparisonSlider.CUt81B19.mjs","names":["Children","useCallback","useRef","useState","useEffectEvent","startTransition","useRef","useState","useCallback"],"sources":["https:/ga.jspm.io/npm:use-effect-event@2.0.3/dist/index.js","https:/framerusercontent.com/modules/zvkTOpMSuRzRhLzZZIwG/7GuSIJ2Jm6VU0TIDHoiR/SlideShow.js","https:/framerusercontent.com/modules/MHHPpnpzDBzcBFI7GiEy/ONrQJgUizhMI311vJ5Yp/ImageComparisonSlider.js"],"sourcesContent":["import e from\"react\";const n=e.createContext(!0);function r(){throw new Error(\"A function wrapped in useEffectEvent can't be called during rendering.\")}const t=\"use\"in e?()=>{try{return e.use(n)}catch{return!1}}:()=>!1;function c(n){const c=e.useRef(r);return e.useInsertionEffect((()=>{c.current=n}),[n]),(...e)=>{t()&&r();const n=c.current;return n(...e)}}export{c as useEffectEvent};\n//# sourceMappingURL=index.js.map\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{resize}from\"@motionone/dom\";import{ControlType,RenderTarget,addPropertyControls,withCSS}from\"framer\";import{LayoutGroup,animate,frame,mix,motion,useInView,useMotionValue,usePageInView,useTransform,wrap}from\"framer-motion\";import{Children,cloneElement,forwardRef,memo,startTransition,useCallback,useEffect,useLayoutEffect,useRef,useState}from\"react\";import{useEffectEvent}from\"use-effect-event\";const slideshowClassName=\"framer-slideshow\";const slideshowAxisXClassName=\"framer-slideshow-axis-x\";const slideshowAxisYClassName=\"framer-slideshow-axis-y\";const slideshowDirectionMultiplierVariable=\"--framer-dir-multiplier\";const slideshowDirectionMultiplier=`var(${slideshowDirectionMultiplierVariable}, -1)`;function SlideshowWithoutCSS(props){/**\n     * Properties\n     */const{slots=[],startFrom,direction,effectsOptions,autoPlayControl,dragControl,alignment,gap,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,itemAmount:visibleItemsCount,fadeOptions,intervalControl,transitionControl,arrowOptions,borderRadius,progressOptions,style}=props;const{effectsOpacity,effectsScale,effectsRotate,effectsPerspective,effectsHover,playOffscreen}=effectsOptions;const{fadeContent,overflow,fadeWidth,fadeInset,fadeAlpha}=fadeOptions;const{showMouseControls,arrowSize,arrowRadius,arrowFill,leftArrow,rightArrow,arrowShouldSpace=true,arrowShouldFadeIn=false,arrowPosition,arrowPadding,arrowGap,arrowPaddingTop,arrowPaddingRight,arrowPaddingBottom,arrowPaddingLeft}=arrowOptions;const{showProgressDots,dotSize,dotsInset,dotsRadius,dotsPadding,dotsGap,dotsFill,dotsBackground,dotsActiveOpacity,dotsOpacity,dotsBlur}=progressOptions;const paddingValue=paddingPerSide?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;/**\n     * Checks\n     */const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Remove empty slots (such as hidden layers)\nconst filteredSlots=slots.filter(Boolean);const totalItemsCount=Children.count(filteredSlots);const hasChildren=totalItemsCount>0;/**\n     * Empty state for Canvas\n     */if(!hasChildren){return /*#__PURE__*/_jsxs(\"section\",{style:placeholderStyles,children:[/*#__PURE__*/_jsx(\"div\",{style:emojiStyles,children:\"⭐️\"}),/*#__PURE__*/_jsx(\"p\",{style:titleStyles,children:\"Connect to Content\"}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyles,children:\"Add layers or components to make infinite auto-playing slideshows.\"})]});}/**\n     * Refs, State\n     */const scheduleMeasureIfEverythingReady=useCallback(()=>{if(parentRef.current&&firstChildRef.current&&lastChildRef.current){scheduleMeasure();}},[]);const parentRef=useRef(null);const parentRefFn=useCallback(node=>{parentRef.current=node;scheduleMeasureIfEverythingReady();},[scheduleMeasureIfEverythingReady]);const firstChildRef=useRef(null);const firstChildRefFn=useCallback(node=>{firstChildRef.current=node;scheduleMeasureIfEverythingReady();},[scheduleMeasureIfEverythingReady]);const lastChildRef=useRef(null);const lastChildRefFn=useCallback(node=>{lastChildRef.current=node;scheduleMeasureIfEverythingReady();},[scheduleMeasureIfEverythingReady]);const[size,setSize]=useState({parent:null,children:null,item:null,itemWidth:null,itemHeight:null,viewportLength:null});const isHorizontal=direction===\"left\"||direction===\"right\";const writingDirection=useWritingDirection();const rtlDirectionModifier=isHorizontal&&writingDirection===\"rtl\"?-1:1;/* For pausing on hover */const[isHovering,setIsHovering]=useState(false);const[shouldPlayOnHover,setShouldPlayOnHover]=useState(autoPlayControl);/* For cursor updates */const[isMouseDown,setIsMouseDown]=useState(false);/* For SSR / initial render */const isInitialized=size?.item!==null&&size?.parent!==null&&writingDirection!==null;/**\n     * Array for children\n     */// Normally, the user would provide like 10 slides (totalItemsCount == 10) and only show one at a\n// time (visibleItemsCount == 1). In these cases, extraCopyCount == 1, and we only render 3 extra\n// duplicates in the live mode or no duplicates at all in the SSR or on Canvas.\n// However, sometimes, the user might things like\n// - provide totalItemsCount = 5, visibleItemsCount = 3, startFrom = 4 → we need one more duplicate to continue the loop\n//   and render two more slides\n// - or: totalItemsCount = 2, visibleItemsCount = 10 → we need three more duplicates to fill the whole view of the slideshow\n// In these cases, we produce extra copies of the children.\nconst extraCopyCount=Math.ceil((startFrom+visibleItemsCount)/totalItemsCount);let dupedChildren=[];let duplicateBy=extraCopyCount*4;if(isCanvas||!isInitialized){duplicateBy=extraCopyCount;}/**\n     * Measure parent, child, items\n     *//* Calculate the new value to animate to */const[currentItem,setCurrentItem]=useState(startFrom+totalItemsCount);/* Animate whenever currentItem changes */useEffect(()=>{if(!size.item||!writingDirection)return;const computedNewPosition=-1*currentItem*((size.item??0)+gap)*(writingDirection===\"rtl\"?-1:1);if(xOrY.get()!==computedNewPosition){animate(xOrY,computedNewPosition,transitionControl);}},[currentItem,size.item,gap,writingDirection]);const measure=()=>{if(!parentRef.current||!firstChildRef.current||!lastChildRef.current)return;// Calling getWritingDirection() directly because this might be executed before useEffect() in useWritingDirection() runs.\nconst writingDirection=getWritingDirection();const isRTL=isHorizontal&&writingDirection===\"rtl\";const firstChild=isRTL?lastChildRef.current:firstChildRef.current;const lastChild=isRTL?firstChildRef.current:lastChildRef.current;const parentLength=isHorizontal?parentRef.current.offsetWidth:parentRef.current.offsetHeight;const start=firstChild?isHorizontal?firstChild.offsetLeft:firstChild.offsetTop:0;const end=lastChild?isHorizontal?lastChild.offsetLeft+lastChild.offsetWidth:lastChild.offsetTop+lastChild.offsetHeight:0;const childrenLength=end-start+gap;const itemSize=firstChild?isHorizontal?firstChild.offsetWidth:firstChild.offsetHeight:0;const itemWidth=firstChild?firstChild.offsetWidth:0;const itemHeight=firstChild?firstChild.offsetHeight:0;const viewportLength=isHorizontal?Math.max(document.documentElement.clientWidth||0,window.innerWidth||0,parentRef.current.offsetWidth):Math.max(document.documentElement.clientHeight||0,window.innerHeight||0,parentRef.current.offsetHeight);setSize({parent:parentLength,children:childrenLength,item:itemSize,itemWidth,itemHeight,viewportLength});};const scheduleMeasure=useEffectEvent(async()=>{frame.read(measure,false,true);});/* Re-measure when some layout-affecting props change */useLayoutEffect(()=>{scheduleMeasure();},[slots.length,visibleItemsCount,gap,direction,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft]);/** Re-measure when the parent is resized */useEffect(()=>{const node=parentRef.current;if(!node)return;return resize(node,({contentSize})=>{if(contentSize.width||contentSize.height){scheduleMeasure();}});},[]);/**\n     * Animation, pagination\n     */const childrenSize=isCanvas?0:size?.children;const[isDragging,setIsDragging]=useState(false);/* Check for browser window visibility *//* Otherwise, it will re-play all the item increments */const visibilityRef=useRef(null);const isInView=useInView(visibilityRef);const isVisible=usePageInView()&&isInView;/* The x and y values to start from */const xOrY=useMotionValue(childrenSize);/* Wrapped values for infinite looping *//* Instead of 0 to a negative full duplicated row, we start with an offset */const wrappedXOrY=!isCanvas?useTransform(xOrY,value=>{const resolvedChildrenSize=childrenSize??0;const resolvedValue=value??0;const wrapped=wrap(-resolvedChildrenSize*rtlDirectionModifier,-resolvedChildrenSize*rtlDirectionModifier*2,resolvedValue);return Number.isNaN(wrapped)?0:wrapped;}):0;/* Convert the current item to a wrapping index for dots */const wrappedIndex=wrap(0,totalItemsCount,currentItem);/**\n     * Page item methods\n     * Switching, deltas, autoplaying\n     *//* Page navigation functions */const setDelta=delta=>{startTransition(()=>setCurrentItem(item=>item+delta));};const setPage=index=>{const currentItemWrapped=wrap(0,totalItemsCount,currentItem);const goto=index-currentItemWrapped;startTransition(()=>setCurrentItem(item=>item+goto));};/* Autoplay: schedule one tick at a time whenever currentItem changes */const autoplayStep=(direction===\"right\"||direction===\"bottom\"?-1:1)*rtlDirectionModifier;const canAutoplay=autoPlayControl&&shouldPlayOnHover&&(playOffscreen||isVisible)&&!isCanvas&&totalItemsCount>1&&!isDragging&&isInitialized;useEffect(()=>{if(!canAutoplay)return;const timeoutId=setTimeout(()=>{setDelta(autoplayStep);},intervalControl*1e3);return()=>clearTimeout(timeoutId);},[canAutoplay,autoplayStep,intervalControl,currentItem]);/**\n     * Drag\n     */const handleDragStart=()=>{startTransition(()=>setIsDragging(true));};const handleDragEnd=(event,{offset,velocity})=>{startTransition(()=>setIsDragging(false));const offsetXorY=isHorizontal?offset.x:offset.y;const velocityThreshold=200// Based on testing, can be tweaked or could be 0\n;const velocityXorY=isHorizontal?velocity.x:velocity.y;const isHalfOfNext=offsetXorY<-size.item/2;const isHalfOfPrev=offsetXorY>size.item/2;/* In case you drag more than 1 item left or right */const normalizedOffset=Math.abs(offsetXorY);const itemDelta=Math.round(normalizedOffset/size.item);/* Minimum delta is 1 to initiate a page switch *//* For velocity use only */const itemDeltaFromOne=itemDelta===0?1:itemDelta;/* For quick flicks, even with low offsets */if(velocityXorY>velocityThreshold){setDelta(-itemDeltaFromOne*rtlDirectionModifier);}else if(velocityXorY<-velocityThreshold){setDelta(itemDeltaFromOne*rtlDirectionModifier);}else{/* For dragging over half of the current item with 0 velocity */if(isHalfOfNext){setDelta(itemDelta*rtlDirectionModifier);}if(isHalfOfPrev){setDelta(-itemDelta*rtlDirectionModifier);}}};// Static/canvas layout: translate by a deterministic CSS calc so the starting slide is visible\n// without relying on runtime measurements.\nconst staticStartFrom=Math.max(0,Math.min(startFrom??0,Math.max(0,totalItemsCount-1)));const staticPercentOffset=staticStartFrom*100/visibleItemsCount;const staticPixelOffset=staticStartFrom*gap/visibleItemsCount;/* Create copies of our children to create a perfect loop */let childCounter=0;/**\n     * Sizing\n     * */const columnOrRowValue=`calc(${100/visibleItemsCount}% - ${gap}px + ${gap/visibleItemsCount}px)`;/**\n     * Nested array to create duplicates of the children for infinite looping\n     * These are wrapped around, and start at a full \"page\" worth of offset\n     * as defined above.\n     */for(let index=0;index<duplicateBy;index++){dupedChildren=dupedChildren.concat(Children.map(filteredSlots,(child,childIndex)=>{let ref;if(index===0){if(childIndex===0){ref=firstChildRefFn;}else if(childIndex===filteredSlots.length-1){ref=lastChildRefFn;}}return /*#__PURE__*/_jsx(Slide,{ref:ref,slideKey:index+childIndex+\"lg\",index:index,width:isHorizontal?visibleItemsCount>1?columnOrRowValue:\"100%\":\"100%\",height:!isHorizontal?visibleItemsCount>1?columnOrRowValue:\"100%\":\"100%\",size:size,child:child,numChildren:filteredSlots?.length,wrappedXOrY:wrappedXOrY,childCounter:childCounter++,gap:gap,isCanvas:isCanvas,isInitialized:isInitialized,isHorizontal:isHorizontal,effectsOpacity:effectsOpacity,effectsScale:effectsScale,effectsRotate:effectsRotate,writingDirection:writingDirection,rtlDirectionModifier:rtlDirectionModifier,children:index+childIndex},index+childIndex+\"lg\");}));}/**\n     * Fades with masks\n     */const fadeDirection=isHorizontal?\"to right\":\"to bottom\";const fadeWidthStart=fadeWidth/2;const fadeWidthEnd=100-fadeWidth/2;const fadeInsetStart=clamp(fadeInset,0,fadeWidthStart);const fadeInsetEnd=100-fadeInset;const fadeMask=`linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`;/**\n     * Dots\n     */const dots=[];const dotsBlurStyle={};if(showProgressDots){for(let i=0;i<filteredSlots?.length;i++){dots.push(/*#__PURE__*/_jsx(Dot,{dotStyle:{...dotStyle,width:dotSize,height:dotSize,backgroundColor:dotsFill},buttonStyle:baseButtonStyles,selectedOpacity:dotsActiveOpacity,opacity:dotsOpacity,disabled:!isCanvas&&!isInitialized,onClick:()=>setPage(i),wrappedIndex:isCanvas||!isInitialized?staticStartFrom:wrappedIndex,total:totalItemsCount,index:i,gap:dotsGap,padding:dotsPadding,isHorizontal:isHorizontal},i));}if(dotsBlur>0){dotsBlurStyle.backdropFilter=dotsBlurStyle.WebkitBackdropFilter=`blur(${dotsBlur}px)`;}}const dragProps=isInitialized&&dragControl?{drag:isHorizontal?\"x\":\"y\",onDragStart:handleDragStart,onDragEnd:handleDragEnd,dragDirectionLock:true,values:{x:writingDirection===\"rtl\"?-xOrY:xOrY,y:xOrY},dragMomentum:false}:{};const arrowHasTop=arrowPosition===\"top-left\"||arrowPosition===\"top-mid\"||arrowPosition===\"top-right\";const arrowHasBottom=arrowPosition===\"bottom-left\"||arrowPosition===\"bottom-mid\"||arrowPosition===\"bottom-right\";const arrowHasLeft=arrowPosition===\"top-left\"||arrowPosition===\"bottom-left\";const arrowHasRight=arrowPosition===\"top-right\"||arrowPosition===\"bottom-right\";const arrowHasMid=arrowPosition===\"top-mid\"||arrowPosition===\"bottom-mid\"||arrowPosition===\"auto\";const leftArrowSrc=leftArrow||\"https://framerusercontent.com/images/6tTbkXggWgQCAJ4DO2QEdXXmgM.svg?arrow=left\";const rightArrowSrc=rightArrow||\"https://framerusercontent.com/images/11KSGbIZoRSg4pjdnUoif6MKHI.svg?arrow=right\";return /*#__PURE__*/_jsxs(\"section\",{className:`${slideshowClassName} ${isHorizontal?slideshowAxisXClassName:slideshowAxisYClassName}`,style:{...containerStyle,padding:paddingValue,WebkitMaskImage:fadeContent?fadeMask:undefined,maskImage:fadeContent?fadeMask:undefined,userSelect:\"none\"},onMouseEnter:()=>{setIsHovering(true);if(!effectsHover)setShouldPlayOnHover(false);},onMouseLeave:()=>{setIsHovering(false);if(!effectsHover)setShouldPlayOnHover(true);},onMouseDown:event=>{// Preventdefault fixes the cursor switching to text on drag on safari\nevent.preventDefault();startTransition(()=>setIsMouseDown(true));},onMouseUp:()=>startTransition(()=>setIsMouseDown(false)),ref:visibilityRef,children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",margin:0,padding:\"inherit\",position:\"absolute\",inset:0,overflow:overflow?\"visible\":\"hidden\",borderRadius:borderRadius,userSelect:\"none\",perspective:isCanvas?\"none\":effectsPerspective},children:/*#__PURE__*/_jsx(motion.ul,{ref:parentRefFn,...dragProps,style:{...containerStyle,gap:gap,placeItems:alignment,...isCanvas||!isInitialized?{transform:isHorizontal?`translateX(calc(${slideshowDirectionMultiplier} * (${staticPercentOffset}% + ${staticPixelOffset}px)))`:`translateY(calc(${slideshowDirectionMultiplier} * (${staticPercentOffset}% + ${staticPixelOffset}px)))`}:{x:isHorizontal?wrappedXOrY:0,y:!isHorizontal?wrappedXOrY:0},flexDirection:isHorizontal?\"row\":\"column\",transformStyle:effectsRotate!==0&&!isCanvas?\"preserve-3d\":undefined,cursor:(isCanvas||isInitialized)&&dragControl?isMouseDown?\"grabbing\":\"grab\":\"auto\",userSelect:\"none\",...style},children:dupedChildren})}),/*#__PURE__*/_jsxs(\"fieldset\",{style:{...controlsStyles},\"aria-label\":\"Slideshow pagination controls\",className:\"framer--slideshow-controls\",children:[/*#__PURE__*/_jsxs(motion.div,{style:{position:\"absolute\",display:\"flex\",flexDirection:isHorizontal?\"row\":\"column\",justifyContent:arrowShouldSpace?\"space-between\":\"center\",gap:arrowShouldSpace?\"unset\":arrowGap,opacity:arrowShouldFadeIn||!isCanvas&&!isInitialized?0:1,alignItems:\"center\",inset:arrowPadding,top:arrowShouldSpace?arrowPadding:arrowHasTop?arrowPaddingTop:\"unset\",left:arrowShouldSpace?arrowPadding:arrowHasLeft?arrowPaddingLeft:arrowHasMid?0:\"unset\",right:arrowShouldSpace?arrowPadding:arrowHasRight?arrowPaddingRight:arrowHasMid?0:\"unset\",bottom:arrowShouldSpace?arrowPadding:arrowHasBottom?arrowPaddingBottom:\"unset\"},animate:isCanvas||isInitialized?arrowShouldFadeIn?{opacity:isHovering?1:0}:{opacity:1}:{opacity:0},transition:transitionControl,children:[/*#__PURE__*/_jsx(motion.button,{type:\"button\",style:{...baseButtonStyles,backgroundColor:arrowFill,width:arrowSize,height:arrowSize,borderRadius:arrowRadius,rotate:!isHorizontal?90:0,display:showMouseControls?\"block\":\"none\",pointerEvents:isCanvas||isInitialized?\"auto\":\"none\",cursor:isCanvas||isInitialized?\"pointer\":\"default\"},disabled:!(isCanvas||isInitialized),onClick:()=>setDelta(-1),\"aria-label\":\"Previous\",whileTap:{scale:.9},transition:{duration:.15},children:/*#__PURE__*/_jsx(\"img\",{decoding:\"async\",width:arrowSize,height:arrowSize,src:isHorizontal&&writingDirection===\"rtl\"?rightArrowSrc:leftArrowSrc,alt:\"Back Arrow\"})}),/*#__PURE__*/_jsx(motion.button,{type:\"button\",style:{...baseButtonStyles,backgroundColor:arrowFill,width:arrowSize,height:arrowSize,borderRadius:arrowRadius,rotate:!isHorizontal?90:0,display:showMouseControls?\"block\":\"none\",pointerEvents:isCanvas||isInitialized?\"auto\":\"none\",cursor:isCanvas||isInitialized?\"pointer\":\"default\"},disabled:!(isCanvas||isInitialized),onClick:()=>setDelta(1),\"aria-label\":\"Next\",whileTap:{scale:.9},transition:{duration:.15},children:/*#__PURE__*/_jsx(\"img\",{decoding:\"async\",width:arrowSize,height:arrowSize,src:isHorizontal&&writingDirection===\"rtl\"?leftArrowSrc:rightArrowSrc,alt:\"Next Arrow\"})})]}),dots.length>1?/*#__PURE__*/_jsx(motion.div,{style:{...dotsContainerStyle,left:isHorizontal?\"50%\":dotsInset,top:!isHorizontal?\"50%\":\"unset\",transform:isHorizontal?\"translateX(-50%)\":\"translateY(-50%)\",flexDirection:isHorizontal?\"row\":\"column\",bottom:isHorizontal?dotsInset:\"unset\",borderRadius:dotsRadius,backgroundColor:dotsBackground,userSelect:\"none\",...dotsBlurStyle,// Hard-code opacity to 1 on canvas. In SSR, it will be animated from 0 to 1 in `animate`\nopacity:isCanvas?1:0,pointerEvents:isCanvas||isInitialized?\"auto\":\"none\"},animate:{opacity:isInitialized?1:0},transition:{duration:.35,ease:\"easeOut\"},children:dots}):null]})]});}const Slideshow=withCSS(SlideshowWithoutCSS,[`.${slideshowAxisXClassName} { ${slideshowDirectionMultiplierVariable}: -1; }`,`html[dir=\"rtl\"] .${slideshowAxisXClassName} { ${slideshowDirectionMultiplierVariable}: 1; }`,`.${slideshowAxisYClassName} { ${slideshowDirectionMultiplierVariable}: -1; }`],\"framer-slideshow-component\");/**\n * SLIDESHOW\n * V2.5 (with SSR)\n * By Benjamin, Matt, and Ivan\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default Slideshow;/* Default Properties */Slideshow.defaultProps={direction:\"left\",dragControl:false,startFrom:0,itemAmount:1,infinity:true,gap:10,padding:10,autoPlayControl:true,effectsOptions:{effectsOpacity:1,effectsScale:1,effectsRotate:0,effectsPerspective:1200,effectsHover:true,playOffscreen:false},transitionControl:{type:\"spring\",stiffness:200,damping:40},fadeOptions:{fadeContent:false,overflow:false,fadeWidth:25,fadeAlpha:0,fadeInset:0},arrowOptions:{showMouseControls:true,arrowShouldFadeIn:false,arrowShouldSpace:true,arrowFill:\"rgba(0,0,0,0.2)\",arrowSize:40},progressOptions:{showProgressDots:true}};/* Property Controls */addPropertyControls(Slideshow,{slots:{type:ControlType.Array,title:\"Content\",control:{type:ControlType.ComponentInstance}},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\",\"top\",\"bottom\"],optionIcons:[\"direction-left\",\"direction-right\",\"direction-up\",\"direction-down\"],optionTitles:[\"Left\",\"Right\",\"Top\",\"Bottom\"],displaySegmentedControl:true,defaultValue:Slideshow.defaultProps.direction},autoPlayControl:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:true},intervalControl:{type:ControlType.Number,title:\"Interval\",defaultValue:1.5,min:.5,max:10,step:.1,displayStepper:true,unit:\"s\",hidden:props=>!props.autoPlayControl},dragControl:{type:ControlType.Boolean,title:\"Draggable\",defaultValue:false},startFrom:{type:ControlType.Number,title:\"Current\",min:0,max:10,displayStepper:true,defaultValue:Slideshow.defaultProps.startFrom},effectsOptions:{type:ControlType.Object,title:\"Effects\",controls:{effectsOpacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsOpacity,min:0,max:1,step:.01,displayStepper:true},effectsScale:{type:ControlType.Number,title:\"Scale\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsScale,min:0,max:1,step:.01,displayStepper:true},effectsPerspective:{type:ControlType.Number,title:\"Perspective\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsPerspective,min:200,max:2e3,step:1},effectsRotate:{type:ControlType.Number,title:\"Rotate\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsRotate,min:-180,max:180,step:1},effectsHover:{type:ControlType.Boolean,title:\"On Hover\",enabledTitle:\"Play\",disabledTitle:\"Pause\",defaultValue:Slideshow.defaultProps.effectsOptions.effectsHover},playOffscreen:{type:ControlType.Boolean,title:\"Offscreen\",enabledTitle:\"Play\",disabledTitle:\"Pause\",defaultValue:Slideshow.defaultProps.effectsOptions.playOffscreen}}},alignment:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionIcons:{direction:{right:[\"align-top\",\"align-middle\",\"align-bottom\"],left:[\"align-top\",\"align-middle\",\"align-bottom\"],top:[\"align-left\",\"align-center\",\"align-right\"],bottom:[\"align-left\",\"align-center\",\"align-right\"]}},defaultValue:\"center\",displaySegmentedControl:true},itemAmount:{type:ControlType.Number,title:\"Items\",min:1,max:10,displayStepper:true,defaultValue:Slideshow.defaultProps.itemAmount},gap:{type:ControlType.Number,title:\"Gap\",min:0},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:0,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:500,displayStepper:true,defaultValue:0},transitionControl:{type:ControlType.Transition,defaultValue:Slideshow.defaultProps.transitionControl,title:\"Transition\"},fadeOptions:{type:ControlType.Object,title:\"Clipping\",controls:{fadeContent:{type:ControlType.Boolean,title:\"Fade\",defaultValue:false},overflow:{type:ControlType.Boolean,title:\"Overflow\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,hidden(props){return props.fadeContent===true;}},fadeWidth:{type:ControlType.Number,title:\"Width\",defaultValue:25,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeInset:{type:ControlType.Number,title:\"Inset\",defaultValue:0,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeAlpha:{type:ControlType.Number,title:\"Opacity\",defaultValue:0,min:0,max:1,step:.05,hidden(props){return props.fadeContent===false;}}}},arrowOptions:{type:ControlType.Object,title:\"Arrows\",controls:{showMouseControls:{type:ControlType.Boolean,title:\"Show\",defaultValue:Slideshow.defaultProps.arrowOptions.showMouseControls},arrowFill:{type:ControlType.Color,title:\"Fill\",hidden:props=>!props.showMouseControls,defaultValue:Slideshow.defaultProps.arrowOptions.arrowFill},leftArrow:{type:ControlType.Image,title:\"Previous\",hidden:props=>!props.showMouseControls},rightArrow:{type:ControlType.Image,title:\"Next\",hidden:props=>!props.showMouseControls},arrowSize:{type:ControlType.Number,title:\"Size\",min:0,max:200,displayStepper:true,defaultValue:Slideshow.defaultProps.arrowOptions.arrowSize,hidden:props=>!props.showMouseControls},arrowRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:500,defaultValue:40,hidden:props=>!props.showMouseControls},arrowShouldFadeIn:{type:ControlType.Boolean,title:\"Fade In\",defaultValue:false,hidden:props=>!props.showMouseControls},arrowShouldSpace:{type:ControlType.Boolean,title:\"Distance\",enabledTitle:\"Space\",disabledTitle:\"Group\",defaultValue:Slideshow.defaultProps.arrowOptions.arrowShouldSpace,hidden:props=>!props.showMouseControls},arrowPosition:{type:ControlType.Enum,title:\"Position\",options:[\"auto\",\"top-left\",\"top-mid\",\"top-right\",\"bottom-left\",\"bottom-mid\",\"bottom-right\"],optionTitles:[\"Center\",\"Top Left\",\"Top Middle\",\"Top Right\",\"Bottom Left\",\"Bottom Middle\",\"Bottom Right\"],hidden:props=>!props.showMouseControls||props.arrowShouldSpace},arrowPadding:{type:ControlType.Number,title:\"Inset\",min:-100,max:100,defaultValue:20,displayStepper:true,hidden:props=>!props.showMouseControls||!props.arrowShouldSpace},arrowPaddingTop:{type:ControlType.Number,title:\"Top\",min:-500,max:500,defaultValue:0,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace||props.arrowPosition===\"auto\"||props.arrowPosition===\"bottom-mid\"||props.arrowPosition===\"bottom-left\"||props.arrowPosition===\"bottom-right\"},arrowPaddingBottom:{type:ControlType.Number,title:\"Bottom\",min:-500,max:500,defaultValue:0,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace||props.arrowPosition===\"auto\"||props.arrowPosition===\"top-mid\"||props.arrowPosition===\"top-left\"||props.arrowPosition===\"top-right\"},arrowPaddingRight:{type:ControlType.Number,title:\"Right\",min:-500,max:500,defaultValue:0,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace||props.arrowPosition===\"auto\"||props.arrowPosition===\"top-left\"||props.arrowPosition===\"top-mid\"||props.arrowPosition===\"bottom-left\"||props.arrowPosition===\"bottom-mid\"},arrowPaddingLeft:{type:ControlType.Number,title:\"Left\",min:-500,max:500,defaultValue:0,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace||props.arrowPosition===\"auto\"||props.arrowPosition===\"top-right\"||props.arrowPosition===\"top-mid\"||props.arrowPosition===\"bottom-right\"||props.arrowPosition===\"bottom-mid\"},arrowGap:{type:ControlType.Number,title:\"Gap\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showMouseControls||props.arrowShouldSpace}}},progressOptions:{type:ControlType.Object,title:\"Dots\",controls:{showProgressDots:{type:ControlType.Boolean,title:\"Show\",defaultValue:false},dotSize:{type:ControlType.Number,title:\"Size\",min:1,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsInset:{type:ControlType.Number,title:\"Inset\",min:-100,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsGap:{type:ControlType.Number,title:\"Gap\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsPadding:{type:ControlType.Number,title:\"Padding\",min:0,max:100,defaultValue:10,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsFill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#fff\",hidden:props=>!props.showProgressDots||props.showScrollbar},dotsBackground:{type:ControlType.Color,title:\"Backdrop\",defaultValue:\"rgba(0,0,0,0.2)\",hidden:props=>!props.showProgressDots||props.showScrollbar},dotsRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:200,defaultValue:50,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsOpacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,defaultValue:.5,step:.1,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsActiveOpacity:{type:ControlType.Number,title:\"Current\",min:0,max:1,defaultValue:1,step:.1,displayStepper:true,hidden:props=>!props.showProgressDots||props.showScrollbar},dotsBlur:{type:ControlType.Number,title:\"Blur\",min:0,max:50,defaultValue:0,step:1,hidden:props=>!props.showProgressDots||props.showScrollbar}}}});/* Placeholder Styles */const containerStyle={display:\"flex\",flexDirection:\"row\",width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",placeItems:\"center\",margin:0,padding:0,listStyleType:\"none\",textIndent:\"none\"};/* Component Styles */const placeholderStyles={display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"#96F\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:11,overflow:\"hidden\",padding:\"20px 20px 30px 20px\"};const emojiStyles={fontSize:32,marginBottom:10};const titleStyles={margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"};const subtitleStyles={margin:0,opacity:.7,maxWidth:180,lineHeight:1.5,textAlign:\"center\"};/* Control Styles */const baseButtonStyles={border:\"none\",display:\"flex\",placeContent:\"center\",placeItems:\"center\",overflow:\"hidden\",background:\"transparent\",cursor:\"pointer\",margin:0,padding:0};const controlsStyles={display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",position:\"absolute\",pointerEvents:\"none\",userSelect:\"none\",top:0,left:0,right:0,bottom:0,border:0,padding:0,margin:0};/* Clamp function, used for fadeInset */const clamp=(num,min,max)=>Math.min(Math.max(num,min),max);/* Slide Component */const Slide=/*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Component(props,ref){const{slideKey,width,height,child,size,gap,wrappedXOrY,numChildren,childCounter,isCanvas,isInitialized,effects,effectsOpacity,effectsScale,effectsRotate,isHorizontal,isLast,index,/** \"ltr\" or \"rtl\" */writingDirection,/** -1 in RTL, 1 in LTR */rtlDirectionModifier}=props;const fallbackRef=useRef();const itemSize=size?.item??0;const parentSize=size?.parent??0;/**\n         * Unique offsets + scroll range [0, 1, 1, 0]\n         */const childOffset=(itemSize+gap)*childCounter;const scrollRange=// @ivan: this was picked experimentally when fixing semi-working-but-broken RTL\n// implementation in the existing Carousel code. Don’t ask me why these specific values, I’m\n// finding it hard to fully reason about RTL in carousel :/\n(isHorizontal&&writingDirection===\"rtl\"?[itemSize-gap,0,-parentSize+itemSize-gap,-parentSize-gap]:[-itemSize,0,parentSize-itemSize+gap,parentSize]).map(val=>val-childOffset*rtlDirectionModifier);/**\n         * Effects\n         */const rotateY=!isCanvas&&useTransform(wrappedXOrY,scrollRange,// Why flip the rotateY effect when RTL is enabled?\n//\n// Unlike other effects, rotation is vertically symmetrical. Say the user sets a 60 degree rotation.\n// The carousel will look like this:\n//   ) □ ▣ ▤ (\n// where\n// - □ ▣ ▤ are the three slides visible within the carousel,\n// - ) is an out-of-view slide to the left of the viewport,\n// - and ( is an out-of-view slide to the right of the viewport.\n// With 60° rotation, both out-of-view slides look “turned towards” the viewport,\n// which matters for the animation when the slides switch.\n//\n// If a user sets RTL, all items in the carousel will flip around. The carousel, by default, will now look like this:\n//   ( ▤ ▣ □ )\n// Notice how all slides reversed. The slide that was to the left of the viewport: ) – is now to the right of it!\n// And is now turned away from the viewport! So if we don’t flip the rotateY effect, the animation will look off.\nisHorizontal&&writingDirection===\"rtl\"?[effectsRotate,0,0,-effectsRotate]:[-effectsRotate,0,0,effectsRotate]);const rotateX=!isCanvas&&useTransform(wrappedXOrY,scrollRange,[effectsRotate,0,0,-effectsRotate]);const opacity=!isCanvas&&useTransform(wrappedXOrY,scrollRange,[effectsOpacity,1,1,effectsOpacity]);const scale=!isCanvas&&useTransform(wrappedXOrY,scrollRange,[effectsScale,1,1,effectsScale]);const originXorY=!isCanvas&&useTransform(wrappedXOrY,scrollRange,// Just like above, because in RTL, the items are flipped vertically, RTL needs a separate treatment\nisHorizontal&&writingDirection===\"rtl\"?[0,0,1,1]:[1,1,0,0]);const isVisible=!isCanvas&&useTransform(wrappedXOrY,latest=>{// Min and max swap in LTR vs RTL\nconst min=Math.min(scrollRange[1],scrollRange[2]);const max=Math.max(scrollRange[1],scrollRange[2]);return latest>=min&&latest<=max;});useEffect(()=>{if(!isVisible||!isInitialized)return;function manageVisibility(visible){const node=ref?.current??fallbackRef.current;if(!node)return;// for a11y: Manage tabIndex on focusable descendants & aria-hidden on the parent.\nif(visible){node.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.dataset.origTabIndex;if(orig)el.tabIndex=orig;else el.removeAttribute(\"tabIndex\");});}else{node.querySelectorAll(\"button,a\").forEach(el=>{const orig=el.getAttribute(\"tabIndex\");if(orig)el.dataset.origTabIndex=orig;el.tabIndex=-1;});}node.setAttribute(\"aria-hidden\",!visible);}manageVisibility(isVisible);return isVisible.on(\"change\",visible=>{manageVisibility(visible);});},[isInitialized]);const visibility=isCanvas?\"visible\":useTransform(wrappedXOrY,[scrollRange[0]-size.viewportLength*rtlDirectionModifier,mix(scrollRange[1],scrollRange[2],.5),scrollRange[3]+size.viewportLength*rtlDirectionModifier],[\"hidden\",\"visible\",\"hidden\"]);const key=slideKey+\"child\";return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",id:key,children:/*#__PURE__*/_jsx(\"li\",{style:{display:\"contents\"},children:/*#__PURE__*/cloneElement(child,{ref:ref??fallbackRef,key,style:{...child.props?.style,flexShrink:0,userSelect:\"none\",width,height,...isInitialized?{opacity,scale,originX:isHorizontal?originXorY:.5,originY:!isHorizontal?originXorY:.5,rotateY:isHorizontal?rotateY:0,rotateX:!isHorizontal?rotateX:0,visibility}:{}},layoutId:child.props.layoutId?child.props.layoutId+\"-original-\"+index:undefined})})});}));const Dot=/*#__PURE__*/memo(function Dot({selectedOpacity,opacity,total,index,wrappedIndex,dotStyle,buttonStyle,gap,padding,isHorizontal,...props}){/* Check active item *//* Go 0—1—2—3—4—5—0 */const isSelected=wrappedIndex===index;const inlinePadding=gap/2;const top=!isHorizontal&&index!==0?inlinePadding:padding;const bottom=!isHorizontal&&index!==total-1?inlinePadding:padding;// Use logical inline padding so RTL/LTR spacing is correct even if this subtree\n// is rendered under a different `direction` than `documentElement.dir`.\nconst inlineStart=isHorizontal?index===0?padding:inlinePadding:padding;const inlineEnd=isHorizontal?index===total-1?padding:inlinePadding:padding;return /*#__PURE__*/_jsx(\"button\",{\"aria-label\":`Scroll to page ${index+1}`,type:\"button\",...props,style:{...buttonStyle,paddingTop:top,paddingBottom:bottom,paddingInlineStart:inlineStart,paddingInlineEnd:inlineEnd},children:/*#__PURE__*/_jsx(motion.div,{style:{...dotStyle},initial:false,animate:{opacity:isSelected?selectedOpacity:opacity},transition:{duration:.3}})});});/* Dot Styles */const dotsContainerStyle={display:\"flex\",placeContent:\"center\",placeItems:\"center\",overflow:\"hidden\",position:\"absolute\",pointerEvents:\"auto\"};const dotStyle={borderRadius:\"50%\",background:\"white\",cursor:\"pointer\",border:\"none\",placeContent:\"center\",placeItems:\"center\",padding:0};function getWritingDirection(){return window?.document?.documentElement?.dir===\"rtl\"?\"rtl\":\"ltr\";}function useWritingDirection(){const[writingDirection,setWritingDirection]=useState(null);// must be done this way to ensure that there isn't a mismatch with SSG\n// which leads to button images not updating for the real writing direction\nuseEffect(()=>{setWritingDirection(getWritingDirection());// Listen for changes to the writing direction. While uncommon on live sites, this can easily happen\n// on the canvas when switching between locales on the same page.\nreturn onWritingDirectionChange(()=>{setWritingDirection(getWritingDirection());});},[]);return writingDirection;}let observer=null;const callbacks=[];function onWritingDirectionChange(callback){callbacks.push(callback);if(!observer){// A single MutationObserver watching a single attribute on a single element should be reasonably fast:\n// https://news.ycombinator.com/item?id=15274833 (note: Paul Irish)\n// https://stackoverflow.com/a/39332340\nobserver=new MutationObserver(()=>callbacks.forEach(callback=>callback()));observer.observe(document.documentElement,{attributeFilter:[\"dir\"]});}// Return a function to unsubscribe from the callback\nreturn()=>{callbacks.splice(callbacks.indexOf(callback),1);if(callbacks.length===0){observer?.disconnect();observer=null;}};}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Slideshow\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SlideShow.map","// Image Comparison Slider with interactive divider that follows the web cursor\nimport{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 * Image Comparison Slider\n *\n * @framerIntrinsicWidth 500\n * @framerIntrinsicHeight 300\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function ImageComparisonSlider(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,dividerColor=\"#FFFFFF\",dividerWidth=2,dividerShadow=true,showHandle=false,handleColor=\"#FFFFFF\",handleBackground=\"\",handleSize=40,autoAspectRatio=true,aspectRatio=5/3,followCursor=true,cursorStyle=\"resize\"}=props;const isHorizontal=orientation===\"horizontal\";const containerRef=useRef(null);const[position,setPosition]=useState(initialPosition);const[targetPosition,setTargetPosition]=useState(initialPosition);const[isDragging,setIsDragging]=useState(false);const isStatic=useIsStaticRenderer();const[measuredAspectRatio,setMeasuredAspectRatio]=useState(null);// For cursor-following\nconst[hovering,setHovering]=useState(false);const handleBackgroundValue=(handleBackground||\"\").trim();const isFillHeight=props.style?.height===\"100%\";const effectiveAspectRatio=(autoAspectRatio?measuredAspectRatio:null)||aspectRatio||1;const paddingTop=`${Math.max(1,100/effectiveAspectRatio)}%`;const updatePositionFromEvent=useCallback(e=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();if(isHorizontal){const x=e.clientX-rect.left;const newPosition=Math.max(0,Math.min(100,x/rect.width*100));if(isDragging){startTransition(()=>setPosition(newPosition));}else if(followCursor&&hovering){startTransition(()=>setTargetPosition(newPosition));}}else{const y=e.clientY-rect.top;const newPosition=Math.max(0,Math.min(100,y/rect.height*100));if(isDragging){startTransition(()=>setPosition(newPosition));}else if(followCursor&&hovering){startTransition(()=>setTargetPosition(newPosition));}}},[isHorizontal,isDragging,followCursor,hovering]);const handleClick=useCallback(e=>{if(!isDragging){updatePositionFromEvent(e);if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();if(isHorizontal){const x=e.clientX-rect.left;const newPosition=Math.max(0,Math.min(100,x/rect.width*100));startTransition(()=>setPosition(newPosition));}else{const y=e.clientY-rect.top;const newPosition=Math.max(0,Math.min(100,y/rect.height*100));startTransition(()=>setPosition(newPosition));}}},[isDragging,updatePositionFromEvent,isHorizontal]);const handleDoubleClick=()=>{startTransition(()=>setPosition(initialPosition));};const handleMouseDown=e=>{e.preventDefault();startTransition(()=>setIsDragging(true));};const handleMouseMove=useCallback(e=>{if(isDragging||followCursor&&hovering){updatePositionFromEvent(e);}},[isDragging,updatePositionFromEvent,followCursor,hovering]);const handleMouseUp=useCallback(()=>{startTransition(()=>setIsDragging(false));},[]);useEffect(()=>{if(isStatic)return;const handleGlobalMouseMove=e=>handleMouseMove(e);const handleGlobalMouseUp=()=>handleMouseUp();if(isDragging){window.addEventListener(\"mousemove\",handleGlobalMouseMove);window.addEventListener(\"mouseup\",handleGlobalMouseUp);}return()=>{window.removeEventListener(\"mousemove\",handleGlobalMouseMove);window.removeEventListener(\"mouseup\",handleGlobalMouseUp);};},[isDragging,handleMouseMove,handleMouseUp,isStatic]);// Smooth animation loop for cursor following\nuseEffect(()=>{if(isStatic||isDragging||!followCursor||!hovering)return;let animationFrameId;const animate=()=>{startTransition(()=>{setPosition(currentPosition=>{const diff=targetPosition-currentPosition;const step=diff*.08// Easing factor for smooth follow\n;if(Math.abs(diff)<.1){return targetPosition;}return currentPosition+step;});});animationFrameId=requestAnimationFrame(animate);};animationFrameId=requestAnimationFrame(animate);return()=>{if(animationFrameId){cancelAnimationFrame(animationFrameId);}};},[targetPosition,isStatic,isDragging,followCursor,hovering]);useEffect(()=>{if(typeof window===\"undefined\")return;if(!autoAspectRatio)return;if(isFillHeight)return;const src=afterImage?.src||beforeImage?.src;if(!src)return;let cancelled=false;const img=new window.Image;img.decoding=\"async\";img.onload=()=>{if(cancelled)return;const w=img.naturalWidth;const h=img.naturalHeight;if(!w||!h)return;const ratio=w/h;if(!isFinite(ratio)||ratio<=0)return;startTransition(()=>setMeasuredAspectRatio(ratio));};img.src=src;return()=>{cancelled=true;};},[afterImage?.src,beforeImage?.src,autoAspectRatio,isFillHeight]);// For hover/cursor-follow\nconst handleMouseEnter=()=>setHovering(true);const handleMouseLeave=()=>setHovering(false);const getCursorStyle=()=>{if(cursorStyle===\"none\")return\"none\";if(cursorStyle===\"pointer\")return\"pointer\";if(isDragging){return isHorizontal?\"ew-resize\":\"ns-resize\";}if(followCursor){return isHorizontal?\"ew-resize\":\"ns-resize\";}return\"pointer\";};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...props.style,position:\"relative\",width:\"100%\",height:isFillHeight?\"100%\":\"auto\",overflow:\"hidden\",cursor:getCursorStyle(),userSelect:\"none\"},onClick:isStatic?undefined:handleClick,onMouseMove:isStatic?undefined:handleMouseMove,onMouseDown:isStatic?undefined:handleMouseDown,onMouseUp:isStatic?undefined:handleMouseUp,onDoubleClick:handleDoubleClick,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,tabIndex:0,role:\"slider\",\"aria-valuenow\":position,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-orientation\":orientation,children:[!isFillHeight&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{width:\"100%\",paddingTop}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundImage:`url(${afterImage.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\"},\"aria-label\":afterImage.alt,role:\"img\"}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundImage:`url(${beforeImage.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",clipPath:isHorizontal?`inset(0 ${100-position}% 0 0)`:`inset(0 0 ${100-position}% 0)`},\"aria-label\":beforeImage.alt,role:\"img\"}),/*#__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:dividerShadow?\"0 0 5px rgba(0, 0, 0, 0.7)\":\"none\",transform:isHorizontal?`translateX(-${dividerWidth/2}px)`:`translateY(-${dividerWidth/2}px)`,cursor:cursorStyle===\"none\"?\"none\":isHorizontal?\"ew-resize\":\"ns-resize\",zIndex:2,transition:hovering&&!isDragging?\"background 0.15s, box-shadow 0.15s\":undefined},onMouseDown:isStatic?undefined:handleMouseDown}),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:\"50%\",...handleBackgroundValue?{backgroundImage:handleBackgroundValue,backgroundColor:\"transparent\"}:{backgroundColor:handleColor},border:\"none\",boxShadow:\"0 0 5px rgba(0, 0, 0, 0.5)\",transform:isHorizontal?`translateX(-${handleSize/2}px)`:`translateY(-${handleSize/2}px)`,cursor:cursorStyle===\"none\"?\"none\":isHorizontal?\"ew-resize\":\"ns-resize\",zIndex:3,display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},onMouseDown:isStatic?undefined:handleMouseDown})]});}addPropertyControls(ImageComparisonSlider,{beforeImage:{type:ControlType.ResponsiveImage,title:\"Before Image\"},afterImage:{type:ControlType.ResponsiveImage,title:\"After Image\"},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:\"%\"},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:\"Divider Shadow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},showHandle:{type:ControlType.Boolean,title:\"Show Handle\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},handleColor:{type:ControlType.Color,title:\"Handle Color\",defaultValue:\"#FFFFFF\",hidden:({showHandle})=>!showHandle},handleBackground:{type:ControlType.String,title:\"Handle BG\",defaultValue:\"\",placeholder:\"e.g. linear-gradient(90deg, #ff00ff, #00ffff)\",preventLocalization:true,hidden:({showHandle})=>!showHandle},handleSize:{type:ControlType.Number,title:\"Handle Size\",defaultValue:40,min:20,max:80,step:1,unit:\"px\",hidden:({showHandle})=>!showHandle},autoAspectRatio:{type:ControlType.Boolean,title:\"Auto Aspect\",defaultValue:true,enabledTitle:\"From Image\",disabledTitle:\"Manual\",hidden:props=>props.style?.height===\"100%\"},aspectRatio:{type:ControlType.Number,title:\"Aspect Ratio\",defaultValue:5/3,min:.2,max:5,step:.01,hidden:props=>props.style?.height===\"100%\"||props.autoAspectRatio===true},followCursor:{type:ControlType.Boolean,title:\"Follow Cursor\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},cursorStyle:{type:ControlType.Enum,title:\"Cursor Style\",options:[\"resize\",\"pointer\",\"none\"],optionTitles:[\"Resize\",\"Pointer\",\"None\"],defaultValue:\"resize\",displaySegmentedControl:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageComparisonSlider\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"300\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"500\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ImageComparisonSlider.map"],"mappings":"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"}