{"version":3,"sources":["ScrollableList.js","ShareMenu.js","YTPlaylist.js"],"names":["root","factory","define","amd","ScrollableList","Hammer","this","createButtons","prev","next","document","createElement","classList","add","setAttribute","container","appendChild","addEventListener","toright","toleft","destroyButtons","remove","dataset","buttons","createPager","pagerElement","pager","pagerList","querySelector","Pager","destroyPager","destroy","element","options","Object","defineProperties","defaults","value","items","querySelectorAll","step","writable","strip","hammer","setup","bind","update","panstart","panleft","panright","panend","position","apply","get","set","threshold","parseInt","velocity","time","on","window","dispatch","bubbles","cancelable","list","goto","ready","DEFAULTS","prototype","opt","length","clientWidth","viewport","Math","round","style","transform","contains","x","abs","toX","detail","action","viewportIndex","ceil","viewportSize","listSize","min","event","panDistance","deltaX","max","move","left","isNaN","match","replace","index","off","removeEventListener","name","init","newEvent","CustomEvent","err","createEvent","initCustomEvent","dispatchEvent","innerHTML","i","item","slideIndex","current","target","Array","forEach","ShareMenu","menu","show","hide","share","addthis","el","media","preventDefault","stopPropagation","button","message","addthis_share","url","location","href","title","YTPlaylist","loadAPI","YT","loaded","createPlayer","tag","src","firstScriptTag","getElementsByTagName","parentNode","insertBefore","onYouTubeIframeAPIReady","videos","parentElement","videoId","getAttribute","player","Player","playerElement","playerVars","modestbranding","rel","play","videoid","scrollTo","cueVideoById","playVideo"],"mappings":"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","file":"index.js","sourcesContent":["(function (root, factory) {\n // UMD/AMDWeb module bolierplate: https://github.com/umdjs/umd/blob/master/templates/amdWeb.js\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define('ScrollableList', ['Hammer'], factory);\n } else {\n // Browser globals\n root.ScrollableList = factory(root.Hammer);\n }\n}(this, function (Hammer) {\n 'use strict';\n\n /**\n * @private\n * @description Default options\n */\n var DEFAULTS = {\n pager: false\n }\n\n /**\n * @private\n * @function createButtons\n * @description create navigation buttons\n * @returns {undefined} \n */\n function createButtons(prev, next) {\n if (!prev) {\n prev = document.createElement('a');\n prev.classList.add('prevbutton');\n prev.setAttribute('data-prev-item', '');\n this.container.appendChild(prev);\n prev.addEventListener('click', this.toright);\n }\n if (!next) {\n next = document.createElement('a');\n next.classList.add('nextbutton');\n next.setAttribute('data-next-item', '');\n this.container.appendChild(next);\n next.addEventListener('click', this.toleft);\n }\n return;\n }\n\n /**\n * @private\n * @function destroyButtons\n * @description destroy list buttons\n * @returns {undefined}\n */\n function destroyButtons(prev, next) {\n if (prev) {\n prev.addEventListener('click', this.prev);\n prev.remove();\n }\n if (next) {\n next.addEventListener('click', this.next);\n next.remove();\n }\n delete this.container.dataset.buttons;\n }\n\n /**\n * @private\n * @function createPager\n * @description Create pager navigation\n * @returns {undefined}\n */\n function createPager(pagerElement) {\n if (this.pager) return;\n if (!pagerElement) {\n pagerElement = document.createElement('div');\n pagerElement.classList.add('listpager');\n }\n var pagerList = pagerElement.querySelector('ul')\n if (!pagerList) {\n pagerList = document.createElement('ul')\n }\n pagerElement.appendChild(pagerList);\n this.pager = new Pager(pagerElement, this);\n this.container.appendChild(pagerElement);\n }\n\n /**\n * @private\n * @function destroyPager\n * @description Destroy pager navigation\n * @returns {undefined}\n */\n function destroyPager() {\n this.pager.destroy();\n this.pager = null;\n var pagerElement = this.container.querySelector('.listpager');\n pagerElement.remove();\n }\n\n\n\n /**\n * @class ScrollableList\n * @description Lista scrollabile di elementi se contiene piĆ¹ elementi della sua larghezza\n * @param {HTMLElement} element Container element\n * @param {Object} options Configuration\n */\n function ScrollableList(element, options) {\n\n Object.defineProperties(this, {\n defaults: {\n value: {}\n },\n container: {\n value: element\n },\n items: {\n value: element.querySelectorAll('.listitem')\n },\n step: {\n value: 0,\n writable: true\n },\n strip: {\n value: 0,\n writable: true\n },\n hammer: {\n value: (typeof (Hammer) !== 'undefined') ? new Hammer(element) : null\n },\n setup: {\n value: this.setup.bind(this)\n },\n update: {\n value: this.update.bind(this)\n },\n toleft: {\n value: this.toleft.bind(this)\n },\n toright: {\n value: this.toright.bind(this)\n },\n panstart: {\n value: this.panstart.bind(this)\n },\n panleft: {\n value: this.panleft.bind(this)\n },\n panright: {\n value: this.panright.bind(this)\n },\n panend: {\n value: this.panend.bind(this)\n },\n position: {\n value: this.position.bind(this)\n },\n destroy: {\n value: this.destroy.bind(this)\n }\n });\n\n createButtons.apply(this);\n\n this.setup(options);\n this.update();\n\n if (this.hammer) {\n this.hammer.get('swipe').set({\n threshold: parseInt(this.step * .1),\n velocity: 0.2\n });\n this.hammer.get('press').set({ time: 100 })\n this.hammer.get('pan').set({ threshold: parseInt(this.step * .25), });\n this.hammer.on('swipeleft', this.toleft);\n this.hammer.on('swiperight', this.toright);\n this.hammer.on('press', this.panstart);\n this.hammer.on('panleft', this.panleft);\n this.hammer.on('panright', this.panright);\n this.hammer.on('panend', this.panend);\n this.container.addEventListener('mouseup', this.panend);\n }\n window.addEventListener('resize', this.update);\n\n this.dispatch('list-ready', {\n bubbles: true,\n cancelable: false\n });\n }\n\n ScrollableList.prototype = {\n /**\n * @function ScrollableList.setup\n * @description Configure instance\n * @param {Object} options Configuration\n */\n setup: function (options) {\n for (var opt in DEFAULTS) {\n this.defaults[opt] = (typeof (this.defaults[opt]) !== 'undefined') ? this.defaults[opt] : DEFAULTS[opt];\n if (typeof (this.container.dataset[opt]) !== 'undefined') this.defaults[opt] = this.container.dataset[opt];\n if (options && typeof (options[opt]) !== 'undefined') this.defaults[opt] = options[opt];\n this.container.dataset[opt] = this.defaults[opt];\n }\n },\n update: function () {\n if (this.items.length) {\n this.step = this.items[0].clientWidth;\n this.strip = this.step * this.items.length;\n this.viewport = Math.round(this.container.clientWidth / this.step);\n }\n\n if (this.viewport >= this.items.length) {\n this.container.classList.add('-hide-controls');\n } else {\n this.container.classList.remove('-hide-controls');\n }\n\n this.container.querySelector('ul').style.transform = 'translateX(0px)';\n\n // add/remove pager\n if (this.defaults.pager) {\n if(this.pager) destroyPager.apply(this);\n var pagerElement = this.container.querySelector('.listpager');\n createPager.apply(this, [pagerElement]);\n } else {\n if (this.pager) destroyPager.apply(this);\n }\n },\n toleft: function () {\n if (this.container.classList.contains('-panning')) return;\n var x = Math.abs(this.position());\n if (x / this.step + this.viewport >= this.items.length - this.viewport) {\n var toX = (this.items.length - this.viewport) * this.step * -1;\n if (toX == this.position()) return;\n this.position(toX);\n this.dispatch('list-scroll', {\n bubbles: true,\n cancelable: false,\n detail: {\n action: 'toleft',\n viewportIndex: Math.ceil(Math.abs(toX / this.step / this.viewport)),\n viewportSize: this.viewport,\n listSize: this.items.length\n }\n });\n return;\n }\n var toX = (x / this.step + this.viewport) * this.step * -1;\n this.dispatch('list-scroll', {\n bubbles: true,\n cancelable: false,\n detail: {\n action: 'toleft',\n viewportIndex: Math.ceil(Math.abs(toX / this.step / this.viewport)),\n viewportSize: this.viewport,\n listSize: this.items.length\n }\n });\n this.position(toX);\n },\n toright: function () {\n if (this.container.classList.contains('-panning')) return;\n var x = Math.abs(this.position());\n if (x < this.step) return;\n var toX = Math.min((x - this.step * this.viewport) * -1, 0);\n this.dispatch('list-scroll', {\n bubbles: true,\n cancelable: false,\n detail: {\n action: 'toright',\n viewportIndex: Math.ceil(Math.abs(toX / this.step / this.viewport)),\n viewportSize: this.viewport,\n listSize: this.items.length\n }\n });\n this.position(toX);\n },\n panstart: function (event) {\n this.container.classList.add('-panning');\n this.panDistance = 0;\n },\n panleft: function (event) {\n if (!this.container.classList.contains('-panning')) return;\n this.panDistance = Math.abs(parseInt(Math.abs(event.deltaX) * Math.abs(event.velocity)) - this.panDistance);\n var x = Math.abs(this.position());\n var max = this.step * this.items.length - this.container.clientWidth;\n var move = Math.max(x + this.panDistance, x);\n var move = Math.min(x + this.panDistance, max);\n this.position(move * -1);\n },\n panright: function (event) {\n if (!this.container.classList.contains('-panning')) return;\n this.panDistance = parseInt(Math.abs(event.deltaX) * Math.abs(event.velocity)) - this.panDistance;\n var x = Math.abs(this.position());\n var max = this.step * this.items.length - this.container.clientWidth;\n var move = Math.min(x - this.panDistance, max);\n move = Math.max(x - this.panDistance, 0);\n this.position(move * -1);\n },\n panend: function (event) {\n this.container.classList.remove('-panning');\n this.panDistance = 0;\n var x = this.position();\n var left = Math.round(x / this.step) * this.step;\n this.position(left);\n },\n position: function (position) {\n var element = this.container.querySelector('ul');\n if (isNaN(position)) {\n var x = element.style.transform.match(/translateX\\(\\-?[0-9]+(px)\\)/);\n return x ? parseInt(x[0].replace('translateX(', '').replace(')', '')) : 0;\n } else {\n position = Math.min(position, 0);\n element.style.transform = 'translateX(' + position + 'px)';\n return position;\n }\n },\n goto: function (index) {\n if (isNaN(index)) index = 0;\n index = Math.abs(index);\n var position = this.step * this.viewport * index * -1;\n position = Math.min(position, 0);\n var max = (this.items.length - this.viewport) * this.step * -1\n position = Math.max(position, max);\n if (position == this.position()) return this.position();\n this.dispatch('list-scroll', {\n bubbles: true,\n cancelable: false,\n detail: {\n action: 'goto',\n viewportIndex: index,\n viewportSize: this.viewport,\n listSize: this.items.length\n }\n });\n return this.position(position);\n },\n ready: function() {\n return this.container && this.items.length\n },\n destroy: function () {\n this.hammer.off('swipeleft');\n this.hammer.off('swiperight');\n this.hammer.off('press');\n this.hammer.off('panleft');\n this.hammer.off('panright');\n this.hammer.off('panend');\n this.container.removeEventListener('mouseup', this.panend);\n window.removeEventListener('resize', this.update);\n this.container.querySelector('ul').style.transform = null;\n destroyButtons.apply(this);\n if (this.pager) destroyPager.apply(this);\n },\n dispatch: function (name, init) {\n var newEvent;\n try {\n newEvent = new CustomEvent(name, init)\n } catch (err) {\n newEvent = document.createEvent('CustomEvent')\n newEvent.initCustomEvent(\n name,\n init && typeof (init.bubbles) !== 'undefined' ? init.bubbles : true,\n init && typeof (init.cancelable) !== 'undefined' ? init.cancelable : false,\n init ? init.detail : null\n );\n }\n this.container.dispatchEvent(newEvent);\n }\n }\n\n /**\n * @class Pager\n * @param {HTMLElement} element\n * @param {ScrollableList} list\n */\n function Pager(element, list) {\n Object.defineProperties(this, {\n container: {\n value: element\n },\n list: {\n value: list\n },\n items: {\n value: null,\n writable: true\n },\n setup: {\n value: this.setup.bind(this)\n },\n update: {\n value: this.update.bind(this)\n },\n goto: {\n value: this.goto.bind(this)\n }\n });\n\n if (this.list.ready()) {\n this.setup();\n } else {\n this.list.container.addEventListener('list-ready', this.setup);\n }\n }\n\n Pager.prototype = {\n setup: function () {\n this.items = null;\n var container = this.container;\n this.container.querySelector('ul').innerHTML = '';\n var max = Math.ceil(this.list.items.length / this.list.viewport);\n for (var i = 0; i < max; i++) {\n var item = document.createElement('li');\n item.classList.add('pageritem');\n item.dataset.slideIndex = i;\n item.innerHTML = i + 1;\n this.container.querySelector('ul').appendChild(item);\n item.addEventListener('click', this.goto)\n }\n this.items = this.container.querySelectorAll('.pageritem[data-slide-index]');\n this.list.container.addEventListener('list-scroll', this.update);\n this.update();\n },\n update: function (event) {\n // remove \"current\" state from current pager item\n var current = this.container.querySelector('.pageritem.-current');\n if (current) current.classList.remove('-current');\n var index = 0;\n if (event) index = event.detail.viewportIndex;\n // get current slide\n index = (index < this.items.length) ? index : this.items.length;\n if (this.container.querySelector('.pageritem[data-slide-index=\"' + index + '\"]')) {\n this.container.querySelector('.pageritem[data-slide-index=\"' + index + '\"]').classList.add('-current');\n }\n },\n goto: function (event) {\n var index = parseInt(event.target.dataset.slideIndex);\n if (!isNaN(index)) this.list.goto(index);\n },\n destroy: function () {\n this.list.container.removeEventListener('list-slide-start', this.update);\n this.list.container.removeEventListener('list-ready', this.setup);\n Array.prototype.forEach.apply(this.items, [function (item) {\n item.removeEventListener('click', this.goto);\n }, this]);\n }\n }\n\n return ScrollableList\n\n}));\n","(function (root, factory) {\n // UMD/AMDWeb module bolierplate: https://github.com/umdjs/umd/blob/master/templates/amdWeb.js\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define('ShareMenu', [], factory);\n } else {\n // Browser globals\n root.ShareMenu = factory();\n }\n}(this, function () {\n 'use strict';\n\n var DEFAULTS = {\n media: {}\n }\n\n function ShareMenu(element, options) {\n Object.defineProperties(this, {\n defaults: {\n value: {}\n },\n container: {\n value: element\n },\n buttons: {\n value: element.querySelectorAll('.sharebutton')\n },\n menu: {\n value: element.querySelector('.sharebuttons')\n },\n setup: {\n value: this.setup.bind(this)\n },\n show: {\n value: this.show.bind(this)\n },\n hide: {\n value: this.hide.bind(this)\n },\n share: {\n value: this.share.bind(this)\n }\n });\n\n this.setup(options);\n\n window.addthis.addEventListener('addthis.menu.share', this.share);\n\n Array.prototype.forEach.apply(this.buttons, [function(el) {\n el.addEventListener('click', this.show);\n }, this]);\n\n document.addEventListener('click', this.hide);\n\n this.menu.addEventListener('transitionend', function(event) {\n if(event.target == this && !event.target.classList.contains('-visible')) {\n delete this.dataset.current;\n }\n })\n }\n\n ShareMenu.prototype = {\n container: null,\n buttons: null,\n setup: function(options) {\n for(var opt in DEFAULTS) {\n this.defaults[opt] = (typeof(this.defaults[opt]) !== 'undefined') ? this.defaults[opt] : DEFAULTS[opt];\n if (typeof(this.container.dataset[opt]) !== 'undefined') this.defaults[opt] = this.container.dataset[opt];\n if (options && typeof(options[opt]) !== 'undefined') this.defaults[opt] = options[opt];\n }\n },\n show: function(event) {\n event.preventDefault();\n event.stopPropagation();\n this.menu.classList.add('-visible');\n this.current = event.target.dataset.button\n this.menu.dataset.current = this.current;\n this.message = event.target.dataset.message;\n addthis_share = {\n url: window.location.href,\n title: this.message,\n media: this.defaults.media[this.current]\n }\n },\n hide: function(event) {\n this.current = null;\n this.message = null;\n this.menu.classList.remove('-visible');\n },\n share: function(event) {\n\n }\n }\n\n return ShareMenu;\n\n}));","(function (root, factory) {\n // UMD/AMDWeb module bolierplate: https://github.com/umdjs/umd/blob/master/templates/amdWeb.js\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define('YTPlaylist', [], factory);\n } else {\n // Browser globals\n root.YTPlaylist = factory();\n }\n}(this, function () {\n 'use strict';\n\n function loadAPI() {\n if(window.YT && YT.loaded) return createPlayer.apply(this);\n var tag = document.createElement('script');\n tag.src = \"https://www.youtube.com/iframe_api\";\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n window.onYouTubeIframeAPIReady = createPlayer.bind(this);\n }\n\n function createPlayer() {\n this.videos[0].parentElement.classList.add('-current');\n var videoId = this.videos[0].getAttribute('data-video-id');\n this.player = new YT.Player(this.playerElement, {\n videoId: videoId,\n playerVars: {\n modestbranding: 1,\n rel: 0\n }\n });\n }\n\n function YTPlaylist(element) {\n\n Object.defineProperties(this, {\n container: {\n value: element\n },\n playerElement: {\n value: element.querySelector('.videoplayer'),\n },\n videos: {\n value: element.querySelectorAll('[data-video-id]')\n },\n play: {\n value: this.play.bind(this)\n }\n });\n loadAPI.apply(this);\n Array.prototype.forEach.apply(this.videos, [function(item) { item.addEventListener('click', this.play) }, this]);\n }\n\n YTPlaylist.prototype = {\n container: null,\n play: function(event) {\n event.preventDefault();\n if(!this.player) return;\n if(typeof(this.player.playVideo) !== 'function') return;\n var el = event.target;\n var videoid = el.getAttribute('data-video-id')\n while(!videoid) {\n el = el.parentElement;\n videoid = el.getAttribute('data-video-id');\n }\n window.scrollTo(0,0);\n this.player.cueVideoById(videoid);\n this.player.playVideo();\n this.container.querySelector('.videothumb.-current').classList.remove('-current');\n el.parentElement.classList.add('-current');\n }\n }\n\n return YTPlaylist;\n \n}));"]}