{ "version": 3, "sources": ["../../../Vettvangur.Frontend/src/scripts/components/accordion.ts"], "sourcesContent": ["import gsap from 'gsap'\n\nconst accordion = {\n init(): void {\n document.querySelectorAll('.accordion').forEach((target: HTMLElement) => {\n this.handleAccordion(target)\n })\n },\n\n handleAccordion(target): void {\n const el = {\n items: target.querySelectorAll('.accordion__item'),\n }\n\n const method = {\n init(): void {\n el.items.forEach((item: HTMLElement) => {\n item.querySelector('.accordion__head').addEventListener('click', () => {\n method.toggleItem(item)\n })\n })\n },\n\n closeItem(item: HTMLElement): void {\n gsap.to(item.querySelector('.accordion__body'), {\n clearProps: 'all',\n duration: 0.5,\n ease: 'power3.inOut',\n height: 0,\n opacity: 0,\n onStart: () => {\n item.firstElementChild.ariaExpanded = 'false'\n item.classList.remove('accordion__item--selected')\n },\n })\n },\n\n openItem(item: HTMLElement): void {\n gsap.fromTo(\n item.querySelector('.accordion__body'),\n {\n height: 0,\n opacity: 0,\n },\n {\n clearProps: 'all',\n duration: 0.5,\n ease: 'power3.inOut',\n height: 'auto',\n opacity: 1,\n onStart: () => {\n item.firstElementChild.ariaExpanded = 'true'\n item.classList.add('accordion__item--selected')\n },\n }\n )\n },\n\n toggleItem(item: HTMLElement): void {\n const isSelected = item.classList.contains('accordion__item--selected')\n const currentlySelected = item.closest('.accordion').querySelector('.accordion__item--selected')\n\n if (currentlySelected) {\n method.closeItem(currentlySelected)\n }\n\n if (isSelected) {\n method.closeItem(item)\n } else {\n method.openItem(item)\n }\n },\n }\n\n method.init()\n },\n}\n\nexport default accordion\n"], "mappings": "4EAEA,IAAMA,EAAY,CAChB,MAAa,CACX,SAAS,iBAA8B,YAAY,EAAE,QAASC,GAAwB,CACpF,KAAK,gBAAgBA,CAAM,CAC7B,CAAC,CACH,EAEA,gBAAgBA,EAAc,CAC5B,IAAMC,EAAK,CACT,MAAOD,EAAO,iBAAiB,kBAAkB,CACnD,EAEME,EAAS,CACb,MAAa,CACXD,EAAG,MAAM,QAASE,GAAsB,CACtCA,EAAK,cAA2B,kBAAkB,EAAE,iBAAiB,QAAS,IAAM,CAClFD,EAAO,WAAWC,CAAI,CACxB,CAAC,CACH,CAAC,CACH,EAEA,UAAUA,EAAyB,CACjCC,EAAK,GAAGD,EAAK,cAA2B,kBAAkB,EAAG,CAC3D,WAAY,MACZ,SAAU,GACV,KAAM,eACN,OAAQ,EACR,QAAS,EACT,QAAS,IAAM,CACbA,EAAK,kBAAkB,aAAe,QACtCA,EAAK,UAAU,OAAO,2BAA2B,CACnD,CACF,CAAC,CACH,EAEA,SAASA,EAAyB,CAChCC,EAAK,OACHD,EAAK,cAA2B,kBAAkB,EAClD,CACE,OAAQ,EACR,QAAS,CACX,EACA,CACE,WAAY,MACZ,SAAU,GACV,KAAM,eACN,OAAQ,OACR,QAAS,EACT,QAAS,IAAM,CACbA,EAAK,kBAAkB,aAAe,OACtCA,EAAK,UAAU,IAAI,2BAA2B,CAChD,CACF,CACF,CACF,EAEA,WAAWA,EAAyB,CAClC,IAAME,EAAaF,EAAK,UAAU,SAAS,2BAA2B,EAChEG,EAAoBH,EAAK,QAAQ,YAAY,EAAE,cAA2B,4BAA4B,EAExGG,GACFJ,EAAO,UAAUI,CAAiB,EAGhCD,EACFH,EAAO,UAAUC,CAAI,EAErBD,EAAO,SAASC,CAAI,CAExB,CACF,EAEAD,EAAO,KAAK,CACd,CACF,EAEOK,EAAQR", "names": ["accordion", "target", "el", "method", "item", "gsapWithCSS", "isSelected", "currentlySelected", "accordion_default"] }