{"version":3,"file":"paginator-B_N1K7Zu.js","sources":["../../../../../../HFC.Optimizely.FrontEnd/src/scripts/components/paginator.ts"],"sourcesContent":["import { Component } from '@verndale/core';\nimport '../../scss/components/_paginator.scss';\n\nclass Paginator extends Component {\n setupDefaults() {\n this.dom = {\n goToFirstBtn: this.el.querySelector('.first-page') as HTMLAnchorElement,\n prevBtn: this.el.querySelector('.prev') as HTMLAnchorElement,\n nextBtn: this.el.querySelector('.next') as HTMLAnchorElement,\n goToLastBtn: this.el.querySelector('.last-page') as HTMLAnchorElement,\n pages: this.el.querySelectorAll('.controls__items a')\n };\n\n this.init();\n }\n\n addListeners() {}\n\n init() {\n const data = {\n currentPage: Number(this.el.dataset.currentPage),\n totalPages: Number(this.el.dataset.totalPages),\n nextPage: Number(this.el.dataset.nextPage),\n previousPage: Number(this.el.dataset.previousPage),\n totalItems: Number(this.el.dataset.totalItems)\n };\n\n const pagesArray = Array.from(this.dom.pages as NodeList) as HTMLAnchorElement[];\n let activeBtn: HTMLAnchorElement;\n\n for (let i = 0; i < pagesArray.length; i++) {\n if (i + 1 === data.currentPage) {\n activeBtn = pagesArray[i] as HTMLAnchorElement;\n activeBtn.classList.add('active');\n activeBtn.setAttribute('aria-label', `Current Page, Page ${data.currentPage}`);\n activeBtn.setAttribute('aria-current', 'true');\n break;\n }\n }\n\n if (data.currentPage === 1) {\n (this.dom.prevBtn as HTMLAnchorElement).classList.add('disabled');\n (this.dom.goToFirstBtn as HTMLAnchorElement).classList.add('disabled');\n }\n\n if (data.currentPage === data.totalPages) {\n (this.dom.nextBtn as HTMLAnchorElement).classList.add('disabled');\n (this.dom.goToLastBtn as HTMLAnchorElement).classList.add('disabled');\n }\n }\n}\n\nexport default Paginator;\n"],"names":["Paginator","Component","data","pagesArray","activeBtn","i"],"mappings":"qCAGA,MAAMA,UAAkBC,CAAU,CAChC,eAAgB,CACd,KAAK,IAAM,CACT,aAAc,KAAK,GAAG,cAAc,aAAa,EACjD,QAAS,KAAK,GAAG,cAAc,OAAO,EACtC,QAAS,KAAK,GAAG,cAAc,OAAO,EACtC,YAAa,KAAK,GAAG,cAAc,YAAY,EAC/C,MAAO,KAAK,GAAG,iBAAiB,oBAAoB,CAAA,EAGtD,KAAK,KAAK,CACZ,CAEA,cAAe,CAAC,CAEhB,MAAO,CACL,MAAMC,EAAO,CACX,YAAa,OAAO,KAAK,GAAG,QAAQ,WAAW,EAC/C,WAAY,OAAO,KAAK,GAAG,QAAQ,UAAU,EAC7C,SAAU,OAAO,KAAK,GAAG,QAAQ,QAAQ,EACzC,aAAc,OAAO,KAAK,GAAG,QAAQ,YAAY,EACjD,WAAY,OAAO,KAAK,GAAG,QAAQ,UAAU,CAAA,EAGzCC,EAAa,MAAM,KAAK,KAAK,IAAI,KAAiB,EACpD,IAAAC,EAEJ,QAASC,EAAI,EAAGA,EAAIF,EAAW,OAAQE,IACjC,GAAAA,EAAI,IAAMH,EAAK,YAAa,CAC9BE,EAAYD,EAAWE,CAAC,EACdD,EAAA,UAAU,IAAI,QAAQ,EAChCA,EAAU,aAAa,aAAc,sBAAsBF,EAAK,WAAW,EAAE,EACnEE,EAAA,aAAa,eAAgB,MAAM,EAC7C,KACF,CAGEF,EAAK,cAAgB,IACtB,KAAK,IAAI,QAA8B,UAAU,IAAI,UAAU,EAC/D,KAAK,IAAI,aAAmC,UAAU,IAAI,UAAU,GAGnEA,EAAK,cAAgBA,EAAK,aAC3B,KAAK,IAAI,QAA8B,UAAU,IAAI,UAAU,EAC/D,KAAK,IAAI,YAAkC,UAAU,IAAI,UAAU,EAExE,CACF"}