1const d=document.getElementById("boussole");if(d){let y=function(){let i,e,t,s;if(window.innerWidth>=1024?(i=d.querySelector(".boussole__svg--pc"),e=document.getElementById("aiguille--pc"),t=720,s=451):(i=d.querySelector(".boussole__svg--mobile"),e=document.getElementById("aiguille--mobile"),t=186.356,s=290.438),i&&e){let l=function(r,a){const n=r-t,c=a-s;let m=Math.atan2(c,n)*180/Math.PI;m-=75,e.style.transformOrigin=`${t}px ${s}px`,e.style.transform=`rotate(${m}deg)`};var o=l;e.style.transform="",e.style.transformOrigin="",i.mouseListener&&i.removeEventListener("mousemove",i.mouseListener),i.mouseListener=function(r){const a=i.getBoundingClientRect();let n,c;if(i.viewBox&&i.viewBox.baseVal)n=i.viewBox.baseVal.width,c=i.viewBox.baseVal.height;else{const v=i.getAttribute("viewBox");if(v){const _=v.split(" ");n=parseFloat(_[2]),c=parseFloat(_[3])}else n=a.width,c=a.height}const p=(r.clientX-a.left)/a.width*n,m=(r.clientY-a.top)/a.height*c;l(p,m)},i.addEventListener("mousemove",i.mouseListener)}else console.warn("â SVG ou aiguille non trouvé(e)")},g=function(){if(u)return;const i=window.innerWidth>=1024?d.querySelector(".boussole__svg--pc"):d.querySelector(".boussole__svg--mobile");if(i){gsap.fromTo(i,{scale:0,rotation:-360,opacity:0},{scale:1,rotation:0,opacity:1,duration:1.5,ease:"power3.out"});const e=i.querySelectorAll('[class*="petalle__"]');gsap.fromTo(e,{scale:0,rotation:180,transformOrigin:"center"},{scale:1,rotation:0,duration:.8,ease:"back.out(1.7)",stagger:{amount:1.2,from:"random"},delay:.5});const t=window.innerWidth>=1024?document.getElementById("aiguille--pc"):document.getElementById("aiguille--mobile");t&&gsap.fromTo(t,{scale:0,rotation:-180,svgOrigin:"720 451"},{scale:1,rotation:0,duration:1.2,ease:"back.out(1.7)",delay:1,svgOrigin:"720 451"}),u=!0}},h=function(){y(),g()},f=function(){y()};var A=y,b=g,S=h,T=f;gsap.registerPlugin(ScrollTrigger),gsap.config({nullTargetWarn:!1});let u=!1;gsap.timeline({paused:!0});class w{constructor(){this.activeTimeline=null,this.isAnimating=!1,this.init()}init(){this.bindEvents(),this.initializePetales()}initializePetales(){const e=document.querySelectorAll('[class*="petalle__"]'),t=new Set;e.forEach(s=>{const o=this.extractPetaleType(s);o&&t.add(o)})}bindEvents(){document.addEventListener("click",e=>{const t=e.target.closest('[class*="petalle__"]');t&&this.handlePetaleClick(t)}),document.addEventListener("click",e=>{e.target.closest(".picto__home")&&this.resetAll()}),document.addEventListener("click",e=>{const t=e.target.closest(".card__destination-title");t&&this.handleDestinationClick(t)})}handlePetaleClick(e){if(this.isAnimating)return;const t=this.extractPetaleType(e);t&&(this.isAnimating=!0,gsap.to(e,{scale:.9,duration:.1,yoyo:!0,repeat:1,ease:"power2.inOut"}),this.closeAllCards(()=>{this.hideBoussole(()=>{this.openCard(t),this.activatePetalesByType(t),setTimeout(()=>{this.isAnimating=!1},1200)})}))}activatePetalesByType(e){document.querySelectorAll('[class*="petalle__"]').forEach(o=>{o.classList.remove("petalle--active")}),document.querySelectorAll(`.petalle__${e}`).forEach((o,l)=>{o.classList.add("petalle--active"),gsap.fromTo(o,{scale:1},{scale:1.1,duration:.3,yoyo:!0,repeat:1,ease:"power2.inOut",delay:l*.1})})}handleDestinationClick(e){const t=e.closest(".card__destination");if(!t)return;const s=t.closest(".card__destinations");if(!s)return;const o=s.querySelectorAll(".card__destination");if(t.classList.contains("active")){const r=t.querySelector(".card__destination-content");r&&gsap.to(r,{opacity:0,y:-20,scale:.9,duration:.4,ease:"power2.inOut",onComplete:()=>{o.forEach(a=>{a.classList.remove("active","hidden")}),gsap.fromTo(o,{opacity:.7,scale:.95},{opacity:1,scale:1,duration:.5,ease:"power2.out",stagger:.1})}})}else{const r=Array.from(o).filter(a=>a!==t);gsap.to(r,{scale:.8,opacity:0,duration:.5,ease:"power2.inOut",onComplete:()=>{o.forEach(n=>{n.classList.remove("active","hidden")}),t.classList.add("active"),r.forEach(n=>{n.classList.add("hidden")});const a=t.querySelector(".card__destination-content");if(a){gsap.fromTo(a,{opacity:0,y:30,scale:.9},{opacity:1,y:0,scale:1,duration:.8,ease:"power3.out",delay:.2});const n=a.querySelectorAll(".card__program-link");gsap.fromTo(n,{opacity:0,y:50,rotation:-5},{opacity:1,y:0,rotation:0,duration:.6,ease:"back.out(1.7)",stagger:.15,delay:.5})}}})}}extractPetaleType(e){const s=Array.from(e.classList).find(o=>o.startsWith("petalle__"));return s?s.replace("petalle__",""):null}openCard(e){const t=document.querySelector(".card"),s=document.querySelector(`.card__el--${e}`);
1if(t&&s){gsap.set(t,{opacity:1,scale:1,x:0,y:0,rotation:0,clearProps:"transform,opacity"}),gsap.set(s,{opacity:0,scale:.8,y:50}),t.classList.add("visible"),s.classList.add("visible"),t.setAttribute("data-active-card",e);const o=gsap.timeline();o.to(s,{opacity:1,scale:1,y:0,duration:1,ease:"power3.out"}).fromTo(s.querySelector(".card__nav"),{opacity:0,x:-30},{opacity:1,x:0,duration:.6,ease:"power2.out"},.2).fromTo(s.querySelector(".card__title"),{opacity:0,rotation:-10,scale:.8},{opacity:1,rotation:-.5,scale:1,duration:.8,ease:"back.out(1.7)"},.3).fromTo(s.querySelector(".card__image"),{opacity:0,y:30,scale:.9},{opacity:1,y:0,scale:1,duration:.8,ease:"power3.out"},.4).fromTo(s.querySelector(".card__subtitle"),{opacity:0,y:20},{opacity:1,y:0,duration:.6,ease:"power2.out"},.6);const l=s.querySelectorAll(".card__destination");l.length>0&&o.fromTo(l,{opacity:0,y:30,scale:.9},{opacity:1,y:0,scale:1,duration:.6,ease:"power2.out",stagger:.1},.8),this.activeTimeline=o}else console.warn(`â Card ou élément non trouvé pour le type: ${e}`)}resetAll(){if(this.isAnimating)return;this.isAnimating=!0,this.activeTimeline&&(this.activeTimeline.kill(),this.activeTimeline=null),gsap.killTweensOf("*");const e=document.querySelectorAll(".card.visible");e.length>0?gsap.to(e,{opacity:0,scale:.8,y:-30,duration:.5,ease:"power2.inOut",onComplete:()=>{this.closeAllCards(),this.resetDestinations(),this.resetPetales(),this.showBoussole(),setTimeout(()=>{this.isAnimating=!1},1e3)}}):(this.closeAllCards(),this.resetDestinations(),this.resetPetales(),this.showBoussole(),this.isAnimating=!1),document.querySelectorAll(".card").forEach(s=>{s.removeAttribute("data-active-card")})}resetPetales(){const e=document.querySelectorAll('[class*="petalle__"].petalle--active');gsap.to(e,{scale:1,duration:.3,ease:"power2.out",onComplete:()=>{e.forEach(t=>{t.classList.remove("petalle--active")})}})}resetDestinations(){const e=document.querySelectorAll(".card__destination.hidden");e.length>0&&gsap.to(e,{scale:1,opacity:1,duration:.4,ease:"power2.out",onComplete:()=>{e.forEach(s=>{s.classList.remove("active","hidden")})}}),document.querySelectorAll(".card__destination").forEach(s=>{s.classList.remove("active","hidden")})}closeAllCards(e){const t=document.querySelectorAll(".card.visible"),s=document.querySelectorAll('[class*="card__el--"].visible');t.length>0||s.length>0?gsap.to([...t,...s],{opacity:0,scale:.9,y:30,duration:.5,ease:"power2.inOut",onComplete:()=>{t.forEach(o=>{o.classList.remove("visible"),o.removeAttribute("data-active-card"),gsap.set(o,{opacity:1,scale:1,x:0,y:0,rotation:0,clearProps:"all"})}),s.forEach(o=>{o.classList.remove("visible"),gsap.set(o,{opacity:1,scale:1,x:0,y:0,rotation:0,clearProps:"all"});const l=o.querySelector(".card__nav"),r=o.querySelector(".card__title"),a=o.querySelector(".card__image"),n=o.querySelector(".card__subtitle"),c=o.querySelectorAll(".card__destination");l&&gsap.set(l,{clearProps:"all"}),r&&gsap.set(r,{clearProps:"all"}),a&&gsap.set(a,{clearProps:"all"}),n&&gsap.set(n,{clearProps:"all"}),c.forEach(p=>gsap.set(p,{clearProps:"all"}))}),e&&e()}}):e&&e()}hideBoussole(e){const t=document.querySelector(".boussole__svg--mobile"),s=document.querySelector(".boussole__svg--pc"),o=window.innerWidth>=1024?s:t;o?gsap.to(o,{opacity:0,scale:.8,rotation:-180,duration:.8,ease:"power2.inOut",onComplete:()=>{t&&t.classList.add("boussole__hidden"),s&&s.classList.add("boussole__hidden"),e&&e()}}):e&&e()}showBoussole(){const e=document.querySelector(".boussole__svg--mobile"),t=document.querySelector(".boussole__svg--pc");e&&e.classList.remove("boussole__hidden"),t&&t.classList.remove("boussole__hidden");const s=window.innerWidth>=1024?t:e;s&&(gsap.set(s,{clearProps:"all"}),gsap.fromTo(s,{opacity:0,scale:.8,rotation:180},{opacity:1,scale:1,rotation:0,duration:1,ease:"back.out(1.7)"}))}openSpecificCard(e){this.isAnimating||(this.isAnimating=!0,this.closeAllCards(()=>{this.hideBoussole(()=>{this.openCard(e),this.activatePetalesByType(e),setTimeout(()=>{this.isAnimating=!1},1200)})}))}closeCards(){this.closeAllCards()}reset(){this.resetAll()}resetDestinationsOnly(){this.resetDestinations()}resetPetalesOnly(){this.resetPetales()}activatePetaleType(e){this.activatePetalesByType(e)}
1forceUnlock(){this.isAnimating=!1,gsap.killTweensOf("*")}replayEntranceAnimation(){u=!1,g()}getPetaleInfo(){const e=document.querySelectorAll('[class*="petalle__"]'),t=new Set,s={};return e.forEach(o=>{const l=this.extractPetaleType(o);l&&(t.add(l),s[l]||(s[l]=[]),s[l].push(o))}),{totalPetales:e.length,types:Array.from(t),petalesByType:s,isAnimating:this.isAnimating,hasPlayedEntranceAnimation:u}}}document.addEventListener("DOMContentLoaded",()=>{setTimeout(()=>{h(),window.petaleManager=new w,setTimeout(()=>{window.petaleManager.getPetaleInfo()},100)},100)}),window.addEventListener("resize",()=>{clearTimeout(window.resizeTimeout),window.resizeTimeout=setTimeout(()=>{f()},250)})}else console.warn("â Ãlément #boussole non trouvé");
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.