{"version":3,"file":"PassosVita.C6F9nTQt.mjs","names":[],"sources":["https:/framerusercontent.com/modules/CJepMri4VW8bY6Z7bSH7/58t6Pmoqb6vgJVe12iDr/PassosVita.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const ENTRA=\"cubic-bezier(0.2, 0.65, 0.3, 1)\";const T_ENTRA=1100;const ESCALA=200// atraso entre as peças que surgem (ms)\n;/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function PassosVita({secoes=\"abertura, pilares, escopo-1, escopo-2, escopo-3, escopo-4, equipe\"}){useEffect(()=>{if(RenderTarget.current()===RenderTarget.canvas)return;let forcado=false;try{forcado=localStorage.getItem(\"vita-toque\")===\"1\";}catch(e){}if(window.innerWidth<810||window.matchMedia(\"(hover: none)\").matches||forcado)return;const ids=secoes.split(\",\").map(s=>s.trim()).filter(Boolean);const html=document.documentElement;const els=()=>ids.map(id=>document.getElementById(id)).filter(Boolean);const topo=el=>Math.round(el.getBoundingClientRect().top+window.scrollY);// peças que surgem uma após a outra (se a seção tem um único bloco, surgem as peças dele)\nconst pecas=el=>{let k=Array.from(el.children);while(k.length===1&&k[0].children.length>1)k=Array.from(k[0].children);return k;};const visivel=new Set;const esconder=el=>{visivel.delete(el);pecas(el).forEach(p=>{p.style.transition=\"none\";p.style.opacity=\"0\";});};let travado=false;let liberarEm=0// logo após liberar, um instante curto em que o resto do giro ainda é ignorado\n;const bloquear=e=>{if(travado||performance.now()<liberarEm){e.preventDefault();e.stopImmediatePropagation();}};const teclas=e=>{if(travado&&[\" \",\"PageDown\",\"ArrowDown\",\"PageUp\",\"ArrowUp\",\"End\",\"Home\"].includes(e.key))e.preventDefault();};const revelar=el=>{travado=true;html.dataset.vitaPassando=\"1\";const lenis=window.__lenis;lenis?.stop?.();// encaixa a seção exatamente na tela (ela ainda está invisível) e a segura ali, quadro a quadro,\n// até o fim — nenhum resto de rolagem suave consegue deslocá-la\nconst y=topo(el);const encaixar=()=>{if(Math.abs(window.scrollY-y)>.5){if(lenis?.scrollTo)lenis.scrollTo(y,{immediate:true,force:true});window.scrollTo(0,y);}};encaixar();let guarda=0;const segurar=()=>{if(!travado)return;encaixar();guarda=requestAnimationFrame(segurar);};guarda=requestAnimationFrame(segurar);const ps=pecas(el);let foi=false;const mostrar=()=>{if(foi)return;foi=true;ps.forEach((p,i)=>{p.style.transition=`opacity ${T_ENTRA}ms ${ENTRA} ${i*ESCALA}ms`;p.style.opacity=\"1\";});};requestAnimationFrame(mostrar);setTimeout(mostrar,80);visivel.add(el);setTimeout(()=>{encaixar();travado=false;liberarEm=performance.now()+150;cancelAnimationFrame(guarda);delete html.dataset.vitaPassando;lenis?.start?.();},T_ENTRA+ps.length*ESCALA+50);};// estado inicial: a primeira seção (e as que já estiverem acima) visíveis; as demais invisíveis\nconst iniciar=()=>{const lista=els();const y=window.scrollY;lista.forEach((el,i)=>{if(i===0||topo(el)<=y+2)visivel.add(el);else esconder(el);});};let raf=0;const verificar=()=>{if(travado)return;const lista=els();const vh=window.innerHeight;for(let i=1;i<lista.length;i++){const el=lista[i];const r=el.getBoundingClientRect();if(!visivel.has(el)){// rolagem rápida demais passou por cima da seção inteira: só a mostra\nif(r.bottom<=0){visivel.add(el);pecas(el).forEach(p=>{p.style.transition=\"none\";p.style.opacity=\"1\";});continue;}// a tela ficou toda osso: o conteúdo da seção anterior já saiu inteiro pelo topo\nconst fimAnterior=Math.max(...pecas(lista[i-1]).map(p=>p.getBoundingClientRect().bottom));if(fimAnterior<=1&&r.top<vh)return revelar(el);}// subiu de volta e a seção saiu inteira pela base: volta a ficar invisível\nif(visivel.has(el)&&r.top>=vh)esconder(el);}};const ag=()=>{cancelAnimationFrame(raf);raf=requestAnimationFrame(verificar);};const t0=setTimeout(()=>{iniciar();verificar();},60);window.addEventListener(\"scroll\",ag,{passive:true});window.addEventListener(\"wheel\",bloquear,{passive:false,capture:true});window.addEventListener(\"touchmove\",bloquear,{passive:false,capture:true});window.addEventListener(\"keydown\",teclas);return()=>{clearTimeout(t0);cancelAnimationFrame(raf);window.removeEventListener(\"scroll\",ag);window.removeEventListener(\"wheel\",bloquear,{capture:true});window.removeEventListener(\"touchmove\",bloquear,{capture:true});window.removeEventListener(\"keydown\",teclas);els().forEach(el=>pecas(el).forEach(p=>{p.style.transition=\"\";p.style.opacity=\"\";}));delete html.dataset.vitaPassando;};},[secoes]);return /*#__PURE__*/_jsx(\"div\",{style:{width:1,height:1}});}addPropertyControls(PassosVita,{secoes:{type:ControlType.String,title:\"Se\\xe7\\xf5es (ids)\",defaultValue:\"abertura, pilares, escopo-1, escopo-2, escopo-3, escopo-4, equipe\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PassosVita\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PassosVita.map"],"mappings":"+LAIG,SAAwB,EAAW,CAAC,SAAO,qEAAqE,CAQ0rB,OARzrB,MAAc,CAAC,GAAG,EAAa,QAAQ,IAAI,EAAa,OAAO,OAAO,IAAI,EAAQ,GAAM,GAAG,CAAC,EAAQ,aAAa,QAAQ,YAAY,IAAI,GAAI,MAAS,CAAC,CAAC,GAAG,EAAO,WAAW,KAAK,EAAO,WAAW,eAAe,CAAC,CAAC,SAAS,EAAQ,OAAO,IAAM,EAAI,EAAO,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,EAAQ,EAAK,SAAS,gBAAsB,MAAQ,EAAI,IAAI,GAAI,SAAS,eAAe,CAAE,CAAC,CAAC,CAAC,OAAO,OAAO,EAAQ,EAAK,GAAI,KAAK,MAAM,EAAG,sBAAsB,CAAC,CAAC,IAAI,EAAO,OAAO,EAC1kB,EAAM,GAAI,CAAC,IAAI,EAAE,MAAM,KAAK,EAAG,QAAQ,EAAE,KAAM,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,OAAO,GAAE,EAAE,MAAM,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAE,EAAQ,EAAQ,IAAI,IAAU,EAAS,GAAI,CAAC,EAAQ,OAAO,CAAE,EAAE,EAAM,CAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,WAAW,OAAO,EAAE,MAAM,QAAQ,GAAI,CAAC,CAAE,EAAM,EAAQ,GAAU,EAAU,EAChS,EAAS,GAAG,EAAI,GAAS,YAAY,IAAI,EAAE,KAAW,EAAE,eAAe,EAAE,EAAE,yBAAyB,EAAG,EAAQ,EAAO,GAAG,CAAI,GAAS,CAAC,IAAI,WAAW,YAAY,SAAS,UAAU,MAAM,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,GAAE,EAAE,eAAe,CAAE,EAAQ,EAAQ,GAAI,CAAC,EAAQ,GAAK,EAAK,QAAQ,aAAa,IAAI,IAAM,EAAM,EAAO,QAAQ,GAAO,OAAO,EAEtV,IAAM,EAAE,EAAK,CAAE,EAAQ,MAAa,CAAI,KAAK,IAAI,EAAO,QAAQ,CAAC,EAAE,KAAO,GAAO,UAAS,EAAM,SAAS,EAAE,CAAC,UAAU,GAAK,MAAM,EAAI,CAAC,EAAE,EAAO,SAAS,EAAE,CAAC,EAAG,EAAE,EAAS,EAAE,IAAI,EAAO,EAAQ,MAAY,CAAK,IAAe,EAAS,EAAE,EAAO,sBAAsB,CAAO,EAAE,EAAE,EAAO,sBAAsB,CAAO,EAAE,IAAM,EAAG,EAAM,CAAE,EAAM,EAAI,GAAY,MAAY,CAAI,IAAW,EAAI,GAAK,EAAG,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,WAAW,WAAW,EAAQ,KAAK,EAAM,GAAG,EAAE,EAAO,IAAI,EAAE,MAAM,QAAQ,GAAI,CAAC,EAAE,EAAE,sBAAsB,CAAO,EAAE,WAAW,EAAQ,EAAE,EAAE,EAAQ,IAAI,CAAE,EAAE,eAAe,CAAC,EAAS,EAAE,EAAQ,GAAM,EAAU,YAAY,IAAI,EAAE,IAAI,qBAAqB,CAAM,EAAE,OAAO,EAAK,QAAQ,aAAa,GAAO,QAAQ,CAAE,EAAE,EAAQ,EAAG,OAAO,EAAO,EAAE,CAAE,EACtuB,MAAY,CAAC,IAAM,EAAM,EAAI,EAAQ,EAAE,EAAO,QAAQ,EAAM,SAAS,EAAG,IAAI,CAAI,IAAI,GAAG,EAAK,CAAE,GAAG,EAAE,EAAE,EAAQ,IAAI,CAAE,EAAO,EAAS,CAAE,CAAE,CAAC,CAAE,EAAM,EAAI,EAAQ,MAAc,CAAC,GAAG,EAAQ,OAAO,IAAM,EAAM,EAAI,EAAQ,EAAG,EAAO,YAAY,IAAI,IAAI,EAAE,EAAE,EAAE,EAAM,OAAO,IAAI,CAAC,IAAM,EAAG,EAAM,GAAS,EAAE,EAAG,sBAAsB,EAAE,GAAG,CAAC,EAAQ,IAAI,CAAE,EAAE,CAC1V,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAQ,IAAI,CAAE,EAAE,EAAM,CAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,WAAW,OAAO,EAAE,MAAM,QAAQ,GAAI,CAAC,EAAE,QAAS,CACtB,GAAxE,KAAK,IAAI,GAAG,EAAM,EAAM,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,sBAAsB,CAAC,CAAC,MAAM,CAAgB,GAAG,GAAG,EAAE,IAAI,EAAG,OAAO,EAAQ,CAAE,CAAE,CACtI,EAAQ,IAAI,CAAE,GAAG,EAAE,KAAK,GAAG,EAAS,CAAE,CAAE,CAAC,EAAQ,MAAO,CAAC,qBAAqB,CAAG,EAAE,EAAI,sBAAsB,CAAS,CAAE,EAAQ,EAAG,eAAe,CAAC,EAAQ,EAAE,EAAU,CAAE,EAAE,EAAE,EAAkP,OAAhP,EAAO,iBAAiB,SAAS,EAAG,CAAC,QAAQ,EAAI,CAAC,EAAE,EAAO,iBAAiB,QAAQ,EAAS,CAAC,QAAQ,GAAM,QAAQ,EAAI,CAAC,EAAE,EAAO,iBAAiB,YAAY,EAAS,CAAC,QAAQ,GAAM,QAAQ,EAAI,CAAC,EAAE,EAAO,iBAAiB,UAAU,CAAM,MAAY,CAAC,aAAa,CAAE,EAAE,qBAAqB,CAAG,EAAE,EAAO,oBAAoB,SAAS,CAAE,EAAE,EAAO,oBAAoB,QAAQ,EAAS,CAAC,QAAQ,EAAI,CAAC,EAAE,EAAO,oBAAoB,YAAY,EAAS,CAAC,QAAQ,EAAI,CAAC,EAAE,EAAO,oBAAoB,UAAU,CAAM,EAAE,EAAI,CAAC,CAAC,QAAQ,GAAI,EAAM,CAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,WAAW,GAAG,EAAE,MAAM,QAAQ,EAAG,CAAC,CAAC,EAAE,OAAO,EAAK,QAAQ,YAAa,CAAE,EAAE,CAAC,CAAM,CAAC,EAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAE,2BAZ9zB,IAA6B,IAAiE,EAAO,EAAM,kCAAwC,EAAQ,KAAW,EAAO,IAYkpB,EAAoB,EAAW,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,eAAqB,aAAa,mEAAmE,CAAC,CAAC"}