{"version":3,"file":"./block-editor/blocks/card-slider/view-script.js","mappings":"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","sources":["webpack://wdg/webpack/bootstrap","webpack://wdg/webpack/runtime/define property getters","webpack://wdg/webpack/runtime/hasOwnProperty shorthand","webpack://wdg/webpack/runtime/make namespace object","webpack://wdg/./block-editor/blocks/card-slider/view-script.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export class Slider {\n\t/**\n\t * Initialize a new Sections element\n\t *\n\t * @param {HTMLElement} node - the node that contains the root scrolling element\n\t * @param {object} opts -\n\t */\n\tconstructor( node, opts ) {\n\t\tthis.node = node;\n\t\tthis.opts = {\n\t\t\tback: '.card-slider__go--back',\n\t\t\tforward: '.card-slider__go--forward',\n\t\t\tcontent: '.card-slider__content',\n\t\t\titems: '.card-slider__content > *',\n\t\t\tautoscroll: 'card-slider__auto-scroll',\n\t\t\tsticky: true,\n\t\t\t...opts,\n\t\t};\n\n\t\tif ( ! this.node ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.interval = null;\n\t\tthis.back = this.node.querySelector( this.opts.back );\n\t\tthis.forward = this.node.querySelector( this.opts.forward );\n\t\tthis.content = this.node.querySelector( this.opts.content );\n\t\tthis.items = this.node.querySelectorAll( this.opts.items );\n\n\t\tthis.hasAutoscroll = this.node.classList.contains(this.opts.autoscroll);\n\n\t\twindow.addEventListener( 'resize', this.setState.bind( this ) );\n\t\tthis.content.addEventListener( 'scroll', this.setState.bind( this ) );\n\n\t\tthis.forward.addEventListener( 'click', this.forwardIndex.bind( this ) );\n\t\tthis.back.addEventListener( 'click', this.backIndex.bind( this ) );\n\n\t\tthis.setIndex( 0 );\n\t\tthis.setState();\n\t}\n\n\tautoscroll() {\n\t\tconst flavoursContainer = document.getElementById('flavoursContainer');\n\t\tconst containerWidth = container.scrollWidth;\n\n\t\twindow.addEventListener('load', () => {\n\t\t\tself.setInterval(() => {\n\t\t\t\tif (flavoursContainer.scrollLeft !== flavoursScrollWidth) {\n\t\t\t\t\tflavoursContainer.scrollTo(flavoursContainer.scrollLeft + 1, 0);\n\t\t\t\t}\n\t\t\t}, 15);\n\t\t});\n\t}\n\n\t/**\n\t * Scroll forward the scrollable content area\n\t */\n\tscrollForward() {\n\t\tthis.scrollInterval = setInterval( () => {\n\t\t\tthis.content.scrollTo( { left: this.content.scrollLeft + 5 } );\n\n\t\t\tif ( this.forward.disabled ) {\n\t\t\t\tthis.scrollStop();\n\t\t\t}\n\t\t}, 10 );\n\t}\n\n\t/**\n\t * Scroll backwards the scrollable content area\n\t */\n\tscrollBack() {\n\t\tthis.scrollInterval = setInterval( () => {\n\t\t\tthis.content.scrollTo( { left: Math.max( 0, this.content.scrollLeft - 5 ) } );\n\n\t\t\tif ( this.back.disabled ) {\n\t\t\t\tthis.scrollStop();\n\t\t\t}\n\t\t}, 10 );\n\t}\n\n\t/**\n\t * Stop the scrolling interval if it's active\n\t */\n\tscrollStop() {\n\t\tif ( typeof this.scrollInterval === 'number' ) {\n\t\t\tclearInterval( this.scrollInterval );\n\t\t}\n\n\t\tthis.scrollInterval = null;\n\t}\n\n\tsetState() {\n\t\tconst firstItem = this.items[ 0 ];\n\t\tconst lastItem = this.items[ this.items.length - 1 ];\n\n\t\tif ( firstItem.offsetLeft - this.content.scrollLeft >= 0 ) {\n\t\t\t// first item is is view\n\t\t\tthis.back.disabled = true;\n\t\t} else {\n\t\t\t// first item is outside the scroll area\n\t\t\tthis.back.removeAttribute( 'disabled' );\n\t\t}\n\n\t\tif ( this.content.scrollLeft + this.content.offsetWidth >= lastItem.offsetLeft + lastItem.offsetWidth - 1 ) {\n\t\t\t// the last item is fully in view\n\t\t\tthis.forward.disabled = true;\n\t\t} else {\n\t\t\t// last item is outside the scroll area\n\t\t\tthis.forward.removeAttribute( 'disabled' );\n\t\t}\n\t}\n\n\tgetIndex() {\n\t\tconst offset = this.getPaddingOffset();\n\t\tconst distances = [ ...this.items ].map( ( item ) => Math.abs( item.offsetLeft - this.content.scrollLeft - offset ) );\n\n\t\treturn distances.indexOf( Math.min( ...distances ) );\n\t}\n\n\tgetPaddingOffset() {\n\t\treturn Math.max( parseInt( getComputedStyle( this.content ).paddingLeft, 10 ), 0 );\n\t}\n\n\tsetIndex( index, behavior = 'smooth' ) {\n\t\tif ( index <= this.items.length ) {\n\t\t\tconst left = this.items[ index ].offsetLeft - this.getPaddingOffset();\n\n\t\t\tthis.content.scrollTo( {\n\t\t\t\tleft: Math.max( 0, left ),\n\t\t\t\tbehavior,\n\t\t\t} );\n\t\t} else if ( interval > 0 ) {\n\t\t\tclearInterval( interval );\n\t\t\tinterval = null;\n\t\t}\n\t}\n\n\tbackIndex() {\n\t\tthis.setIndex( Math.round( Math.max( this.getIndex() - 1, 0 ) ) );\n\t}\n\n\tforwardIndex() {\n\t\tthis.setIndex( Math.round( Math.min( this.getIndex() + 1, this.items.length - 1 ) ) );\n\t}\n}\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\tdocument.querySelectorAll( '.card-slider' ).forEach( ( node ) => {\n\t\tnew Slider( node, { ...node.dataset } );\n\t} );\n} );\n"],"names":["Slider","constructor","node","opts","back","forward","content","items","autoscroll","sticky","interval","querySelector","querySelectorAll","hasAutoscroll","classList","contains","window","addEventListener","setState","bind","forwardIndex","backIndex","setIndex","flavoursContainer","document","getElementById","containerWidth","container","scrollWidth","self","setInterval","scrollLeft","flavoursScrollWidth","scrollTo","scrollForward","scrollInterval","left","disabled","scrollStop","scrollBack","Math","max","clearInterval","firstItem","lastItem","length","offsetLeft","removeAttribute","offsetWidth","getIndex","offset","getPaddingOffset","distances","map","item","abs","indexOf","min","parseInt","getComputedStyle","paddingLeft","index","behavior","arguments","undefined","round","forEach","dataset"],"sourceRoot":""}