{"version":3,"sources":["index.js"],"names":["ElderCarousel","selector","opts","wrapper","wrapperWidth","track","trackWidth","trackPosition","startPosition","items","itemWidth","firstItem","lastItem","settings","defaults","playInterval","navDisabled","isEnd","isStart","setup","prototype","next","loop","length","step","move","prev","Math","abs","goTo","index","play","clearInterval","setInterval","stop","self","style","transition","speed","transform","buildUI","navs","createNavs","setTrackStartPosition","setupEvents","document","querySelector","classList","add","clientWidth","parseInt","Array","from","children","forEach","item","width","leftClonedItems","slice","map","clonedItem","cloneNode","rightClonedItems","createElement","className","appendChild","trackHolder","updateUI","window","addEventListener","setTrackEndPosition","prevNav","nextNav","setAttribute","debounce","fn","ms","timer","clearTimeout","args","setTimeout","bind","createPagination","paginationWrapperEl","dotsLength","i","dot","updatePagination","PAGE_DISTANCE","paginationDotsNodeList","querySelectorAll","dots","remove","start","setTrackPosition","endPosition","transitionProperty","firstItemClone","push","pagination"],"mappings":"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","sourcesContent":["(function () {\n function ElderCarousel(selector, opts) {\n this.wrapper = null\n this.wrapperWidth = 0\n this.track = null\n this.trackWidth = 0\n this.trackPosition = 0\n this.startPosition = 0\n // this.trackMouseDown = false\n this.items = []\n this.itemWidth = 0\n this.firstItem = null\n // this.pageDistance = 0\n this.lastItem = null\n this.settings = { ...ElderCarousel.defaults, ...opts };\n this.settings.selector = selector\n this.playInterval = null\n this.navDisabled = false\n this.isEnd = false\n this.isStart = false\n setup(this);\n }\n\n ElderCarousel.prototype.next = function () {\n // this.isEnd = Math.abs(this.trackPosition) === this.trackWidth - this.itemWidth\n\n if (!this.settings.loop && this.isEnd || this.items.length === 1) return\n\n this.trackPosition -= this.itemWidth * this.settings.step\n\n move(this)\n };\n\n ElderCarousel.prototype.prev = function () {\n this.isStart = Math.abs(this.trackPosition) === 0\n\n if (!this.settings.loop && this.isStart || this.items.length === 1) return\n\n this.trackPosition += this.itemWidth * this.settings.step\n\n move(this)\n };\n\n ElderCarousel.prototype.goTo = function (index) {\n this.trackPosition = -(index * this.itemWidth)\n move(this)\n };\n\n ElderCarousel.prototype.play = function () {\n\n clearInterval(this.playInterval)\n\n this.playInterval = setInterval(() => {\n this.next()\n }, this.settings.playInterval)\n\n };\n\n ElderCarousel.prototype.stop = function () {\n clearInterval(this.playInterval)\n };\n\n function move(self) {\n self.track.style.transition = `transform ${self.settings.speed}ms ease`\n self.track.style.transform = `translate3d(${self.trackPosition}px,0,0)`\n // updatePagination(self)\n if (self.settings.play) self.play()\n }\n\n function setup(self) {\n\n if (!buildUI(self)) return\n\n // if (self.settings.pagination) createPagination(self)\n\n if (self.settings.navs) createNavs(self)\n\n if (self.settings.play) self.play()\n\n setTrackStartPosition(self)\n\n setupEvents(self)\n }\n\n function buildUI(self) {\n self.wrapper = document.querySelector(self.settings.selector)\n if (!self.wrapper) return false\n self.wrapper.classList.add(\"ec\")\n self.wrapperWidth = self.wrapper.clientWidth\n self.itemWidth = parseInt(self.wrapperWidth / self.settings.items)\n\n self.items = Array.from(self.wrapper.children)\n\n if (self.items.length === 0) return false\n\n self.items.forEach(item => {\n item.classList.add('ec__item')\n item.style.width = self.itemWidth + 'px'\n })\n\n if (self.items.length > 1) {\n // fazer calcullo com step ao invez de items\n const leftClonedItems = self.items.slice(self.items.length - self.settings.items, self.items.length).map(item => {\n const clonedItem = item.cloneNode(true)\n clonedItem.classList.add('cloned')\n return clonedItem;\n })\n\n const rightClonedItems = self.items.slice(0, self.settings.items).map(item => {\n const clonedItem = item.cloneNode(true)\n clonedItem.classList.add('cloned')\n return clonedItem;\n })\n\n self.items = [ ...leftClonedItems, ...self.items, ...rightClonedItems ]\n }\n\n self.track = document.createElement('div')\n self.track.className = 'ec__track'\n self.trackWidth = self.itemWidth * self.items.length\n self.track.style.width = self.trackWidth + 'px'\n self.items.forEach(item => self.track.appendChild(item))\n\n const trackHolder = document.createElement('div')\n trackHolder.className = 'ec__holder'\n trackHolder.appendChild(self.track)\n\n self.wrapper.appendChild(trackHolder)\n return true\n }\n\n // Atualiza a UI\n function updateUI(self) {\n self.wrapperWidth = self.wrapper.clientWidth\n self.itemWidth = parseInt(self.wrapperWidth / self.settings.items)\n\n self.trackWidth = self.itemWidth * self.items.length\n self.track.style.width = self.trackWidth + 'px'\n\n self.items.forEach(item => item.style.width = self.itemWidth + 'px')\n }\n\n // Adiciona os eventos\n function setupEvents(self) {\n\n // Eventos da window\n window.addEventListener('resize', () => updateUI(self))\n\n // Eventos da track\n self.track.addEventListener('transitionstart', () => {\n self.isEnd = Math.abs(self.trackPosition) === self.trackWidth - (self.itemWidth * self.settings.step)\n\n });\n\n self.track.addEventListener('transitionend', () => {\n\n if (self.items.length !== 1) {\n self.isEnd = Math.abs(self.trackPosition) === self.trackWidth - (self.itemWidth * self.settings.items)\n if (self.isEnd) setTrackStartPosition(self)\n\n self.isStart = Math.abs(self.trackPosition) === 0\n if (self.isStart) setTrackEndPosition(self)\n }\n\n self.navDisabled = false\n })\n }\n\n // Cria os botões de navegação\n function createNavs(self) {\n let prevNav, nextNav\n\n // Seta de navegação esquerda\n prevNav = self.settings.prevNav || document.createElement('div')\n prevNav.className = 'ec__nav ec__nav--prev'\n prevNav.setAttribute('role', 'button')\n prevNav.setAttribute('disabled', 'true')\n prevNav.addEventListener('click', () => {\n if (self.navDisabled) return\n self.navDisabled = true\n self.prev()\n })\n\n // Seta de navegação direita\n nextNav = self.settings.nextNav || document.createElement('div')\n nextNav.className = 'ec__nav ec__nav--next'\n nextNav.setAttribute('role', 'button')\n nextNav.addEventListener('click', () => {\n if (self.navDisabled) return\n self.navDisabled = true\n self.next()\n })\n\n self.wrapper.appendChild(prevNav)\n self.wrapper.appendChild(nextNav)\n }\n\n function debounce(fn, ms) {\n let timer = 0\n return function (...args) {\n clearTimeout(timer)\n timer = setTimeout(fn.bind(this, ...args), ms || 0)\n }\n }\n\n function createPagination(self) {\n let paginationWrapperEl = document.createElement('div')\n paginationWrapperEl.className = 'ec__pagination'\n let dotsLength = self.items.length / self.settings.items\n for (let i = 0; i < dotsLength; i++) {\n let dot = document.createElement('div')\n dot.className = 'pagination__dot'\n const index = i * self.settings.items\n dot.addEventListener('click', function () { self.goTo(index) })\n paginationWrapperEl.appendChild(dot)\n }\n self.wrapper.appendChild(paginationWrapperEl)\n }\n\n function updatePagination(self) {\n const PAGE_DISTANCE = self.settings.items * self.itemWidth\n if (Math.abs(self.trackPosition) % PAGE_DISTANCE === 0) {\n const index = Math.abs(self.trackPosition) / PAGE_DISTANCE\n const paginationDotsNodeList = self.wrapper.querySelectorAll('.pagination__dot')\n const dots = Array.from(paginationDotsNodeList)\n dots.forEach(dot => dot.classList.remove('pagination__dot--active'))\n dots[index].classList.add('pagination__dot--active')\n }\n }\n\n function setTrackStartPosition(self) {\n if (self.items.length === 1) {\n self.trackPosition = 0\n } else {\n self.startPosition = (self.settings.start + self.settings.items) * self.itemWidth\n self.trackPosition = self.startPosition * -1\n }\n setTrackPosition(self)\n }\n\n function setTrackEndPosition(self) {\n self.endPosition = Math.abs(self.trackPosition) - (self.itemWidth * (self.settings.items * 2 + 1))\n self.trackPosition = self.endPosition\n setTrackPosition(self)\n }\n\n function setTrackPosition(self) {\n self.track.style.transitionProperty = 'none'\n self.track.style.transform = `translate3d(${self.trackPosition}px,0,0)`\n }\n\n function loop(self) {\n const firstItemClone = self.firstItem.cloneNode(true)\n firstItemClone.classList.add('cloned')\n self.items.push(firstItemClone)\n self.track.appendChild(firstItemClone)\n updateUI(self);\n move(self);\n }\n\n ElderCarousel.defaults = {\n selector: '',\n items: 3,\n step: 1,\n speed: 300,\n start: 0,\n pagination: true,\n navs: true,\n // navPrev: null,\n loop: true,\n play: false,\n playInterval: 3000\n };\n\n window.ElderCarousel = ElderCarousel;\n})();\n"],"file":"index.min.js"}