{"version":3,"file":"UncodeDragSection.BficDYo3.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/cn5inV8jcMAJVswZEEZe/Gjz3durfPYMuPEtRWL85/UncodeDragSection.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";export function UncodeDragSection(WrappedComponent){return props=>{const wrapperRef=useRef(null);const dragRef=useRef({isScrolling:false,startX:0,scrollLeft:0,velocity:0,lastX:0,lastTime:0});const rafRef=useRef();useEffect(()=>{const wrapper=wrapperRef.current;if(!wrapper)return;const uniqueClassName=\"uncode-drag-wrapper\";wrapper.classList.add(uniqueClassName);const styleElement=document.createElement(\"style\");styleElement.innerHTML=`\n                .${uniqueClassName} {\n                    display: flex !important;\n                    flex-direction: row !important;\n                    align-items: flex-start !important;\n                    width: 100% !important;\n                    height: auto !important;\n                    overflow-x: scroll !important;\n                    overflow-y: hidden !important;\n                    scroll-behavior: auto !important;\n                    white-space: nowrap !important;\n                    -webkit-overflow-scrolling: touch !important;\n                    pointer-events: auto !important;\n                    cursor: grab !important;\n                    user-select: none !important;\n                    touch-action: pan-x !important;\n                    \n                    scrollbar-width: none !important;\n                }\n\n                .${uniqueClassName}::-webkit-scrollbar {\n                    display: none !important;\n                }\n\n                .${uniqueClassName}:active {\n                    cursor: grabbing !important;\n                }\n\n                .${uniqueClassName} > * {\n                    flex-shrink: 0 !important;\n                }\n            `;document.head.appendChild(styleElement);const applyMomentum=()=>{if(!dragRef.current.isScrolling&&Math.abs(dragRef.current.velocity)>.5// Aumentado o threshold para menos inércia\n){dragRef.current.velocity*=.8// Reduzido para diminuir o tempo de deslizamento\n;wrapper.scrollLeft-=dragRef.current.velocity;rafRef.current=requestAnimationFrame(applyMomentum);}};const handleStart=clientX=>{dragRef.current.isScrolling=true;dragRef.current.startX=clientX;dragRef.current.scrollLeft=wrapper.scrollLeft;dragRef.current.lastX=clientX;dragRef.current.lastTime=Date.now();dragRef.current.velocity=0;if(rafRef.current){cancelAnimationFrame(rafRef.current);}wrapper.style.cursor=\"grabbing\";};const handleEnd=()=>{if(dragRef.current.isScrolling){dragRef.current.isScrolling=false;wrapper.style.cursor=\"grab\";rafRef.current=requestAnimationFrame(applyMomentum);}};const handleMove=clientX=>{if(!dragRef.current.isScrolling)return;const currentTime=Date.now();const dt=currentTime-dragRef.current.lastTime;const dx=clientX-dragRef.current.lastX;if(dt>0){dragRef.current.velocity=dx*.2// Reduzido para menor inércia\n;}// Atualizar posição com menos multiplicador para movimento mais direto\nconst walk=(dragRef.current.startX-clientX)*1;wrapper.scrollLeft=dragRef.current.scrollLeft+walk;dragRef.current.lastX=clientX;dragRef.current.lastTime=currentTime;};const handleMouseDown=e=>{e.preventDefault();handleStart(e.clientX);};const handleMouseMove=e=>{if(dragRef.current.isScrolling){e.preventDefault();handleMove(e.clientX);}};const handleTouchStart=e=>{e.preventDefault();const touch=e.touches[0];handleStart(touch.clientX);};const handleTouchMove=e=>{if(dragRef.current.isScrolling){e.preventDefault();const touch=e.touches[0];handleMove(touch.clientX);}};const handleLeave=()=>{if(dragRef.current.isScrolling){handleEnd();}};wrapper.addEventListener(\"mousedown\",handleMouseDown,{passive:false});window.addEventListener(\"mousemove\",handleMouseMove,{passive:false});window.addEventListener(\"mouseup\",handleEnd);wrapper.addEventListener(\"mouseleave\",handleLeave);wrapper.addEventListener(\"touchstart\",handleTouchStart,{passive:false});window.addEventListener(\"touchmove\",handleTouchMove,{passive:false});window.addEventListener(\"touchend\",handleEnd);wrapper.addEventListener(\"touchcancel\",handleEnd);return()=>{if(rafRef.current){cancelAnimationFrame(rafRef.current);}document.head.removeChild(styleElement);wrapper.classList.remove(uniqueClassName);wrapper.removeEventListener(\"mousedown\",handleMouseDown);window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"mouseup\",handleEnd);wrapper.removeEventListener(\"mouseleave\",handleLeave);wrapper.removeEventListener(\"touchstart\",handleTouchStart);window.removeEventListener(\"touchmove\",handleTouchMove);window.removeEventListener(\"touchend\",handleEnd);wrapper.removeEventListener(\"touchcancel\",handleEnd);};},[]);return /*#__PURE__*/_jsx(WrappedComponent,{...props,ref:wrapperRef,children:props.children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"UncodeDragSection\":{\"type\":\"reactHoc\",\"name\":\"UncodeDragSection\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UncodeDragSection.map"],"mappings":"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"}