{"version":3,"file":"ScrollGrab.B8d9vCVC.mjs","names":["React.useContext","React.useMemo","React.Fragment","useRef","React.useId","SVG","useRef","useState","useCallback","x","useMemo","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/rLRLqPrEU1thF900ojH3/lxnKQhlIlnMYP1kBEPha/R1ELusVpW.js","https:/framerusercontent.com/modules/9bR14eo9aoVR6afRkLK5/gtlKONMkYgix6YcYgxPO/ScrollGrab.js"],"sourcesContent":["// Generated by Framer (904da2c)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={lfyWRQOBj:{hover:true},Mh_JHdOqz:{hover:true}};const cycleOrder=[\"Mh_JHdOqz\",\"lfyWRQOBj\",\"VimZd0tiJ\",\"LQcnYBzDt\"];const serializationHash=\"framer-0iKtX\";const variantClassNames={lfyWRQOBj:\"framer-v-1xc9pvc\",LQcnYBzDt:\"framer-v-18zxzn3\",Mh_JHdOqz:\"framer-v-1ojrzr0\",VimZd0tiJ:\"framer-v-12vvw8r\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Backward:\"VimZd0tiJ\",Forward:\"LQcnYBzDt\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"Mh_JHdOqz\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"Mh_JHdOqz\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ojrzr0\",className,classNames),\"data-framer-name\":\"Backward\",layoutDependency:layoutDependency,layoutId:\"Mh_JHdOqz\",ref:refBinding,style:{backgroundColor:\"rgb(238, 238, 238)\",borderBottomLeftRadius:184,borderBottomRightRadius:184,borderTopLeftRadius:184,borderTopRightRadius:184,...style},variants:{\"lfyWRQOBj-hover\":{backgroundColor:\"rgb(227, 227, 227)\"},\"Mh_JHdOqz-hover\":{backgroundColor:\"rgb(227, 227, 227)\"}},...addPropertyOverrides({\"lfyWRQOBj-hover\":{\"data-framer-name\":undefined},\"Mh_JHdOqz-hover\":{\"data-framer-name\":undefined},lfyWRQOBj:{\"data-framer-name\":\"Forward\"},LQcnYBzDt:{\"data-framer-name\":\"Forward\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SVG,{className:\"framer-yovp0\",layoutDependency:layoutDependency,layoutId:\"IHgkxZyU8\",requiresOverflowVisible:true,style:{rotate:90},svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 8 4\" overflow=\"visible\"><path d=\"M 0 0 L 4 4 L 8 0\" fill=\"transparent\" stroke-width=\"1.5\" stroke=\"rgb(84, 84, 84)\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-dasharray=\"\"></path></svg>',variants:{lfyWRQOBj:{rotate:270},LQcnYBzDt:{rotate:270}},withExternalLayout:true,...addPropertyOverrides({\"lfyWRQOBj-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 8 4\" overflow=\"visible\"><path d=\"M 0 0 L 4 4 L 8 0\" fill=\"transparent\" stroke-width=\"1.5\" stroke=\"var(--token-d80ea065-39d3-4618-acaf-854dd52021b9, rgb(45, 45, 45)) /* {&quot;name&quot;:&quot;Body black&quot;} */\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-dasharray=\"\"></path></svg>'},\"Mh_JHdOqz-hover\":{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 8 4\" overflow=\"visible\"><path d=\"M 0 0 L 4 4 L 8 0\" fill=\"transparent\" stroke-width=\"1.5\" stroke=\"var(--token-d80ea065-39d3-4618-acaf-854dd52021b9, rgb(45, 45, 45)) /* {&quot;name&quot;:&quot;Body black&quot;} */\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-dasharray=\"\"></path></svg>'},LQcnYBzDt:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 14 7\" overflow=\"visible\"><path d=\"M 0 0 L 7 7 L 14 0\" fill=\"transparent\" stroke-width=\"2\" stroke=\"rgb(84, 84, 84)\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-dasharray=\"\"></path></svg>'},VimZd0tiJ:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 14 7\" overflow=\"visible\"><path d=\"M 0 0 L 7 7 L 14 0\" fill=\"transparent\" stroke-width=\"2\" stroke=\"rgb(84, 84, 84)\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-dasharray=\"\"></path></svg>'}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SVG,{className:\"framer-12bjt46\",layoutDependency:layoutDependency,layoutId:\"rQp_OGgIK\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 8 4\" overflow=\"visible\"><path d=\"M 0 0 L 4 4 L 8 0\" fill=\"transparent\"></path></svg>',withExternalLayout:true,...addPropertyOverrides({LQcnYBzDt:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 14 7\" overflow=\"visible\"><path d=\"M 0 0 L 7 7 L 14 0\" fill=\"transparent\"></path></svg>'},VimZd0tiJ:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 14 7\" overflow=\"visible\"><path d=\"M 0 0 L 7 7 L 14 0\" fill=\"transparent\"></path></svg>'}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-0iKtX.framer-ya3a3j, .framer-0iKtX .framer-ya3a3j { display: block; }\",\".framer-0iKtX.framer-1ojrzr0 { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 32px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 32px; will-change: var(--framer-will-change-override, transform); }\",\".framer-0iKtX .framer-yovp0 { height: 4px; position: relative; width: 8px; }\",\".framer-0iKtX .framer-12bjt46 { height: 4px; left: 0px; position: absolute; top: 0px; width: 8px; }\",\".framer-0iKtX.framer-v-12vvw8r.framer-1ojrzr0, .framer-0iKtX.framer-v-18zxzn3.framer-1ojrzr0 { height: 30px; width: 42px; }\",\".framer-0iKtX.framer-v-12vvw8r .framer-yovp0, .framer-0iKtX.framer-v-12vvw8r .framer-12bjt46, .framer-0iKtX.framer-v-18zxzn3 .framer-yovp0, .framer-0iKtX.framer-v-18zxzn3 .framer-12bjt46 { height: 7px; width: 14px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 32\n * @framerIntrinsicWidth 32\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"lfyWRQOBj\":{\"layout\":[\"fixed\",\"fixed\"]},\"VimZd0tiJ\":{\"layout\":[\"fixed\",\"fixed\"]},\"LQcnYBzDt\":{\"layout\":[\"fixed\",\"fixed\"]},\"fe_x3UerP\":{\"layout\":[\"fixed\",\"fixed\"]},\"QriOK2dhV\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerR1ELusVpW=withCSS(Component,css,\"framer-0iKtX\");export default FramerR1ELusVpW;FramerR1ELusVpW.displayName=\"Carousel arrows\";FramerR1ELusVpW.defaultProps={height:32,width:32};addPropertyControls(FramerR1ELusVpW,{variant:{options:[\"Mh_JHdOqz\",\"lfyWRQOBj\",\"VimZd0tiJ\",\"LQcnYBzDt\"],optionTitles:[\"Backward\",\"Forward\",\"Backward\",\"Forward\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerR1ELusVpW,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerR1ELusVpW\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"32\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"32\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"lfyWRQOBj\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"VimZd0tiJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"LQcnYBzDt\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"fe_x3UerP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"QriOK2dhV\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./R1ELusVpW.map","// Horizontal Scroll Grab (Optimized)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useRef,useEffect,useMemo,useCallback}from\"react\";// Moved outside component - no recreation on each render\nconst clamp=(value,min,max)=>Math.max(min,Math.min(max,value));export function DragScrollWithOverflowVisible(){const containerRef=useRef(null);const trackRef=useRef(null);const[offsetX,setOffsetX]=useState(0);const[isTouchDevice,setIsTouchDevice]=useState(false);const[isScrollable,setIsScrollable]=useState(false);const offsetXRef=useRef(0);const isDragging=useRef(false);const wasDragging=useRef(false);const startX=useRef(0);const startOffsetX=useRef(0);const lastX=useRef(0);const velocity=useRef(0);const snapFrameRef=useRef(null);const momentumFrameRef=useRef(null);const targetOffsetRef=useRef(0);const sizesRef=useRef({container:0,content:0,leftGutter:0,lastRight:0});const cardsCentersRef=useRef([]);const currentIndexRef=useRef(0);const dragThreshold=5;const getMinOffset=()=>{const{container,leftGutter,lastRight}=sizesRef.current;if(container===0)return 0;if(lastRight<=container-leftGutter)return 0;return container-leftGutter-lastRight;};// Simplified: explicit selector, cached in ref\nconst getTrackElement=useCallback(()=>{if(trackRef.current)return trackRef.current;const container=containerRef.current;if(!container)return null;const track=container.querySelector('[data-framer-name=\"Track\"]');if(track){trackRef.current=track;return track;}// Fallback to heuristic\nconst children=Array.from(container.children);if(!children.length)return null;let found=null;let maxScrollWidth=-1;for(const child of children){const sw=child.scrollWidth;if(sw>maxScrollWidth){maxScrollWidth=sw;found=child;}}trackRef.current=found;return found;},[]);const measure=useCallback(()=>{const container=containerRef.current;if(!container)return;const track=getTrackElement();if(!track)return;const containerWidth=container.clientWidth;const children=Array.from(track.children);let leftGutter=0;let lastRight=0;if(children.length>0){const first=children[0];const last=children[children.length-1];leftGutter=first.offsetLeft;lastRight=last.offsetLeft+last.offsetWidth;}sizesRef.current={container:containerWidth,content:track.scrollWidth,leftGutter,lastRight};cardsCentersRef.current=children.map(child=>child.offsetLeft+child.offsetWidth/2);currentIndexRef.current=children.length>0?clamp(currentIndexRef.current,0,children.length-1):0;const minOffset=getMinOffset();setIsScrollable(minOffset<0);if(!isTouchDevice){setOffsetX(prev=>clamp(prev,minOffset,0));}},[getTrackElement,isTouchDevice]);const stopSnap=()=>{if(snapFrameRef.current!=null){cancelAnimationFrame(snapFrameRef.current);snapFrameRef.current=null;}};const stopMomentum=()=>{if(momentumFrameRef.current!=null){cancelAnimationFrame(momentumFrameRef.current);momentumFrameRef.current=null;}};const stepSnapAnimation=()=>{const current=offsetXRef.current;const target=targetOffsetRef.current;const diff=target-current;if(Math.abs(diff)<.5){snapFrameRef.current=null;setOffsetX(target);return;}setOffsetX(current+diff*.18);snapFrameRef.current=requestAnimationFrame(stepSnapAnimation);};const ensureSnapAnimationRunning=()=>{if(snapFrameRef.current==null){snapFrameRef.current=requestAnimationFrame(stepSnapAnimation);}};const startMomentum=()=>{const minOffset=getMinOffset();const step=()=>{if(Math.abs(velocity.current)<.1){momentumFrameRef.current=null;return;}setOffsetX(prev=>{const next=clamp(prev+velocity.current,minOffset,0);if(next===prev){velocity.current=0;return prev;}return next;});velocity.current*=.95;momentumFrameRef.current=requestAnimationFrame(step);};stopSnap();momentumFrameRef.current=requestAnimationFrame(step);};const ensureMeasuredIfNeeded=()=>{if(!cardsCentersRef.current.length)measure();};const snapToCardDesktop=useCallback(direction=>{ensureMeasuredIfNeeded();if(!isScrollable)return;const centers=cardsCentersRef.current;const count=centers.length;if(!count)return;const{container}=sizesRef.current;if(container<=0)return;const viewportCenter=container/2;let currentIndex=currentIndexRef.current;const animationIdle=snapFrameRef.current==null&&momentumFrameRef.current==null;if(animationIdle){const currentOffset=offsetXRef.current;let nearestIndex=0;let bestDist=Infinity;for(let i=0;i<count;i++){const dist=Math.abs(centers[i]+currentOffset-viewportCenter);if(dist<bestDist){bestDist=dist;nearestIndex=i;}}currentIndex=nearestIndex;}currentIndex=clamp(currentIndex+direction,0,count-1);currentIndexRef.current=currentIndex;const minOffset=getMinOffset();let targetOffset=clamp(viewportCenter-centers[currentIndex],minOffset,0);stopMomentum();velocity.current=0;targetOffsetRef.current=targetOffset;ensureSnapAnimationRunning();},[isScrollable]);const snapToCardMobile=useCallback(direction=>{ensureMeasuredIfNeeded();if(!isScrollable)return;const container=containerRef.current;const track=getTrackElement();if(!container||!track)return;const children=Array.from(track.children);if(!children.length)return;const containerWidth=container.clientWidth||window.innerWidth;const viewportCenter=container.scrollLeft+containerWidth/2;let nearestIndex=0;let bestDist=Infinity;for(let i=0;i<children.length;i++){const center=children[i].offsetLeft+children[i].offsetWidth/2;const dist=Math.abs(center-viewportCenter);if(dist<bestDist){bestDist=dist;nearestIndex=i;}}const targetIndex=clamp(nearestIndex+direction,0,children.length-1);const targetChild=children[targetIndex];const targetCenter=targetChild.offsetLeft+targetChild.offsetWidth/2;const maxScroll=Math.max(0,container.scrollWidth-containerWidth);const targetScrollLeft=clamp(targetCenter-containerWidth/2,0,maxScroll);container.scrollTo({left:targetScrollLeft,behavior:\"smooth\"});},[isScrollable,getTrackElement]);const snapToCard=useCallback(direction=>{if(!isScrollable)return;isTouchDevice?snapToCardMobile(direction):snapToCardDesktop(direction);},[isScrollable,isTouchDevice,snapToCardMobile,snapToCardDesktop]);// Detect touch device once on mount\nuseEffect(()=>{if(typeof window===\"undefined\")return;const hasTouchEvent=\"ontouchstart\"in window;const hasMaxTouch=navigator.maxTouchPoints>0;const mq=window.matchMedia?.(\"(pointer: coarse)\").matches;setIsTouchDevice(hasTouchEvent||hasMaxTouch||mq);},[]);// Sync offsetX to ref and apply transform\nuseEffect(()=>{const track=getTrackElement();if(!track)return;offsetXRef.current=offsetX;if(isTouchDevice){track.style.transform=\"\";track.style.willChange=\"\";}else{track.style.transform=`translate3d(${offsetX}px, 0, 0)`;track.style.willChange=\"transform\";}},[offsetX,isTouchDevice,getTrackElement]);// Consolidated observer setup\nuseEffect(()=>{if(typeof window===\"undefined\")return;let resizeObserver=null;let mutationObserver=null;const setupObservers=()=>{const container=containerRef.current;if(!container)return;// Clear cached track ref on setup\ntrackRef.current=null;const track=getTrackElement();if(!track)return;measure();resizeObserver=new ResizeObserver(measure);resizeObserver.observe(container);resizeObserver.observe(track);// Single mutation observer for all DOM changes\nmutationObserver=new MutationObserver(()=>{// Invalidate track cache on DOM changes\ntrackRef.current=null;measure();// Re-apply draggable=false to new images/links (desktop only)\nif(!isTouchDevice){container.querySelectorAll(\"img, a\").forEach(el=>{el.setAttribute(\"draggable\",\"false\");});}});mutationObserver.observe(container,{childList:true,subtree:true});// Initial draggable setup\nif(!isTouchDevice){container.querySelectorAll(\"img, a\").forEach(el=>{el.setAttribute(\"draggable\",\"false\");});}};const rafId=requestAnimationFrame(setupObservers);return()=>{cancelAnimationFrame(rafId);resizeObserver?.disconnect();mutationObserver?.disconnect();};},[isTouchDevice,measure,getTrackElement]);// Cleanup animation frames on unmount\nuseEffect(()=>{return()=>{stopSnap();stopMomentum();};},[]);// Apply styles to track children based on device type\nuseEffect(()=>{const track=getTrackElement();if(!track)return;const children=Array.from(track.children);if(isTouchDevice&&isScrollable){children.forEach(child=>{child.style.scrollSnapAlign=\"center\";});}else if(!isTouchDevice){children.forEach(child=>{child.style.cursor=\"pointer\";});}return()=>{children.forEach(child=>{child.style.scrollSnapAlign=\"\";child.style.cursor=\"\";});};},[isTouchDevice,isScrollable,getTrackElement]);// Pointer handlers\nconst onPointerDown=event=>{if(isTouchDevice||!isScrollable||!containerRef.current)return;ensureMeasuredIfNeeded();isDragging.current=true;wasDragging.current=false;startX.current=event.clientX;lastX.current=event.clientX;startOffsetX.current=offsetXRef.current;velocity.current=0;stopSnap();stopMomentum();};const onPointerMove=event=>{if(isTouchDevice||!isDragging.current||!isScrollable)return;const x=event.clientX;const deltaFromStart=x-startX.current;if(!wasDragging.current&&Math.abs(deltaFromStart)>dragThreshold){wasDragging.current=true;}const minOffset=getMinOffset();const nextOffset=clamp(startOffsetX.current+deltaFromStart,minOffset,0);velocity.current=x-lastX.current;lastX.current=x;setOffsetX(nextOffset);};const onPointerUp=()=>{if(isTouchDevice||!isDragging.current)return;isDragging.current=false;if(!wasDragging.current||!isScrollable){velocity.current=0;return;}startMomentum();};// Wheel handler\nuseEffect(()=>{if(isTouchDevice||!isScrollable)return;const container=containerRef.current;if(!container||typeof window===\"undefined\")return;const handleWheel=event=>{const absX=Math.abs(event.deltaX);const absY=Math.abs(event.deltaY);if(absX===0||absX<=absY*1.1)return;event.preventDefault();stopSnap();stopMomentum();const minOffset=getMinOffset();setOffsetX(prev=>clamp(prev-event.deltaX,minOffset,0));};container.addEventListener(\"wheel\",handleWheel,{passive:false});return()=>container.removeEventListener(\"wheel\",handleWheel);},[isTouchDevice,isScrollable]);// Navigation buttons - removed offsetX from dependencies\nuseEffect(()=>{if(typeof document===\"undefined\")return;const container=containerRef.current;if(!container)return;const root=container.parentElement||container;const prevBtn=root.querySelector('[data-framer-name=\"Backward\"]');const nextBtn=root.querySelector('[data-framer-name=\"Forward\"]');if(!prevBtn&&!nextBtn)return;const handlePrev=()=>snapToCard(-1);const handleNext=()=>snapToCard(1);prevBtn?.addEventListener(\"click\",handlePrev);nextBtn?.addEventListener(\"click\",handleNext);return()=>{prevBtn?.removeEventListener(\"click\",handlePrev);nextBtn?.removeEventListener(\"click\",handleNext);};},[isTouchDevice,isScrollable,snapToCard]);// Memoized styles\nconst touchStyle=useMemo(()=>({overflowX:isScrollable?\"auto\":\"hidden\",overflowY:\"visible\",WebkitOverflowScrolling:isScrollable?\"touch\":\"auto\",position:\"relative\",cursor:\"auto\",scrollbarWidth:\"none\",msOverflowStyle:\"none\",scrollSnapType:isScrollable?\"x mandatory\":\"none\"}),[isScrollable]);const desktopStyle=useMemo(()=>({overflow:\"visible\",position:\"relative\",userSelect:\"none\",cursor:isScrollable?isDragging.current?\"grabbing\":\"grab\":\"auto\",touchAction:isScrollable?\"none\":\"auto\"}),[isScrollable]);return{ref:containerRef,onPointerDown:event=>{onPointerDown(event);if(!isTouchDevice&&isScrollable&&event.target?.setPointerCapture){event.target.setPointerCapture(event.pointerId);}},onPointerMove,onPointerUp:event=>{onPointerUp();if(!isTouchDevice&&isScrollable&&event.target?.releasePointerCapture){event.target.releasePointerCapture(event.pointerId);}},onPointerLeave:onPointerUp,onClickCapture:event=>{if(wasDragging.current){event.stopPropagation();event.preventDefault();}},style:isTouchDevice?touchStyle:desktopStyle};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withDragScrollWithOverflowVisible(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...DragScrollWithOverflowVisible(props)});};}withDragScrollWithOverflowVisible.displayName=\"DragScrollWithOverflowVisible\";\nexport const __FramerMetadata__ = {\"exports\":{\"DragScrollWithOverflowVisible\":{\"type\":\"override\",\"name\":\"DragScrollWithOverflowVisible\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDragScrollWithOverflowVisible\":{\"type\":\"reactHoc\",\"name\":\"withDragScrollWithOverflowVisible\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollGrab.map"],"mappings":"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"}