<html><head></head><body>{"version":3,"file":"accordion-Bm3Bz4rI.js","sources":["../../src/scripts/modules/accordion.ts"],"sourcesContent":["import { Component } from '@verndale/core';\n\nclass Accordion extends Component {\n layout: string = 'block';\n\n constructor(el: HTMLElement, layout?: string) {\n super(el);\n if (layout) {\n this.layout = layout;\n }\n }\n\n setupDefaults() {\n this.dom = {\n triggers: this.el.querySelectorAll('.accordion__item-trigger'),\n panels: this.el.querySelectorAll('.accordion__item-panel')\n };\n\n this.initAccordion();\n }\n\n addListeners() {\n (this.dom.triggers as NodeList).forEach(trigger =>\n trigger.addEventListener('click', this.handleClick.bind(this))\n );\n }\n\n initAccordion() {\n (this.dom.triggers as NodeListOf<htmlbuttonelement>).forEach(trigger => {\n if (trigger.getAttribute('aria-expanded') === 'true') {\n this.openItem(trigger);\n }\n });\n }\n\n handleClick(e: Event) {\n const isCollapsable = this.el.dataset.isCollapsable === 'true';\n const trigger = e.currentTarget as HTMLButtonElement;\n if (isCollapsable) {\n (this.dom.triggers as NodeListOf<htmlelement>).forEach(item => {\n if (item.getAttribute('aria-expanded') === 'true') {\n this.closeItem(item as HTMLButtonElement);\n } else if (item.getAttribute('aria-expanded') === 'false' && item === trigger) {\n this.openItem(item as HTMLButtonElement);\n }\n });\n } else {\n if (trigger.getAttribute('aria-expanded') === 'true') {\n this.closeItem(trigger);\n } else {\n this.openItem(trigger);\n }\n }\n }\n\n openItem(trigger: HTMLButtonElement) {\n trigger.setAttribute('aria-expanded', 'true');\n\n const panel = document.getElementById(trigger.getAttribute('aria-controls') as string);\n\n if (panel) {\n panel.removeAttribute('style');\n panel.style.display = this.layout;\n const pannelContent = panel.querySelector<htmlelement>('.accordion__item-content');\n\n panel.style.height = `${pannelContent?.offsetHeight}px`;\n\n setTimeout(() => {\n panel.style.height = 'auto';\n panel.style.display = this.layout;\n }, 250);\n }\n }\n\n closeItem(trigger: HTMLButtonElement) {\n trigger.setAttribute('aria-expanded', 'false');\n\n const panel = document.getElementById(trigger.getAttribute('aria-controls') as string);\n\n if (panel) {\n const pannelContent = panel.querySelector<htmlelement>('.accordion__item-content');\n panel.style.height = `${pannelContent?.offsetHeight}px`;\n setTimeout(() => (panel.style.height = '0px'));\n setTimeout(() => (panel.style.display = 'none'), 500);\n }\n }\n}\n\nexport default Accordion;\n"],"names":["Accordion","Component","el","layout","__publicField","trigger","e","isCollapsable","item","panel","pannelContent"],"mappings":"iNAEA,MAAMA,UAAkBC,CAAU,CAGhC,YAAYC,EAAiBC,EAAiB,CAC5C,MAAMD,CAAE,EAHVE,EAAA,cAAiB,SAIXD,IACF,KAAK,OAASA,EAChB,CAGF,eAAgB,CACd,KAAK,IAAM,CACT,SAAU,KAAK,GAAG,iBAAiB,0BAA0B,EAC7D,OAAQ,KAAK,GAAG,iBAAiB,wBAAwB,CAC3D,EAEA,KAAK,cAAc,CAAA,CAGrB,cAAe,CACZ,KAAK,IAAI,SAAsB,QAAQE,GACtCA,EAAQ,iBAAiB,QAAS,KAAK,YAAY,KAAK,IAAI,CAAC,CAC/D,CAAA,CAGF,eAAgB,CACb,KAAK,IAAI,SAA2C,QAAmBA,GAAA,CAClEA,EAAQ,aAAa,eAAe,IAAM,QAC5C,KAAK,SAASA,CAAO,CACvB,CACD,CAAA,CAGH,YAAYC,EAAU,CACpB,MAAMC,EAAgB,KAAK,GAAG,QAAQ,gBAAkB,OAClDF,EAAUC,EAAE,cACdC,EACD,KAAK,IAAI,SAAqC,QAAgBC,GAAA,CACzDA,EAAK,aAAa,eAAe,IAAM,OACzC,KAAK,UAAUA,CAAyB,EAC/BA,EAAK,aAAa,eAAe,IAAM,SAAWA,IAASH,GACpE,KAAK,SAASG,CAAyB,CACzC,CACD,EAEGH,EAAQ,aAAa,eAAe,IAAM,OAC5C,KAAK,UAAUA,CAAO,EAEtB,KAAK,SAASA,CAAO,CAEzB,CAGF,SAASA,EAA4B,CAC3BA,EAAA,aAAa,gBAAiB,MAAM,EAE5C,MAAMI,EAAQ,SAAS,eAAeJ,EAAQ,aAAa,eAAe,CAAW,EAErF,GAAII,EAAO,CACTA,EAAM,gBAAgB,OAAO,EACvBA,EAAA,MAAM,QAAU,KAAK,OACrB,MAAAC,EAAgBD,EAAM,cAA2B,0BAA0B,EAEjFA,EAAM,MAAM,OAAS,GAAGC,GAAA,YAAAA,EAAe,YAAY,KAEnD,WAAW,IAAM,CACfD,EAAM,MAAM,OAAS,OACfA,EAAA,MAAM,QAAU,KAAK,QAC1B,GAAG,CAAA,CACR,CAGF,UAAUJ,EAA4B,CAC5BA,EAAA,aAAa,gBAAiB,OAAO,EAE7C,MAAMI,EAAQ,SAAS,eAAeJ,EAAQ,aAAa,eAAe,CAAW,EAErF,GAAII,EAAO,CACH,MAAAC,EAAgBD,EAAM,cAA2B,0BAA0B,EACjFA,EAAM,MAAM,OAAS,GAAGC,GAAA,YAAAA,EAAe,YAAY,KACnD,WAAW,IAAOD,EAAM,MAAM,OAAS,KAAM,EAC7C,WAAW,IAAOA,EAAM,MAAM,QAAU,OAAS,GAAG,CAAA,CACtD,CAEJ"}</htmlelement></htmlelement></htmlelement></htmlbuttonelement><style> .hidden { display: none; } </style> <a href="http://www.ehulk.net" class="hidden">足球博彩</a> <a href="http://wupuys.lqqqhuanbao.com" class="hidden">中国禹州网</a> <a href="http://www.yifucn.com" class="hidden">太阳城体育</a> <a href="http://www.castingmoldingmachine.com" class="hidden">New-Portuguese-gambling-customerservice@castingmoldingmachine.com</a> <a href="http://www.iconfuture.net" class="hidden">太阳城app</a> <a href="http://www.rf518.com" class="hidden">体育博彩平台排名</a> <a href="http://biztsc.hjgonline.com" class="hidden">南和信息网</a> <a href="http://www.uc1112.com" class="hidden">威尼斯人博彩</a> <a href="http://igtezb.platinart.com" class="hidden">广州证券</a> <a href="http://www.tassahil.net" class="hidden">威尼斯人体育</a> <a href="http://www.seezl.com" class="hidden">皇冠博彩官网</a> <a href="http://tajjmf.m220149.com" class="hidden">美酒在线</a> <a href="http://www.letaoyizs.com" class="hidden">Sports-betting-feedback@letaoyizs.com</a> <a href="http://www.at-funeral.com" class="hidden">买球平台</a> <a href="http://www.gsy1258.com" class="hidden">Crown-Sports-website-contactus@gsy1258.com</a> <a href="http://www.rdsy.net" class="hidden">Sports-betting-careers@rdsy.net</a> <a href="http://web-sitemap.xahuachuang.com" class="hidden">中国·宜昌 政风行风热线</a> <a href="http://oaazci.baill.net" class="hidden">52pk三国杀网页游戏</a> <a href="http://web-sitemap.mutajf.com" class="hidden">赣州本地宝</a> <a href="http://www.symmjg.com" class="hidden">Sports-betting-contact@symmjg.com</a> <a href="https://stock.adobe.com/search?k=立博手机app✔️网址:ad11.net✔️" class="hidden">太原科技大学教务处</a> <a href="https://tw.dictionary.yahoo.com/dictionary?p=✔️网址:la666.net✔️博彩平台APP-维基百科✔️网址:la666.net✔️博彩平台APP-维基百科" class="hidden">山东大学研究生院</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=✔️最新网址:la55.net✔️365电竞足球-维基百科✔️最新网址:la55.net✔️365电竞足球-维基百科" class="hidden">衡水二中</a> <a href="https://m.facebook.com/public/亞洲博彩公司排名>>✔️官方网址:la777.net✔️手输<<亞洲博彩公司排名>>✔️官方网址:la777.net✔️手输<<.jal" class="hidden">重庆晨报官方网站</a> <a href="https://es-la.facebook.com/public/澳门银河娱乐城官网-维基百科✔️最新网址:la55.net✔️澳门银河娱乐城官网-维基百科✔️最新网址:la55.net✔️" class="hidden">华通设备</a> <a href="https://tw.dictionary.yahoo.com/dictionary?p=✔️最新网址:ad22.net✔️太阳城集团官方直营(中国)有限公司✔️最新网址:ad22.net✔️太阳城集团官方直营(中国)有限公司.wmo" class="hidden">驾驶员考试网科目一</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=✔️网址:la66.net✔️欧洲杯押注软件下载-欧洲杯押注软件下载官方网站.rpg" class="hidden">51Testing软件测试论坛</a> <a href="https://www.deep6gear.com/catalogsearch/result/?q=澳门威利斯人官方网站平台介绍✔️网址:la666.net✔️澳门威利斯人官方网站平台介绍✔️网址:la666.net✔️.wws" class="hidden">我要久久发</a> <a href="https://stock.adobe.com/search?k=✔️网址:la666.net✔️科普一下澳门新葡京博彩的百科.ahu" class="hidden">卓诚惠生</a> <a href="https://acrmc.com/search/>>✔️网址:la666.net✔️手输<<betway必威国际" class="hidden">伊森新材</a> <a href="/sitemap.xml" class="hidden">站点地图</a> <a href="/cn/jsqbhg-507451.html" class="hidden">中国孔子人才网 </a> <a href="/cn/ptlgov-828063" class="hidden">佛山公交</a> <a href="/sttcs/hot-news/witticism.html" class="hidden">高中生网</a> <a href="/sttcs/hot-news/illocality.html" class="hidden">什么值得买值客原创</a> </body></html>