{"version":3,"file":"tabedSlider-bundle.js","mappings":"ivBAEAA,SAASC,iBAAiB,oBAAoB,WCFhB,IAACC,EAAaC,EAAiBC,EACrDC,EACAC,EACFC,EAEEC,EA8CFC,EAnDyBP,EDGd,+BCH2BC,EDGK,0BCFzCE,EAAIK,EAAOV,SAASW,iBAAiBT,IACrCI,EAAKI,EAAOV,SAASW,iBAAiBR,IACxCI,EAAmB,KAEjBC,EAAc,SAACI,GAAgC,IAArBC,IAASC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GACjCG,EAAc,GAAHC,OAAMhB,EAAYiB,MAAM,GAAE,YAE3Cd,EAAKe,SAAQ,SAAAC,GAAG,OAAIA,EAAIC,UAAUC,OAAON,EAAY,IACrDX,EAAMc,SAAQ,SAAAI,GACZA,EAAKF,UAAUC,OAAO,UAAW,YACjCC,EAAKC,MAAMC,QAAU,MACvB,IAEA,IAAMC,EAAY3B,SAAS4B,cAAc,GAADV,OACnChB,EAAW,eAAAgB,OAAcN,EAAS,OAEvCe,SAAAA,EAAWL,UAAUO,IAAIZ,GAEzB,IAAMa,EAAa9B,SAAS4B,cAAc,GAADV,OACpCf,EAAY,gCAAAe,OAA+BN,EAAS,OAEzD,GAAIkB,EAAY,KAAAC,EACdD,EAAWL,MAAMC,QAAU,OAC3BM,uBAAsB,kBAAMF,EAAWR,UAAUO,IAAI,UAAU,IAE/D,IAAMI,EAAgBH,EAAWF,cAAc,aAC/CK,SAAqB,QAARF,EAAbE,EAAeC,cAAM,IAAAH,GAArBA,EAAuBI,QACzB,CAIA,GAFA5B,EAAmBK,EAEfC,EAAW,CACb,IAAMuB,EAAUT,aAAS,EAATA,EAAWU,QAAQD,QACnC,GAAIA,EAAS,CACX,IAAME,EAAM,IAAIC,IAAIC,OAAOC,UAC3BH,EAAII,aAAaC,IAAI,MAAOP,GAC5BI,OAAOI,QAAQC,aAAa,CAAC,EAAG,GAAIP,EACtC,CACF,CACF,GAWI7B,EATkB,WACpB,IACM2B,EADY,IAAIU,gBAAgBN,OAAOC,SAASM,QAC5BC,IAAI,OAC9B,IAAKZ,EAAS,OAAO,KAErB,IAAMa,EAAa5C,EAAK6C,MAAK,SAAA7B,GAAG,OAAIA,EAAIgB,QAAQD,UAAYA,CAAO,IACnE,OAAOa,EAAaA,EAAWZ,QAAQhB,IAAM,IAC/C,CAGE8B,KACgD,QADjC/C,EACfJ,SAAS4B,cAAc,GAADV,OAAIhB,EAAW,oBAAW,IAAAE,OAAA,EAAhDA,EAAkDiC,QAAQhB,QAG1Dd,EAAmBE,EACnBD,EAAYC,GAAkB,IAGhCJ,EAAKe,SAAQ,SAAAC,GACXA,EAAIpB,iBAAiB,SAAS,WAC5B,IAAMW,EAAYS,EAAIgB,QAAQhB,IAC9B,GAAIT,IAAcL,EAAlB,CAEA,IAAM6C,EAAoBpD,SAAS4B,cAAc,GAADV,OAC3Cf,EAAY,gCAAAe,OAA+BX,EAAgB,OAE5D6C,IACFA,EAAkB9B,UAAUO,IAAI,YAChCwB,YAAW,kBAAMD,EAAkB9B,UAAUC,OAAO,WAAW,GAAE,MAGnEf,EAAYI,EAV8B,CAW5C,GACF,GDvEF,G","sources":["webpack://hedev/./wwwroot/scripts/tabedSlider.js","webpack://hedev/./wwwroot/scripts/modular/tabUtils.js"],"sourcesContent":["import { handleTabClick } from './modular/tabUtils.js'\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n handleTabClick('.content-tabbed-content__tab', '.swiper-content-wrapper')\r\n})\r\n","export const handleTabClick = (tabSelector, paneSelector) => {\r\n const tabs = [...document.querySelectorAll(tabSelector)]\r\n const panes = [...document.querySelectorAll(paneSelector)]\r\n let currentActiveTab = null\r\n\r\n const activateTab = (targetTab, updateURL = true) => {\r\n const activeClass = `${tabSelector.slice(1)}--active`\r\n\r\n tabs.forEach(tab => tab.classList.remove(activeClass))\r\n panes.forEach(pane => {\r\n pane.classList.remove('fade-in', 'fade-out')\r\n pane.style.display = 'none'\r\n })\r\n\r\n const activeTab = document.querySelector(\r\n `${tabSelector}[data-tab=\"${targetTab}\"]`\r\n )\r\n activeTab?.classList.add(activeClass)\r\n\r\n const activePane = document.querySelector(\r\n `${paneSelector}[data-tabbed-content-index=\"${targetTab}\"]`\r\n )\r\n if (activePane) {\r\n activePane.style.display = 'flex'\r\n requestAnimationFrame(() => activePane.classList.add('fade-in'))\r\n\r\n const swiperElement = activePane.querySelector('.mySwiper')\r\n swiperElement?.swiper?.update()\r\n }\r\n\r\n currentActiveTab = targetTab\r\n\r\n if (updateURL) {\r\n const tabName = activeTab?.dataset.tabName\r\n if (tabName) {\r\n const url = new URL(window.location)\r\n url.searchParams.set('tab', tabName)\r\n window.history.replaceState({}, '', url)\r\n }\r\n }\r\n }\r\n\r\n const getTabFromURL = () => {\r\n const urlParams = new URLSearchParams(window.location.search)\r\n const tabName = urlParams.get('tab')\r\n if (!tabName) return null\r\n\r\n const matchedTab = tabs.find(tab => tab.dataset.tabName === tabName)\r\n return matchedTab ? matchedTab.dataset.tab : null\r\n }\r\n\r\n let initialActiveTab =\r\n getTabFromURL() ||\r\n document.querySelector(`${tabSelector}--active`)?.dataset.tab\r\n\r\n if (initialActiveTab) {\r\n currentActiveTab = initialActiveTab\r\n activateTab(initialActiveTab, false)\r\n }\r\n\r\n tabs.forEach(tab => {\r\n tab.addEventListener('click', () => {\r\n const targetTab = tab.dataset.tab\r\n if (targetTab === currentActiveTab) return\r\n\r\n const currentActivePane = document.querySelector(\r\n `${paneSelector}[data-tabbed-content-index=\"${currentActiveTab}\"]`\r\n )\r\n if (currentActivePane) {\r\n currentActivePane.classList.add('fade-out')\r\n setTimeout(() => currentActivePane.classList.remove('fade-out'), 300)\r\n }\r\n\r\n activateTab(targetTab)\r\n })\r\n })\r\n}\r\n"],"names":["document","addEventListener","tabSelector","paneSelector","_document$querySelect","tabs","panes","currentActiveTab","activateTab","initialActiveTab","_toConsumableArray","querySelectorAll","targetTab","updateURL","arguments","length","undefined","activeClass","concat","slice","forEach","tab","classList","remove","pane","style","display","activeTab","querySelector","add","activePane","_swiperElement$swiper","requestAnimationFrame","swiperElement","swiper","update","tabName","dataset","url","URL","window","location","searchParams","set","history","replaceState","URLSearchParams","search","get","matchedTab","find","getTabFromURL","currentActivePane","setTimeout"],"sourceRoot":""}