{"version":3,"sources":["team-block.js"],"names":["TeamBlock","constructor","container","options","this","Object","assign","splide","teamMembers","modalContainer","closeButton","carousels","document","querySelector","querySelectorAll","forEach","carousel","addEventListener","onClickTeamMember","bind","setEvents","initSplide","slide","Splide","type","perPage","perMove","arrows","pagination","autoplay","pauseOnHover","mount","event","clickedTab","target","closest","modal","classList","add","modalCloseButton","modalMember","modalRole","modalQuote","modalSocial","modalImage","innerHTML","dataset","member","role","quote","href","social","src","image","button","remove"],"mappings":"qBAAqBA,UACnBC,YAAYC,EAAWC,GASnBC,KAAKD,QAAUE,OAAOC,OAAO,GARN,CACrBC,OAAQ,UACRC,YAAa,iBACbC,eAAgB,mBAChBC,YAAa,SACbC,UAAW,WACb,EAEiDR,CAAO,EACxDC,KAAKF,UAAYU,SAASC,cAAcX,CAAS,EACjDE,KAAKG,OAASH,KAAKF,UAAUY,iBAAiBV,KAAKD,QAAQI,MAAM,EACjEH,KAAKI,YAAcJ,KAAKF,UAAUY,iBAAiBV,KAAKD,QAAQK,WAAW,EAC3EJ,KAAKO,UAAYP,KAAKF,UAAUY,iBAAiBV,KAAKD,QAAQQ,SAAS,EAEvEP,KAAKK,eAAiBL,KAAKF,UAAUY,iBAAiBV,KAAKD,QAAQM,cAAc,EAEjFL,KAAKO,UAAUI,QAAQC,IACrBA,EAASC,iBAAiB,QAASb,KAAKc,kBAAkBC,KAAKf,IAAI,CAAC,CACtE,CAAC,EAEDA,KAAKgB,UAAU,CACnB,CAEAA,YACEhB,KAAKiB,WAAW,CAClB,CAEAA,aACEjB,KAAKG,OAAOQ,QAAQO,IAClB,IAAIC,OAAOD,EAAO,CAChBE,KAAM,OACNC,QAAS,EACTC,QAAS,EACTC,OAAQ,CAAA,EACRC,WAAY,CAAA,EACZC,SAAU,CAAA,EACVC,aAAc,CAAA,CAChB,CAAC,EAAEC,MAAM,CACX,CAAC,CACH,CAEAb,kBAAkBc,GAChB,MAAMC,EAAaD,EAAME,OAAOC,QAAQ/B,KAAKD,QAAQK,WAAW,EAEpC,OAAxBJ,KAAKK,gBACPL,KAAKK,eAAeM,QAAQqB,IAC1BA,EAAMC,UAAUC,IAAI,QAAQ,EAE5B,IAAIC,EAAmBH,EAAMtB,iBAAiB,QAAQ,EAClD0B,EAAcJ,EAAMvB,cAAc,cAAc,EAChD4B,EAAYL,EAAMvB,cAAc,OAAO,EACvC6B,EAAaN,EAAMvB,cAAc,QAAQ,EACzC8B,EAAcP,EAAMvB,cAAc,SAAS,EAC3C+B,EAAaR,EAAMvB,cAAc,QAAQ,EAE/B2B,EAAYK,UAA1BL,EAAsCP,EAAWa,QAAQC,OAAiC,GAC9EN,EAAUI,UAAtBJ,EAAkCR,EAAWa,QAAQE,KAA6B,GACrEN,EAAWG,UAAxBH,YAA8CT,EAAWa,QAAQG,eAAwC,GAC3FN,EAAYO,KAA1BP,EAAiCV,EAAWa,QAAQK,OAA4B,GAChFP,EAAaA,EAAWQ,IAAMnB,EAAWa,QAAQO,MAAQV,EAAYS,IAAM,GAE3Eb,EAAiBxB,QAAQuC,IACvBA,EAAOrC,iBAAiB,QAAS,KAC/BmB,EAAMC,UAAUkB,OAAO,QAAQ,EAE/Bf,EAAYK,UAAY,GACxBJ,EAAUI,UAAY,GACtBH,EAAWG,UAAY,GACvBF,EAAYO,KAAO,GACnBP,EAAYS,IAAM,EACpB,CAAC,CACH,CAAC,CAEH,CAAC,CAEL,CACF","file":"team-block.min.js","sourcesContent":["export default class TeamBlock {\r\n constructor(container, options) {\r\n const defaultOptions = {\r\n splide: '.splide',\r\n teamMembers: '.splide__slide',\r\n modalContainer: '.modal-container',\r\n closeButton: '.close',\r\n carousels: '.carousel'\r\n }\r\n\r\n this.options = Object.assign({}, defaultOptions, options)\r\n this.container = document.querySelector(container)\r\n this.splide = this.container.querySelectorAll(this.options.splide)\r\n this.teamMembers = this.container.querySelectorAll(this.options.teamMembers)\r\n this.carousels = this.container.querySelectorAll(this.options.carousels)\r\n\r\n this.modalContainer = this.container.querySelectorAll(this.options.modalContainer)\r\n\r\n this.carousels.forEach(carousel => {\r\n carousel.addEventListener('click', this.onClickTeamMember.bind(this))\r\n })\r\n\r\n this.setEvents()\r\n }\r\n\r\n setEvents() {\r\n this.initSplide()\r\n }\r\n \r\n initSplide() {\r\n this.splide.forEach(slide => {\r\n new Splide(slide, {\r\n type: 'loop',\r\n perPage: 1,\r\n perMove: 1,\r\n arrows: false,\r\n pagination: false,\r\n autoplay: true,\r\n pauseOnHover: false\r\n }).mount()\r\n })\r\n }\r\n\r\n onClickTeamMember(event) {\r\n const clickedTab = event.target.closest(this.options.teamMembers)\r\n\r\n if (this.modalContainer !== null) {\r\n this.modalContainer.forEach(modal => {\r\n modal.classList.add('active')\r\n\r\n var modalCloseButton = modal.querySelectorAll('.close')\r\n var modalMember = modal.querySelector('.member-name')\r\n var modalRole = modal.querySelector('.role')\r\n var modalQuote = modal.querySelector('.quote')\r\n var modalSocial = modal.querySelector('.social')\r\n var modalImage = modal.querySelector('.image')\r\n\r\n modalMember ? modalMember.innerHTML = clickedTab.dataset.member : modalMember.innerHTML = ''\r\n modalRole ? modalRole.innerHTML = clickedTab.dataset.role : modalRole.innerHTML = ''\r\n modalQuote ? modalQuote.innerHTML = `“${clickedTab.dataset.quote}”` : modalQuote.innerHTML = ''\r\n modalSocial ? modalSocial.href = clickedTab.dataset.social : modalSocial.href = ''\r\n modalImage ? modalImage.src = clickedTab.dataset.image : modalSocial.src = ''\r\n\r\n modalCloseButton.forEach(button => {\r\n button.addEventListener(\"click\", () => {\r\n modal.classList.remove('active')\r\n\r\n modalMember.innerHTML = ''\r\n modalRole.innerHTML = ''\r\n modalQuote.innerHTML = ''\r\n modalSocial.href = ''\r\n modalSocial.src = ''\r\n })\r\n })\r\n\r\n })\r\n }\r\n }\r\n}"]}