{"version":3,"file":"js/club-comparison.js","mappings":"mBAKA,MAAMA,EASJC,IAAAA,CAAKC,GACHC,KAAKC,MAAQF,EAAGG,iBAAiB,0BACjCF,KAAKG,KAAOJ,EAAGG,iBAAiB,qCAChCF,KAAKI,aAAe,IAAIL,EAAGG,iBAAiB,+CAC5CF,KAAKG,KAAKE,SAAQC,IAChBA,EAAIC,iBAAiB,SAASC,IAC5BR,KAAKS,eAAeD,EAAIE,OAAQX,EAAG,GACnC,GAEN,CAEAU,cAAAA,CAAeH,EAAKP,GAClBC,KAAKI,aAAaO,QAGlBX,KAAKI,aAAaQ,KAAKN,GAGvBN,KAAKG,KAAKE,SAAQQ,GAAQA,EAAKC,UAAUC,OAAO,cAChDf,KAAKC,MAAMI,SAAQQ,GAAQA,EAAKC,UAAUC,OAAO,cACjDf,KAAKI,aAAaC,SAAQQ,IACxBA,EAAKC,UAAUE,IAAI,YACnBjB,EAAGkB,cAAc,sCAAsCJ,EAAKK,QAAQC,YAAYL,UAAUE,IACxF,cAGN,CAlCAI,WAAAA,CAAYrB,GACLA,GAILC,KAAKF,KAAKC,EACZ,EA+BF,MAAMsB,EAAqB,CACzBvB,IAAAA,GACE,MAAMwB,EAAYC,SAASrB,iBAAiB,oBAC1B,OAAdoB,GACFA,EAAUjB,SAAQmB,GAAa,IAAI3B,EAAe2B,IAEtD,GC5Ca,IAAkBC,ID+CxB,KACPJ,EAAmBvB,MAAM,EC/CG,YAAxByB,SAASG,WACXD,IAEAF,SAAShB,iBAAiB,oBAAoB,KAC5CkB,GAAU,G","sources":["webpack://golf-wp/./wp-content/themes/golf/src/js/blocks/club-comparison.js","webpack://golf-wp/./wp-content/themes/golf/src/js/utils/DOMReady.js"],"sourcesContent":["import DOMReady from '../utils/DOMReady'\n\n// eslint-disable-next-line no-unused-vars\nimport css from '../../css/blocks/club-comparison.scss'\n\nclass ClubComparison {\n  constructor(el) {\n    if (!el) {\n      return\n    }\n\n    this.init(el)\n  }\n\n  init(el) {\n    this.items = el.querySelectorAll('.club-comparison__item')\n    this.tabs = el.querySelectorAll('.club-comparison__model-tabs-item')\n    this.selectedTabs = [...el.querySelectorAll('.club-comparison__model-tabs-item.selected')]\n    this.tabs.forEach(tab => {\n      tab.addEventListener('click', evt => {\n        this.addSelectedTab(evt.target, el)\n      })\n    })\n  }\n\n  addSelectedTab(tab, el) {\n    this.selectedTabs.shift()\n\n    // Add the new element to the end of the array\n    this.selectedTabs.push(tab)\n\n    // update classes\n    this.tabs.forEach(item => item.classList.remove('selected'))\n    this.items.forEach(item => item.classList.remove('selected'))\n    this.selectedTabs.forEach(item => {\n      item.classList.add('selected')\n      el.querySelector(`.club-comparison__item[data-index='${item.dataset.index}']`)?.classList.add(\n        'selected',\n      )\n    })\n  }\n}\n\nconst clubComparisonInit = {\n  init() {\n    const wrapperEl = document.querySelectorAll('.club-comparison')\n    if (wrapperEl !== null) {\n      wrapperEl.forEach(component => new ClubComparison(component))\n    }\n  },\n}\n\nDOMReady(() => {\n  clubComparisonInit.init()\n})\n\nexport default clubComparisonInit\n","/**\n * Triggers a callback function once the DOM is ready\n *\n * @param {function} callback The function to trigger\n */\nexport default function DOMReady(callback) {\n  if (document.readyState !== 'loading') {\n    callback()\n  } else {\n    document.addEventListener('DOMContentLoaded', () => {\n      callback()\n    })\n  }\n}\n"],"names":["ClubComparison","init","el","this","items","querySelectorAll","tabs","selectedTabs","forEach","tab","addEventListener","evt","addSelectedTab","target","shift","push","item","classList","remove","add","querySelector","dataset","index","constructor","clubComparisonInit","wrapperEl","document","component","callback","readyState"],"sourceRoot":""}