{"version":3,"file":"scroll-menu-controller-DEaAutbj.js","sources":["../../../app/frontend/src/jobseeker/main/js/controllers/scroll-menu-controller.js"],"sourcesContent":["import { Controller } from '@hotwired/stimulus';\n\nexport default class extends Controller {\n static targets = ['menu'];\n\n connect() {\n if (!this.hasMenuTarget) return;\n\n this.setupObserver();\n\n const sections = document.querySelectorAll('[data-section]');\n\n for (const section of sections) {\n this.observer.observe(section);\n }\n }\n\n setupObserver() {\n const options = {\n threshold: [0.5]\n };\n\n this.observer = new IntersectionObserver((entries, observer) => {\n for (const entry of entries) {\n if (entry.intersectionRatio >= 0.5) {\n this.setCurrent(entry.target);\n }\n }\n }, options);\n }\n\n setCurrent(section) {\n this.menuTarget\n .querySelectorAll('.is-active')\n .forEach((el) => el.classList.remove('is-active'));\n\n section.classList.add('is-active');\n\n this.element\n .querySelector(`[data-scrollTarget=\"#${section.id}\"]`)\n .classList.add('is-active');\n }\n\n scrollTo = (e) => {\n const dataName = e.currentTarget.getAttribute('data-scrollTarget');\n\n const scrollTarget = document.querySelector(dataName);\n scrollTarget.scrollIntoView({\n block: 'start',\n behavior: 'smooth'\n });\n };\n}\n"],"names":["scrollMenuController","Controller","__publicField","dataName","sections","section","options","entries","observer","entry","el"],"mappings":"2NAEe,MAAKA,UAASC,CAAW,CAAzB,kCAyCbC,EAAA,gBAAY,GAAM,CAChB,MAAMC,EAAW,EAAE,cAAc,aAAa,mBAAmB,EAE5C,SAAS,cAAcA,CAAQ,EACvC,eAAe,CAC1B,MAAO,QACP,SAAU,QAChB,CAAK,CACF,GA9CD,SAAU,CACR,GAAI,CAAC,KAAK,cAAe,OAEzB,KAAK,cAAe,EAEpB,MAAMC,EAAW,SAAS,iBAAiB,gBAAgB,EAE3D,UAAWC,KAAWD,EACpB,KAAK,SAAS,QAAQC,CAAO,CAEnC,CAEE,eAAgB,CACd,MAAMC,EAAU,CACd,UAAW,CAAC,EAAG,CAChB,EAED,KAAK,SAAW,IAAI,qBAAqB,CAACC,EAASC,IAAa,CAC9D,UAAWC,KAASF,EACdE,EAAM,mBAAqB,IAC7B,KAAK,WAAWA,EAAM,MAAM,CAGjC,EAAEH,CAAO,CACd,CAEE,WAAWD,EAAS,CAClB,KAAK,WACF,iBAAiB,YAAY,EAC7B,QAASK,GAAOA,EAAG,UAAU,OAAO,WAAW,CAAC,EAEnDL,EAAQ,UAAU,IAAI,WAAW,EAEjC,KAAK,QACF,cAAc,wBAAwBA,EAAQ,EAAE,IAAI,EACpD,UAAU,IAAI,WAAW,CAChC,CAWA,CAjDEH,EADkBF,EACX,UAAU,CAAC,MAAM"}