{"version":3,"sources":["webpack:////gll_better/node_modules/core-js/modules/es.number.constructor.js","webpack:///./modules/content_slider/animating.js","webpack:///./modules/content_slider/nav_dots.js","webpack:///./modules/content_slider/touch_handler.js","webpack:///./modules/content_slider/content_slider.js"],"names":["DESCRIPTORS","global","isForced","redefine","has","classof","inheritIfRequired","toPrimitive","fails","create","getOwnPropertyNames","f","getOwnPropertyDescriptor","defineProperty","trim","NativeNumber","NumberPrototype","prototype","BROKEN_CLASSOF","toNumber","argument","first","third","radix","maxCode","digits","length","index","code","it","charCodeAt","NaN","slice","parseInt","key","NumberWrapper","value","arguments","dummy","this","valueOf","call","keys","split","j","constructor","animatingSetup","el","moveTo","transitionend","classList","add","addEventListener","window","requestAnimationFrame","style","transform","clearAnimatingIn","target","removeEventListener","Element","remove","removeAttribute","clearAnimatingOut","setAttribute","animatingIn","animateIn","animatingOut","animateOut","items","current","next","previous","setTimeout","animatingInPrevious","animatingOutPrevious","select","n","NAV_BTN","createButton","withActive","createButtons","Array","apply","map","Number","generateArray","join","animater","insertAdjacentHTML","btns","querySelectorAll","manageActive","active","forEach","btn","i","lastElementChild","innerHTML","setActive","e","preventDefault","dataset","slide","checkHorizontal","start","end","element","handler","x","y","event","pos","changedTouches","pageX","pageY","distance","direction","horizontal","vertical","TouchStartHandler","TouchEndHandler","setSlider","contentSlider","item","animate","Animating","setDots","CreateNavDots","TouchHandler","console","count","resetSlider","nav","document","querySelector","removeChild","sliders","vpDetect","ViewportDetect","getDevice","addCallback","device","track"],"mappings":"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","file":"content_slider-4e6722fc.chunk.js","sourcesContent":["'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","// @flow\nconst animatingSetup = (el, moveTo, transitionend) => {\n el.classList.add('content-slider--animate');\n el.addEventListener('transitionend', transitionend, true);\n window.requestAnimationFrame(() => {\n el.style.transform = `translateX(${moveTo})`;\n });\n};\n\nconst clearAnimatingIn = ({ target: el }) => {\n el.removeEventListener('transitionend', clearAnimatingIn, true);\n if (el instanceof Element) {\n el.classList.remove('content-slider--animate');\n el.removeAttribute('aria-hidden');\n }\n};\n\nconst clearAnimatingOut = ({ target: el }) => {\n el.removeEventListener('transitionend', clearAnimatingOut, true);\n if (el instanceof Element) {\n el.classList.remove('content-slider--animate');\n el.style.transform = 'translateX(-110%)';\n el.setAttribute('aria-hidden', 'true');\n }\n};\n\nconst animatingIn = animateIn => {\n animatingSetup(animateIn, '0', clearAnimatingIn);\n};\n\nconst animatingOut = animateOut => {\n animatingSetup(animateOut, '110%', clearAnimatingOut);\n};\n\nconst animatingOutPrevious = animateOut => {\n setTimeout(() => {\n animatingSetup(animateOut, '-110%', clearAnimatingOut);\n }, 10);\n};\n\nconst animatingInPrevious = animateIn => {\n animateIn.style.transform = 'translateX(110%)';\n setTimeout(() => {\n animatingSetup(animateIn, '0', clearAnimatingIn);\n }, 10);\n};\n\nexport default items => {\n let current = 0;\n return {\n next: () => {\n const animateOut = items[current];\n current = current + 1 >= items.length ? 0 : current + 1;\n const animateIn = items[current];\n\n animatingIn(animateIn);\n animatingOut(animateOut);\n\n return current;\n },\n previous: () => {\n const animateOut = items[current];\n current = current - 1 <= -1 ? items.length - 1 : current - 1;\n const animateIn = items[current];\n\n animatingInPrevious(animateIn);\n animatingOutPrevious(animateOut);\n\n return current;\n },\n select: n => {\n const animateIn = items[n];\n const animateOut = items[current];\n current = n;\n\n animatingIn(animateIn);\n animatingOut(animateOut);\n\n return current;\n },\n };\n};\n","const NAV_BTN = 'content-slider__button';\n\n/* eslint-disable prefer-spread */\nconst generateArray = n => Array.apply(null, { length: n }).map(Number.call, Number);\n/* eslint-enable prefer-spread */\n\nconst createButton = n => {\n const withActive = n !== 0 ? NAV_BTN : `${NAV_BTN} ${NAV_BTN}--active`;\n return `
  • \n \n
  • `;\n};\n\nconst createButtons = n => `
    \n \n
    `;\n\nconst setActive = btns => active => {\n btns.forEach((btn, i) => {\n const current = btn.lastElementChild;\n if (current) {\n current.innerHTML = active === i ? 'current' : '';\n }\n\n if (active === i) {\n btn.classList.add(`${NAV_BTN}--active`);\n } else {\n btn.classList.remove(`${NAV_BTN}--active`);\n }\n });\n};\n\nexport default (el, n, animater) => {\n el.insertAdjacentHTML('beforeend', createButtons(n));\n\n const btns = [...el.querySelectorAll(`.${NAV_BTN}`)];\n const manageActive = setActive(btns);\n\n btns.forEach(btn => {\n btn.addEventListener('click', e => {\n e.preventDefault();\n const active = parseInt(btn.dataset.slide, 10);\n manageActive(active);\n animater.select(active);\n });\n });\n\n return i => {\n manageActive(i);\n };\n};\n","const checkHorizontal = (start, end) => {\n if (end > start + 100) return 'right';\n if (end < start - 100) return 'left';\n return 'none';\n};\n\nconst tracker = () => {\n const start = { x: 0, y: 0 };\n return (event, pos = 'start') => {\n const { pageX, pageY } = event.changedTouches[0];\n if (pos === 'start') {\n start.x = pageX;\n start.y = pageY;\n return;\n }\n\n const distance = {\n x: pageX - start.x,\n y: pageY - start.y,\n };\n\n const direction = {\n horizontal: checkHorizontal(start.x, pageX),\n vertical: pageY > start.y + 100 ? 'down' : 'up',\n };\n\n return { distance, direction };\n };\n};\n\nconst TouchStartHandler = handler => event => {\n handler(event);\n};\n\nconst TouchEndHandler = (handler, next, previous) => event => {\n const {\n direction: { horizontal },\n } = handler(event, 'end');\n\n if (horizontal === 'left') {\n previous();\n } else if (horizontal === 'right') {\n next();\n }\n};\n\nexport default (element, { next, previous }) => {\n const handler = tracker();\n element.addEventListener('touchstart', TouchStartHandler(handler), false);\n element.addEventListener('touchend', TouchEndHandler(handler, next, previous), false);\n};\n","import ViewportDetect from '@djforth/viewport-detection-fp';\nimport Animating from './animating';\nimport CreateNavDots from './nav_dots';\nimport TouchHandler from './touch_handler';\n\nconst setSlider = el => {\n const items = [...el.querySelectorAll(`.${el.dataset.contentSlider}`)];\n if (items.length <= 1) return;\n\n items.forEach((item, i) => {\n item.classList.add('content-slider');\n if (i !== 0) {\n item.setAttribute('aria-hidden', 'true');\n item.style.transform = 'translateX(-110%)';\n } else {\n item.style.transform = 'translateX(0)';\n }\n });\n const animate = Animating(items);\n const setDots = CreateNavDots(el, items.length, animate);\n TouchHandler(el, {\n next: () => {\n setDots(animate.next());\n },\n previous: () => {\n console.count('trigger previous');\n setDots(animate.previous());\n },\n });\n};\n\nconst resetSlider = el => {\n const items = [...el.querySelectorAll(`.${el.dataset.contentSlider}`)];\n\n items.forEach(item => {\n item.classList.remove('content-slider');\n item.removeAttribute('aria-hidden');\n item.style.transform = '';\n });\n\n const nav = document.querySelector('.content-slider__nav');\n if (nav) {\n el.removeChild(nav);\n }\n};\n\nexport default () => {\n const sliders = [...document.querySelectorAll('[data-content-slider]')];\n\n if (sliders.length === 0) return null;\n\n const vpDetect = ViewportDetect();\n if (vpDetect.getDevice() === 'mobile') {\n sliders.forEach(setSlider);\n }\n\n vpDetect.addCallback(device => {\n // trigger something\n if (device === 'mobile') {\n sliders.forEach(setSlider);\n } else {\n sliders.forEach(resetSlider);\n }\n });\n vpDetect.track();\n};\n"],"sourceRoot":""}