{"version":3,"file":"ProjectCarouselControls.B9bJmTFt.mjs","names":["React.useRef"],"sources":["https:/framerusercontent.com/modules/50lSeuzLSes8TUsAXsSG/4DhecKrSNFV7ScW400Us/ProjectCarouselControls.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function CarouselArrows(props){const{targetName=\"projetos-carousel\",autoInterval=3e3,openWidth=500,closedWidth=300,color=\"#111111\",background=\"#FFFFFF\"}=props;const moveRef=React.useRef(()=>{});React.useEffect(()=>{let cleanup=()=>{};let attempts=0;const connect=()=>{const viewport=document.getElementById(targetName);const track=viewport?.firstElementChild;const getCards=()=>track?Array.from(track.querySelectorAll('[data-framer-name=\"Projeto expans\\xedvel\"]')).filter(card=>!card.dataset.carouselClone):[];const originals=getCards();if((!viewport||!track||originals.length<2)&&attempts++<30){window.setTimeout(connect,250);return;}if(!viewport||!track||originals.length<2)return;viewport.style.overflow=\"hidden\";viewport.style.touchAction=\"pan-y pinch-zoom\";track.style.willChange=\"transform\";track.style.touchAction=\"pan-y pinch-zoom\";const before=originals.map(card=>{const clone=card.cloneNode(true);clone.dataset.carouselClone=\"true\";return clone;});const after=originals.map(card=>{const clone=card.cloneNode(true);clone.dataset.carouselClone=\"true\";return clone;});before.reverse().forEach(card=>track.insertBefore(card,track.firstChild));after.forEach(card=>track.appendChild(card));const cards=Array.from(track.querySelectorAll('[data-framer-name=\"Projeto expans\\xedvel\"]'));const count=originals.length;let index=count;let translate=0;let pressing=false;let dragging=false;let startX=0;let startTranslate=0;let moved=false;let paused=false;let resetTimer=0;let hoverEnabled=false;let hoveredCard=null;const setClosed=card=>{card.style.flex=`0 0 ${closedWidth}px`;card.style.width=`${closedWidth}px`;card.style.minWidth=`${closedWidth}px`;card.style.zIndex=\"1\";card.style.transition=\"width 500ms cubic-bezier(0.22,1,0.36,1), flex-basis 500ms cubic-bezier(0.22,1,0.36,1)\";};cards.forEach(setClosed);const collapseAll=()=>{cards.forEach(setClosed);hoveredCard=null;paused=false;};const isMobileViewport=()=>window.matchMedia(\"(max-width: 799.98px)\").matches;const positionFor=targetIndex=>{const card=cards[targetIndex];if(!card)return 0;const base=card.offsetLeft;if(!isMobileViewport())return-base;const inset=Math.max(0,(viewport.clientWidth-card.offsetWidth)/2);return-(base-inset);};const render=animated=>{track.style.transition=animated?\"transform 650ms cubic-bezier(0.22,1,0.36,1)\":\"none\";translate=positionFor(index);track.style.transform=`translate3d(${translate}px,0,0)`;};const expandCard=card=>{if(isMobileViewport()||openWidth===closedWidth||!hoverEnabled||dragging||hoveredCard===card)return;collapseAll();hoveredCard=card;paused=true;card.style.flexBasis=`${openWidth}px`;card.style.width=`${openWidth}px`;card.style.zIndex=\"3\";};const normalize=()=>{if(index>=count*2)index-=count;if(index<count)index+=count;render(false);};const move=direction=>{if(dragging)return;hoverEnabled=false;collapseAll();index+=direction>0?1:-1;render(true);window.clearTimeout(resetTimer);resetTimer=window.setTimeout(normalize,680);};render(false);moveRef.current=move;const suppressClick=event=>{if(moved||dragging){event.preventDefault();event.stopPropagation();}};const suppressDragStart=event=>{event.preventDefault();};const handleMouseMove=event=>{if(dragging)return;hoverEnabled=true;const target=event.target instanceof Element?event.target.closest('[data-framer-name=\"Projeto expans\\xedvel\"]'):null;if(target&&cards.includes(target))expandCard(target);else if(hoveredCard)collapseAll();};const handleMouseLeave=()=>{hoverEnabled=false;collapseAll();window.setTimeout(()=>render(false),510);};const pointerDown=event=>{pressing=true;moved=false;startX=event.clientX;startTranslate=translate;};const pointerMove=event=>{if(!pressing)return;const delta=event.clientX-startX;if(!moved&&Math.abs(delta)>6){moved=true;dragging=true;hoverEnabled=false;collapseAll();paused=true;track.style.transition=\"none\";viewport.setPointerCapture?.(event.pointerId);}if(!moved)return;translate=startTranslate+delta;track.style.transform=`translate3d(${translate}px,0,0)`;};const pointerUp=event=>{if(!pressing)return;pressing=false;if(!moved)return;const delta=event.clientX-startX;dragging=false;paused=false;if(Math.abs(delta)>60)move(delta<0?1:-1);else render(true);window.setTimeout(()=>{moved=false;},150);viewport.releasePointerCapture?.(event.pointerId);};viewport.addEventListener(\"click\",suppressClick,true);viewport.addEventListener(\"dragstart\",suppressDragStart);viewport.addEventListener(\"mousemove\",handleMouseMove);viewport.addEventListener(\"mouseleave\",handleMouseLeave);viewport.addEventListener(\"pointerdown\",pointerDown);viewport.addEventListener(\"pointermove\",pointerMove);viewport.addEventListener(\"pointerup\",pointerUp);viewport.addEventListener(\"pointercancel\",pointerUp);window.addEventListener(\"resize\",normalize);const timer=window.setInterval(()=>{if(!paused&&!window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches)move(1);},Math.max(1200,autoInterval));cleanup=()=>{window.clearInterval(timer);window.clearTimeout(resetTimer);viewport.removeEventListener(\"click\",suppressClick,true);viewport.removeEventListener(\"dragstart\",suppressDragStart);viewport.removeEventListener(\"mousemove\",handleMouseMove);viewport.removeEventListener(\"mouseleave\",handleMouseLeave);viewport.removeEventListener(\"pointerdown\",pointerDown);viewport.removeEventListener(\"pointermove\",pointerMove);viewport.removeEventListener(\"pointerup\",pointerUp);viewport.removeEventListener(\"pointercancel\",pointerUp);window.removeEventListener(\"resize\",normalize);before.forEach(card=>card.remove());after.forEach(card=>card.remove());track.style.transform=\"\";track.style.transition=\"\";moveRef.current=()=>{};};};connect();return()=>cleanup();},[autoInterval,closedWidth,openWidth,targetName]);const buttonStyle={width:48,height:48,borderRadius:999,border:\"1px solid rgba(0,0,0,0.12)\",background,color,display:\"grid\",placeItems:\"center\",cursor:\"pointer\",padding:0,fontSize:24,lineHeight:1};return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",width:\"100%\",height:\"100%\",padding:\"0 18px\",boxSizing:\"border-box\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Projeto anterior\",style:{...buttonStyle,pointerEvents:\"auto\"},onPointerDown:event=>event.stopPropagation(),onClick:event=>{event.stopPropagation();moveRef.current(-1);},children:\"←\"}),/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Pr\\xf3ximo projeto\",style:{...buttonStyle,pointerEvents:\"auto\"},onPointerDown:event=>event.stopPropagation(),onClick:event=>{event.stopPropagation();moveRef.current(1);},children:\"→\"})]});}addPropertyControls(CarouselArrows,{targetName:{type:ControlType.String,title:\"Alvo\",defaultValue:\"projetos-carousel\"},autoInterval:{type:ControlType.Number,title:\"Intervalo\",defaultValue:3e3,min:1200,max:1e4,step:100,unit:\"ms\"},openWidth:{type:ControlType.Number,title:\"Aberto\",defaultValue:500,min:320,max:900,step:10,unit:\"px\"},closedWidth:{type:ControlType.Number,title:\"Fechado\",defaultValue:300,min:160,max:420,step:10,unit:\"px\"},color:{type:ControlType.Color,title:\"Seta\",defaultValue:\"#111111\"},background:{type:ControlType.Color,title:\"Fundo\",defaultValue:\"#FFFFFF\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CarouselArrows\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectCarouselControls.map"],"mappings":"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"}