{"version":3,"file":"SnapCarouselMobile.DOMshfix.mjs","names":["useRef","useState","useCallback","useMemo"],"sources":["https:/framerusercontent.com/modules/IV6DfNcvev7JLSGACRSN/ebDQvrgGgSK5jfHHQhgx/SnapCarouselMobile.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";/**\n * User request:\n * Create a Framer code override export named SnapCarouselMobile.\n * It applies mobile-only horizontal scroll snap carousel behavior without changing canvas structure/styles.\n */export function SnapCarouselMobile(Component){return /*#__PURE__*/forwardRef(function SnapCarouselMobileOverride(props,ref){const localRef=useRef(null);const[isMobile,setIsMobile]=useState(false);const[activeIndex,setActiveIndex]=useState(0);const moveRafRef=useRef(null);const animRafRef=useRef(null);const scrollElementRef=useRef(null);const dotContainerRef=useRef(null);const idleSnapTimerRef=useRef(null);const activeIndexRef=useRef(0);const lastStyledIndexRef=useRef(-1);const widthRef=useRef(0);const dragStartXRef=useRef(0);const dragStartYRef=useRef(0);const dragStartScrollLeftRef=useRef(0);const isDraggingRef=useRef(false);const dragIntentRef=useRef(null);const usingTouchRef=useRef(false);const setCombinedRef=useCallback(node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref&&typeof ref===\"object\"){ref.current=node;}},[ref]);useEffect(()=>{if(typeof window===\"undefined\")return;const media=window.matchMedia(\"(max-width: 809.98px)\");const sync=()=>{startTransition(()=>setIsMobile(media.matches));};sync();media.addEventListener(\"change\",sync);return()=>{media.removeEventListener(\"change\",sync);};},[]);useEffect(()=>{if(typeof document===\"undefined\")return;if(document.getElementById(\"snap-carousel-mobile-style\"))return;const styleEl=document.createElement(\"style\");styleEl.id=\"snap-carousel-mobile-style\";styleEl.textContent='[data-snap-carousel-mobile=\"true\"]::-webkit-scrollbar{display:none;width:0;height:0;}';document.head.appendChild(styleEl);},[]);const findScrollElement=useCallback(()=>{const root=localRef.current;if(!root)return null;if(root.scrollWidth>root.clientWidth)return root;const queue=Array.from(root.children);while(queue.length>0){const candidate=queue.shift();if(!candidate)continue;if(candidate.scrollWidth>candidate.clientWidth)return candidate;queue.push(...Array.from(candidate.children));}return root;},[]);const getSlides=useCallback(node=>{return Array.from(node.children);},[]);const looksLikeDotContainer=useCallback((element,slideCount)=>{const dotChildren=Array.from(element.children);if(dotChildren.length<2)return false;const smallCount=dotChildren.filter(child=>{const rect=child.getBoundingClientRect();const height=rect.height||child.offsetHeight;const width=rect.width||child.offsetWidth;return height<=24&&width<=48;}).length;return smallCount>=2&&(dotChildren.length>=slideCount||smallCount>=slideCount);},[]);const findDotContainer=useCallback(()=>{const node=scrollElementRef.current??localRef.current;if(!node)return null;const scrollNode=scrollElementRef.current??findScrollElement();const slideCount=Math.max(1,scrollNode?scrollNode.children.length:node.children.length);let current=localRef.current;while(current&&current.parentElement){const parent=current.parentElement;const siblings=Array.from(parent.children);const currentIndex=siblings.indexOf(current);if(currentIndex>=0){for(let i=currentIndex+1;i<siblings.length;i++){const candidate=siblings[i];const label=(candidate.getAttribute(\"data-name\")||candidate.getAttribute(\"aria-label\")||\"\").toLowerCase();if(label.includes(\"swipe indicator\")||candidate.className.toLowerCase().includes(\"swipe-indicator\")){return candidate;}if(looksLikeDotContainer(candidate,slideCount))return candidate;}}for(const candidate of siblings){if(candidate===current)continue;const label=(candidate.getAttribute(\"data-name\")||candidate.getAttribute(\"aria-label\")||\"\").toLowerCase();if(label.includes(\"swipe indicator\")||candidate.className.toLowerCase().includes(\"swipe-indicator\")){return candidate;}if(looksLikeDotContainer(candidate,slideCount))return candidate;}current=parent;}const fallbackParent=node.parentElement;if(!fallbackParent)return null;const descendants=Array.from(fallbackParent.querySelectorAll(\"*\"));for(const candidate of descendants){if(candidate===node)continue;if(looksLikeDotContainer(candidate,slideCount))return candidate;}return null;},[looksLikeDotContainer,findScrollElement]);const getSlideIndex=useCallback(node=>{const children=Array.from(node.children);if(children.length===0)return 0;const width=Math.max(1,node.clientWidth);const rawIndex=Math.round(node.scrollLeft/width);return Math.min(Math.max(rawIndex,0),children.length-1);},[]);const applyDotStyles=useCallback(indexToActivate=>{const dotContainer=dotContainerRef.current??findDotContainer();if(!dotContainer)return;dotContainerRef.current=dotContainer;const dots=Array.from(dotContainer.children);if(dots.length===0)return;if(isMobile&&lastStyledIndexRef.current===indexToActivate)return;const activeColor=\"#23C16B\";const inactiveColor=\"rgba(255,255,255,0.32)\";dots.forEach((dot,index)=>{if(isMobile){dot.style.width=index===indexToActivate?\"24px\":\"8px\";dot.style.opacity=index===indexToActivate?\"1\":\"0.35\";dot.style.transition=\"width 0.2s ease, opacity 0.2s ease, background-color 0.2s ease\";dot.style.backgroundColor=index===indexToActivate?activeColor:inactiveColor;dot.style.background=index===indexToActivate?activeColor:inactiveColor;}else{dot.style.width=\"\";dot.style.opacity=\"\";dot.style.transition=\"\";dot.style.backgroundColor=\"\";dot.style.background=\"\";}});lastStyledIndexRef.current=isMobile?indexToActivate:-1;},[findDotContainer,isMobile]);const cancelAnimation=useCallback(()=>{if(animRafRef.current!==null){cancelAnimationFrame(animRafRef.current);animRafRef.current=null;}},[]);const animateToScrollLeft=useCallback((node,targetLeft)=>{cancelAnimation();const startLeft=node.scrollLeft;const distance=targetLeft-startLeft;if(Math.abs(distance)<=1){node.scrollLeft=targetLeft;const immediateIndex=getSlideIndex(node);activeIndexRef.current=immediateIndex;applyDotStyles(immediateIndex);startTransition(()=>setActiveIndex(immediateIndex));return;}const duration=360;const startTime=typeof performance!==\"undefined\"?performance.now():Date.now();const easeOutCubic=t=>1-Math.pow(1-t,3);const frame=now=>{const elapsed=now-startTime;const progress=Math.min(1,elapsed/duration);const eased=easeOutCubic(progress);node.scrollLeft=startLeft+distance*eased;const liveIndex=getSlideIndex(node);activeIndexRef.current=liveIndex;applyDotStyles(liveIndex);startTransition(()=>setActiveIndex(liveIndex));if(progress<1){animRafRef.current=requestAnimationFrame(frame);}else{animRafRef.current=null;}};animRafRef.current=requestAnimationFrame(frame);},[applyDotStyles,cancelAnimation,getSlideIndex]);const snapToNearest=useCallback((node,animate,deltaX=0)=>{const width=Math.max(1,node.clientWidth);const slides=getSlides(node);if(slides.length===0)return;const threshold=width*.2;let nextIndex=activeIndexRef.current;if(Math.abs(deltaX)>=threshold){nextIndex=deltaX<0?activeIndexRef.current+1:activeIndexRef.current-1;}else{nextIndex=Math.round(node.scrollLeft/width);}nextIndex=Math.max(0,Math.min(nextIndex,slides.length-1));const targetLeft=nextIndex*width;activeIndexRef.current=nextIndex;applyDotStyles(nextIndex);startTransition(()=>setActiveIndex(nextIndex));if(animate){animateToScrollLeft(node,targetLeft);}else{node.scrollLeft=targetLeft;}},[animateToScrollLeft,applyDotStyles,getSlides]);const scheduleIdleSnap=useCallback((delay=200)=>{if(typeof window===\"undefined\")return;if(idleSnapTimerRef.current!==null){window.clearTimeout(idleSnapTimerRef.current);}idleSnapTimerRef.current=window.setTimeout(()=>{const target=scrollElementRef.current;if(!target||!isMobile)return;snapToNearest(target,true);},delay);},[isMobile,snapToNearest]);const updateActiveFromOffset=useCallback(node=>{const index=getSlideIndex(node);if(index===activeIndexRef.current){applyDotStyles(index);return;}activeIndexRef.current=index;startTransition(()=>setActiveIndex(index));applyDotStyles(index);},[applyDotStyles,getSlideIndex]);useEffect(()=>{const node=scrollElementRef.current??findScrollElement();if(!node)return;scrollElementRef.current=node;const slides=getSlides(node);const width=Math.max(1,node.clientWidth);widthRef.current=width;slides.forEach(slide=>{if(isMobile){slide.style.flex=\"0 0 100%\";slide.style.width=\"100%\";slide.style.minWidth=\"100%\";slide.style.maxWidth=\"100%\";slide.style.boxSizing=\"border-box\";slide.style.scrollSnapAlign=\"center\";slide.style.scrollSnapStop=\"always\";}else{slide.style.flex=\"\";slide.style.width=\"\";slide.style.minWidth=\"\";slide.style.maxWidth=\"\";slide.style.boxSizing=\"\";slide.style.scrollSnapAlign=\"\";slide.style.scrollSnapStop=\"\";}});if(!isMobile){node.style.overflow=\"\";node.style.overflowX=\"\";node.style.overflowY=\"\";node.style.scrollBehavior=\"\";node.style.scrollSnapType=\"\";applyDotStyles(activeIndexRef.current);return;}node.style.overflow=\"auto\";node.style.overflowX=\"auto\";node.style.overflowY=\"hidden\";node.style.scrollBehavior=\"auto\";node.style.scrollSnapType=\"x mandatory\";node.scrollLeft=activeIndexRef.current*width;const handleStart=(clientX,clientY)=>{cancelAnimation();isDraggingRef.current=true;dragIntentRef.current=null;dragStartXRef.current=clientX;dragStartYRef.current=clientY;dragStartScrollLeftRef.current=node.scrollLeft;if(idleSnapTimerRef.current!==null&&typeof window!==\"undefined\"){window.clearTimeout(idleSnapTimerRef.current);idleSnapTimerRef.current=null;}};const handleMove=(clientX,clientY,prevent)=>{if(!isDraggingRef.current)return;const dx=clientX-dragStartXRef.current;const dy=clientY-dragStartYRef.current;const adx=Math.abs(dx);const ady=Math.abs(dy);if(dragIntentRef.current===null){if(adx<6&&ady<6)return;dragIntentRef.current=adx>ady?\"x\":\"y\";}if(dragIntentRef.current!==\"x\")return;if(prevent)prevent();const maxScroll=Math.max(0,(slides.length-1)*widthRef.current);const nextScrollLeft=Math.max(0,Math.min(maxScroll,dragStartScrollLeftRef.current-dx));if(moveRafRef.current!==null)cancelAnimationFrame(moveRafRef.current);moveRafRef.current=requestAnimationFrame(()=>{node.scrollLeft=nextScrollLeft;updateActiveFromOffset(node);moveRafRef.current=null;});};const handleEnd=clientX=>{if(!isDraggingRef.current)return;const dx=typeof clientX===\"number\"?clientX-dragStartXRef.current:0;isDraggingRef.current=false;if(dragIntentRef.current!==\"x\"){dragIntentRef.current=null;return;}snapToNearest(node,true,dx);dragIntentRef.current=null;};const onTouchStart=event=>{usingTouchRef.current=true;const touch=event.touches[0];handleStart(touch.clientX,touch.clientY);};const onTouchMove=event=>{const touch=event.touches[0];handleMove(touch.clientX,touch.clientY,()=>{if(event.cancelable)event.preventDefault();});};const onTouchEnd=event=>{const touch=event.changedTouches[0];handleEnd(touch?.clientX);scheduleIdleSnap(200);if(typeof window!==\"undefined\"){window.setTimeout(()=>{usingTouchRef.current=false;},0);}};const onPointerDown=event=>{if(usingTouchRef.current)return;handleStart(event.clientX,event.clientY);};const onPointerMove=event=>{if(usingTouchRef.current)return;handleMove(event.clientX,event.clientY,()=>{if(event.cancelable)event.preventDefault();});};const onPointerUp=event=>{if(usingTouchRef.current)return;handleEnd(event.clientX);scheduleIdleSnap(200);};const onScrollEnd=()=>{snapToNearest(node,true);};const onResize=()=>{const nextWidth=Math.max(1,node.clientWidth);widthRef.current=nextWidth;node.scrollLeft=activeIndexRef.current*nextWidth;applyDotStyles(activeIndexRef.current);};const onScroll=()=>{if(moveRafRef.current!==null)cancelAnimationFrame(moveRafRef.current);moveRafRef.current=requestAnimationFrame(()=>{updateActiveFromOffset(node);moveRafRef.current=null;});};node.addEventListener(\"touchstart\",onTouchStart,{passive:true});node.addEventListener(\"touchmove\",onTouchMove,{passive:false});node.addEventListener(\"touchend\",onTouchEnd,{passive:true});node.addEventListener(\"pointerdown\",onPointerDown,{passive:true});node.addEventListener(\"pointermove\",onPointerMove,{passive:false});node.addEventListener(\"pointerup\",onPointerUp,{passive:true});node.addEventListener(\"pointercancel\",onPointerUp,{passive:true});node.addEventListener(\"scroll\",onScroll,{passive:true});if(\"onscrollend\"in node)node.addEventListener(\"scrollend\",onScrollEnd);if(typeof window!==\"undefined\")window.addEventListener(\"resize\",onResize);requestAnimationFrame(()=>{node.scrollLeft=activeIndexRef.current*Math.max(1,node.clientWidth);applyDotStyles(activeIndexRef.current);});return()=>{node.removeEventListener(\"touchstart\",onTouchStart);node.removeEventListener(\"touchmove\",onTouchMove);node.removeEventListener(\"touchend\",onTouchEnd);node.removeEventListener(\"pointerdown\",onPointerDown);node.removeEventListener(\"pointermove\",onPointerMove);node.removeEventListener(\"pointerup\",onPointerUp);node.removeEventListener(\"pointercancel\",onPointerUp);node.removeEventListener(\"scroll\",onScroll);if(\"onscrollend\"in node)node.removeEventListener(\"scrollend\",onScrollEnd);if(typeof window!==\"undefined\")window.removeEventListener(\"resize\",onResize);if(moveRafRef.current!==null){cancelAnimationFrame(moveRafRef.current);moveRafRef.current=null;}cancelAnimation();if(typeof window!==\"undefined\"&&idleSnapTimerRef.current!==null){window.clearTimeout(idleSnapTimerRef.current);idleSnapTimerRef.current=null;}};},[isMobile,applyDotStyles,findScrollElement,getSlides,scheduleIdleSnap,snapToNearest,updateActiveFromOffset,cancelAnimation,props.children]);useEffect(()=>{applyDotStyles(activeIndex);},[activeIndex,applyDotStyles]);const mobileStyles=useMemo(()=>isMobile?{overflowX:\"auto\",overflowY:\"hidden\",scrollSnapType:\"x mandatory\",scrollBehavior:\"auto\",WebkitOverflowScrolling:\"touch\",scrollbarWidth:\"none\",msOverflowStyle:\"none\",scrollPaddingInline:\"0px\",boxSizing:\"border-box\",overscrollBehaviorX:\"contain\",overscrollBehaviorY:\"auto\",touchAction:\"pan-x pan-y pinch-zoom\"}:{},[isMobile]);const mergedStyle=useMemo(()=>({...props.style,...mobileStyles}),[props.style,mobileStyles]);return /*#__PURE__*/_jsx(Component,{...props,ref:setCombinedRef,style:mergedStyle,\"data-snap-carousel-mobile\":isMobile?\"true\":undefined});});}\nexport const __FramerMetadata__ = {\"exports\":{\"SnapCarouselMobile\":{\"type\":\"reactHoc\",\"name\":\"SnapCarouselMobile\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SnapCarouselMobile.map"],"mappings":"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"}