{"version":3,"file":"script.min.js","sources":["../../../../block-editor/blocks/media-slider/script.js"],"sourcesContent":["class MediaSlider {\n\n\tstatic instances = [];\n\n\tconstructor( node, opts = {} ) {\n\t\tif ( ! node ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.node = node;\n\t\tthis.opts = {\n\t\t\titems : '.media-slider__items',\n\t\t\tnext : '.media-slider__next',\n\t\t\tprev : '.media-slider__prev',\n\t\t\tpagination : '.media-slider__pagination',\n\t\t\tautoplay: false,\n\t\t\tinterval: 5000,\n\t\t};\n\n\t\tObject.keys( this.opts ).forEach( key => {\n\t\t\tif ( typeof opts[ key ] !== 'undefined' ) {\n\t\t\t\tthis.opts[ key ] = opts[ key ];\n\t\t\t} else if ( typeof this.node.dataset[ key ] !== 'undefined' ) {\n\t\t\t\tthis.opts[ key ] = this.node.dataset[ key ];\n\t\t\t}\n\t\t} );\n\n\t\tthis.items = node.querySelector( this.opts.items );\n\t\tthis.prev = node.querySelector( this.opts.prev );\n\t\tthis.next = node.querySelector( this.opts.next );\n\t\tthis.pagination = node.querySelector( this.opts.pagination );\n\n\t\tif ( this.opts.autoplay ) {\n\t\t\tthis.interval = setInterval( () => {\n\t\t\t\tif ( this.getCurrentScrollIndex() >= items.children.length - 1 ) {\n\t\t\t\t\treturn this.setScrollIndex(0);\n\t\t\t\t}\n\n\t\t\t\treturn this.scrollNext();\n\t\t\t}, parseInt( this.opts.interval, 10 ) );\n\t\t}\n\n\t\tif ( this.prev ) {\n\t\t\tthis.prev.addEventListener( 'click', () => {\n\t\t\t\tthis.scrollPrev();\n\n\t\t\t\tif ( this.interval ) {\n\t\t\t\t\tclearInterval( this.interval );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tif ( this.next ) {\n\t\t\tthis.next.addEventListener( 'click', () => {\n\t\t\t\tthis.scrollNext();\n\n\t\t\t\tif ( this.interval ) {\n\t\t\t\t\tclearInterval( this.interval );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tif ( this.pagination ) {\n\t\t\tthis.pagination.addEventListener( 'click', (e) => {\n\t\t\t\tlet clickedDot = e.target;\n\t\t\t\tconst dotIndex = [...clickedDot.parentElement.children].indexOf(clickedDot);\n\t\t\t\tthis.setScrollIndex(dotIndex);\n\t\t\t} );\n\t\t}\n\n\t\tthis.items.addEventListener( 'scroll', this.setState.bind( this ) );\n\t\tthis.setScrollIndex(0);\n\t\tthis.setState();\n\n\t\tMediaSlider.instances.push(this);\n\t}\n\n\tscrollPrev() {\n\t\tthis.setScrollIndex( Math.round( Math.max( this.getCurrentScrollIndex() - 1, 0 ) ) );\n\t}\n\n\tscrollNext() {\n\t\tthis.setScrollIndex( Math.round( Math.min( this.getCurrentScrollIndex() + 1, this.items.children.length - 1 ) ) );\n\t}\n\n\tsetScrollIndex( index, behavior = 'smooth' ) {\n\t\tthis.items.scrollTo( {\n\t\t\tleft: index * this.items.offsetWidth,\n\t\t\ttop: 0,\n\t\t\tbehavior: behavior || this.opts.scrollBehavior\n\t\t} );\n\t};\n\n\tgetCurrentScrollIndex() {\n\t\treturn Math.round( this.items.scrollLeft / this.items.offsetWidth );\n\t}\n\n\tsetState() {\n\t\tconst index = this.getCurrentScrollIndex();\n\n\t\tif ( index >= this.items.children.length - 1 ) {\n\t\t\tif ( this.next ) {\n\t\t\t\tthis.next.disabled = true;\n\t\t\t}\n\n\t\t\tif ( this.prev ) {\n\t\t\t\tthis.prev.removeAttribute('disabled');\n\t\t\t}\n\t\t} else if ( index <= 0 ) {\n\t\t\tif ( this.next ) {\n\t\t\t\tthis.next.removeAttribute('disabled');\n\t\t\t}\n\n\t\t\tif ( this.prev ) {\n\t\t\t\tthis.prev.disabled = true;\n\t\t\t}\n\t\t} else {\n\t\t\tif ( this.next ) {\n\t\t\t\tthis.next.removeAttribute('disabled');\n\t\t\t}\n\n\t\t\tif ( this.prev ) {\n\t\t\t\tthis.prev.removeAttribute('disabled');\n\t\t\t}\n\t\t}\n\n\t\tlet prevActiveDot = this.pagination.querySelector('[disabled]');\n\t\tif( prevActiveDot ) {\n\t\t\tprevActiveDot.removeAttribute('disabled');\n\t\t}\n\t\tthis.pagination.children[index].disabled = true;\n\t}\n}\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\tdocument.querySelectorAll( '.media-slider' ).forEach( node => {\n\t\tnew MediaSlider( node )\n\t} );\n} );\n\nexport default MediaSlider;\n"],"names":["MediaSlider","static","constructor","node","opts","this","items","next","prev","pagination","autoplay","interval","Object","keys","forEach","key","dataset","querySelector","setInterval","getCurrentScrollIndex","children","length","setScrollIndex","scrollNext","parseInt","addEventListener","scrollPrev","clearInterval","e","clickedDot","target","dotIndex","parentElement","indexOf","setState","bind","instances","push","Math","round","max","min","index","behavior","scrollTo","left","offsetWidth","top","scrollBehavior","scrollLeft","disabled","removeAttribute","prevActiveDot","document","querySelectorAll"],"mappings":"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"}