{"version":3,"file":"js/course-resort-nearby.js","mappings":"mBAKA,MAAMA,EASJC,KAAAA,GACMC,KAAKC,MACPD,KAAKC,KAAKC,SAAQC,IAChBA,EAAIC,UAAUC,OAAO,SAAS,IAG9BL,KAAKM,QACPN,KAAKM,OAAOJ,SAAQK,IAClBA,EAAMH,UAAUC,OAAO,SAAS,GAGtC,CAEAG,IAAAA,GACMR,KAAKC,MACPD,KAAKC,KAAKC,SAAQO,IAChBA,EAAOC,iBAAiB,SAAS,KAC/B,MAAM,IAAEP,GAAQM,EAAOE,QACjBJ,EAAQP,KAAKY,UAAUC,cAAc,gBAAgBV,OAEvDI,IACFP,KAAKD,QACLQ,EAAMH,UAAUU,IAAI,UACpBL,EAAOL,UAAUU,IAAI,UACvB,GACA,GAGR,CApCAC,WAAAA,CAAYC,GACVhB,KAAKY,UAAYI,EACjBhB,KAAKC,KAAOD,KAAKY,UAAUK,iBAAiB,8BAC5CjB,KAAKM,OAASN,KAAKY,UAAUK,iBAAiB,gCAE9CjB,KAAKQ,MACP,ECPa,IAAkBU,IDwCxB,KACP,MAAMC,EAAYC,SAASH,iBAAiB,yBAC1B,OAAdE,GACFA,EAAUjB,SAAQmB,GAAa,IAAIvB,EAAmBuB,IACxD,EC3C4B,YAAxBD,SAASE,WACXJ,IAEAE,SAASV,iBAAiB,oBAAoB,KAC5CQ,GAAU,G","sources":["webpack://golf-wp/./wp-content/themes/golf/src/js/blocks/course-resort-nearby.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/course-resort-nearby.scss'\n\nclass CourseResortNearby {\n constructor(el) {\n this.container = el\n this.tabs = this.container.querySelectorAll('.course-resort-nearby__tab')\n this.panels = this.container.querySelectorAll('.course-resort-nearby__panel')\n\n this.init()\n }\n\n reset() {\n if (this.tabs) {\n this.tabs.forEach(tab => {\n tab.classList.remove('active')\n })\n }\n if (this.panels) {\n this.panels.forEach(panel => {\n panel.classList.remove('active')\n })\n }\n }\n\n init() {\n if (this.tabs) {\n this.tabs.forEach(tabBtn => {\n tabBtn.addEventListener('click', () => {\n const { tab } = tabBtn.dataset\n const panel = this.container.querySelector(`[data-panel=\"${tab}\"]`)\n\n if (panel) {\n this.reset()\n panel.classList.add('active')\n tabBtn.classList.add('active')\n }\n })\n })\n }\n }\n}\n\nDOMReady(() => {\n const wrapperEl = document.querySelectorAll('.course-resort-nearby')\n if (wrapperEl !== null) {\n wrapperEl.forEach(component => new CourseResortNearby(component))\n }\n})\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":["CourseResortNearby","reset","this","tabs","forEach","tab","classList","remove","panels","panel","init","tabBtn","addEventListener","dataset","container","querySelector","add","constructor","el","querySelectorAll","callback","wrapperEl","document","component","readyState"],"sourceRoot":""}