{"version":3,"file":"scripts/chunks/_app_app_scripts_core_views_tabs_ts.bedc50893a30af8d73b5.mjs","mappings":"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","sources":["webpack://rockworld/./app/scripts/core/views/tabs.ts","webpack://rockworld/./app/scripts/framework/pan-momentum.ts","webpack://rockworld/./app/scripts/framework/server-side-views.ts"],"sourcesContent":["/**\r\n * Tabs\r\n *\r\n * @author Daniel Kvistgaard \r\n */\r\n\r\nimport { ServerView } from '../../framework/server-side-views';\r\nimport PanMomentum from '../../framework/pan-momentum';\r\n\r\nconst View = ServerView.extend({\r\n events: {\r\n 'click .js-controls': 'onClickArrowControls',\r\n 'click .js-tab': 'onClickTab',\r\n 'click .js-pagination': 'onClickTab',\r\n 'click .js-filter': 'onClickTab',\r\n },\r\n autoScroll: false,\r\n\r\n initialize() {\r\n this.hasPagination = this.el.querySelector('.O23-tabs__pagination');\r\n this.activeSlide = 0;\r\n },\r\n\r\n onRender() {\r\n if (this.el?.parentNode?.dataset?.autoScroll) {\r\n this.autoScroll = this.el.parentNode.dataset.autoScroll.toLowerCase() === 'true';\r\n }\r\n const { userAgent } = window.navigator;\r\n this.isIE = userAgent.indexOf('MSIE ') >= 0 || userAgent.indexOf('Trident/') >= 0;\r\n this.isMobile = Modernizr && Modernizr.mq(`(max-width: ${App.mq.tablet - 1}px)`);\r\n\r\n this.tabNav = this.el.querySelector(this.tabNav);\r\n this.tabNavOffset = null;\r\n if (this.tabNav) {\r\n this.tabNavOffset =\r\n this.tabNav.getBoundingClientRect().top + window.pageYOffset - document.documentElement.clientTop;\r\n }\r\n\r\n const selectEl = this.tabNav ? this.tabNav.querySelector('.js-select') : null;\r\n\r\n this.triggerResize = !this.el.parentElement.classList.contains('O98-3d-module__items');\r\n\r\n if (selectEl) {\r\n selectEl.addEventListener('change', this.onChangeSelect.bind(this), false);\r\n }\r\n\r\n if (this.hasScroll || this.el.classList.contains('has-scroll')) {\r\n this.setupTabScroll();\r\n }\r\n if (this.hasPagination) {\r\n this.updateLabel();\r\n }\r\n\r\n this.placeIndicator(true);\r\n\r\n window.addEventListener('resize', this.onResize.bind(this), false);\r\n if (this.checkScroll) {\r\n window.addEventListener('scroll', this.checkScroll.bind(this), { capture: true, passive: true });\r\n }\r\n\r\n window.addEventListener('hashchange', () => {\r\n this._selectTabIfAlreadyAnchorProvider();\r\n });\r\n\r\n setTimeout(() => this._selectTabIfAlreadyAnchorProvider(), 100);\r\n },\r\n\r\n async _selectTabIfAlreadyAnchorProvider() {\r\n if (window.location.hash !== '') {\r\n const hash = decodeURIComponent(window.location.hash.replace('#', ''));\r\n const tab = this.el.querySelector(`[data-content-overlay=\"${hash}\"]`);\r\n\r\n if (tab) {\r\n let event = '';\r\n if (window.CustomEvent) {\r\n event = new CustomEvent('click', {\r\n bubbles: true,\r\n cancelable: true,\r\n });\r\n } else {\r\n event = document.createEvent('CustomEvent');\r\n event.initCustomEvent('click', true, true);\r\n }\r\n tab.dispatchEvent(event);\r\n const Velocity = (await import('velocity-animate')).default;\r\n Velocity.animate(tab, 'scroll', {\r\n easing: 'easeOutQuad',\r\n });\r\n }\r\n }\r\n },\r\n\r\n onResize() {\r\n clearTimeout(this.resizeTimeout);\r\n this.resizeTimeout = setTimeout(this.placeIndicator.bind(this), 100);\r\n },\r\n\r\n onClickTab(e) {\r\n const target = e.delegateTarget;\r\n const value = target.dataset.tab || target.dataset.filter;\r\n const hash = target.dataset.contentOverlay;\r\n const select = this.tabNav.querySelector('.js-select');\r\n\r\n if (hash) {\r\n const currentLocation = window.location.href.split('#')[0];\r\n window.history.replaceState('', '', `${currentLocation}#${hash}`);\r\n }\r\n if (select) {\r\n const options = [].slice.call(select.children);\r\n const targetOption = select.querySelector(`option[value=\"${value}\"]`);\r\n if (targetOption) {\r\n const targetIndex = options.indexOf(targetOption);\r\n select.selectedIndex = targetIndex;\r\n\r\n // Trigger change event\r\n const event = document.createEvent('HTMLEvents');\r\n event.initEvent('change', true, false);\r\n select.dispatchEvent(event);\r\n }\r\n } else {\r\n if (this.hasPagination) {\r\n const allTabs = this.el.querySelectorAll('.js-tab');\r\n const tabElem = this.el.querySelector(`.js-tab[data-tab=\"${value}\"]`);\r\n this.activeSlide = Array.prototype.slice.call(allTabs).indexOf(tabElem);\r\n\r\n this.updateLabel();\r\n }\r\n\r\n this.openTarget(value);\r\n }\r\n if (this.autoScroll && (window.scrollY || window.pageYOffset) >= this.tabNavOffset) {\r\n const headerHeight =\r\n this.header === undefined ? this.tabNav.offsetHeight : document.querySelector(this.header).offsetHeight;\r\n window.scrollTo(window.scrollX, this.tabNavOffset - headerHeight);\r\n }\r\n },\r\n\r\n onClickArrowControls(e) {\r\n e.preventDefault();\r\n\r\n const target = e.delegateTarget;\r\n const direction = target.getAttribute('data-direction');\r\n const allTabs = this.el.querySelectorAll('.js-tab');\r\n\r\n if (direction === 'prev') {\r\n this.activeSlide = this.activeSlide > 0 ? this.activeSlide - 1 : allTabs.length - 1;\r\n } else if (direction === 'next') {\r\n this.activeSlide = this.activeSlide < allTabs.length - 1 ? this.activeSlide + 1 : 0;\r\n }\r\n\r\n this.updateLabel();\r\n this.openTarget(this.activeSlide.toString());\r\n },\r\n\r\n onChangeSelect(e) {\r\n const target = e.currentTarget;\r\n const { value } = target;\r\n\r\n this.openTarget(value);\r\n },\r\n\r\n openTarget(value) {\r\n let tabElem = this.el.querySelector(`.js-tab[data-tab=\"${value}\"]`);\r\n let allTabs = this.el.querySelectorAll('.js-tab');\r\n const pagElem = this.el.querySelector(`.js-pagination[data-tab=\"${value}\"]`);\r\n const allPaginations = this.el.querySelectorAll('.js-pagination');\r\n const contentTarget = this.el.querySelector(`[data-tab-target=\"${value}\"]`);\r\n const allContents = this.el.querySelectorAll('[data-tab-target]');\r\n\r\n if (!tabElem) {\r\n tabElem = this.el.querySelector(`.js-filter[data-filter=\"${value}\"]`);\r\n }\r\n\r\n if (allTabs.length === 0) {\r\n allTabs = this.el.querySelectorAll('.js-filter');\r\n }\r\n\r\n if (!tabElem) {\r\n return;\r\n }\r\n\r\n // Looping through all tabs to remove the active class\r\n [].forEach.call(allTabs, (tab) => {\r\n tab.parentNode.classList.remove('is-active');\r\n });\r\n\r\n // Looping through all paginations to remove the active class\r\n [].forEach.call(allPaginations, (pagination) => {\r\n pagination.parentNode.classList.remove('is-active');\r\n });\r\n\r\n // Looping through all content to close them\r\n if (allContents) {\r\n [].forEach.call(allContents, (content) => {\r\n content.classList.remove('is-active');\r\n });\r\n }\r\n\r\n // Setting the target as the new active tab\r\n tabElem.parentNode.classList.add('is-active');\r\n if (pagElem) {\r\n pagElem.parentNode.classList.add('is-active');\r\n }\r\n if (contentTarget) {\r\n contentTarget.classList.add('is-active');\r\n }\r\n\r\n this.placeIndicator();\r\n\r\n // Trigger custom new-active event\r\n let event = '';\r\n if (window.CustomEvent) {\r\n event = new CustomEvent('new-active');\r\n } else {\r\n event = document.createEvent('CustomEvent');\r\n event.initCustomEvent('new-active', true, true);\r\n }\r\n tabElem.dispatchEvent(event);\r\n\r\n // Trigger window resize event\r\n if (this.triggerResize) {\r\n const resizeEvent = document.createEvent('HTMLEvents');\r\n resizeEvent.initEvent('resize', true, false);\r\n window.dispatchEvent(resizeEvent);\r\n }\r\n },\r\n\r\n updateLabel() {\r\n const label = this.el.querySelector('.js-label');\r\n const labelText = this.el.querySelector(`.js-tab[data-tab=\"${this.activeSlide}\"]`).firstElementChild.innerHTML;\r\n label.innerHTML = labelText;\r\n },\r\n\r\n placeIndicator(instant) {\r\n if (\r\n !this.hasScroll &&\r\n !this.el.classList.contains('has-scroll') &&\r\n Modernizr &&\r\n Modernizr.mq(`(max-width: ${App.mq.desktop - 1}px)`)\r\n ) {\r\n return;\r\n }\r\n\r\n const indicator = this.el.querySelector(this.tabsIndicator);\r\n const activeTab = this.el.querySelector(this.activeTabSelector);\r\n\r\n if (!indicator || !activeTab) {\r\n return;\r\n }\r\n\r\n if (instant) {\r\n indicator.style.transition = 'none';\r\n }\r\n\r\n const activeTabStyles = window.getComputedStyle(activeTab, false);\r\n const activeTabPaddingLeft = parseInt(activeTabStyles.getPropertyValue('padding-left'), 10);\r\n const activeTabPaddingRight = parseInt(activeTabStyles.getPropertyValue('padding-right'), 10);\r\n const activeTabWidth = activeTab.offsetWidth;\r\n const activeTabOffset = activeTab.offsetLeft;\r\n\r\n indicator.style.transform = this.isIE\r\n ? `translate(${activeTabOffset + activeTabPaddingLeft}px, 0)`\r\n : `translate3d(${activeTabOffset + activeTabPaddingLeft}px, 0, 0)`;\r\n indicator.style.width = `${activeTabWidth - activeTabPaddingLeft - activeTabPaddingRight}px`;\r\n\r\n if (instant) {\r\n setTimeout(() => {\r\n indicator.style.transition = '';\r\n }, 0);\r\n }\r\n },\r\n\r\n setupTabScroll() {\r\n if (!this.tabScrollChildSelector) {\r\n return;\r\n }\r\n\r\n this.panMomentum = new PanMomentum(this.el.querySelector(this.tabListSelector), {\r\n childSelector: this.tabScrollChildSelector,\r\n bpMinSize: this.tabScrollBp || false,\r\n });\r\n },\r\n});\r\n\r\nexport default View;\r\n","/**\r\n * Pan with throw momentum\r\n * Used to add the option to pan in a container with\r\n * throw momentum ease out functionaly.\r\n *\r\n * @author Daniel Kvistgaard \r\n */\r\n\r\nconst Hammer = () => import('hammerjs');\r\n\r\nconst defaults = {\r\n childSelector: null,\r\n\r\n bpMaxSize: false,\r\n bpMinSize: false,\r\n};\r\n\r\nclass PanMomentum {\r\n constructor(el, options) {\r\n this.options = { ...defaults, ...options };\r\n\r\n if (!el) {\r\n return;\r\n }\r\n\r\n this.el = el instanceof HTMLElement ? el : document.querySelector(el);\r\n this.hammerManager = null;\r\n\r\n const { userAgent } = window.navigator;\r\n this.isIE = userAgent.indexOf('MSIE ') >= 0 || userAgent.indexOf('Trident/') >= 0;\r\n\r\n window.addEventListener('resize', this.resize.bind(this), false);\r\n\r\n this.translateX = 0;\r\n\r\n this.calcSites();\r\n this.prepare();\r\n\r\n this.setupOrBreak();\r\n }\r\n\r\n resize() {\r\n this.calcSites();\r\n this.setupOrBreak();\r\n }\r\n\r\n setupOrBreak() {\r\n if (this.minTranslate !== this.maxTranslate) {\r\n if (\r\n (this.options.bpMaxSize && App.mq[this.options.bpMaxSize]) ||\r\n (this.options.bpMinSize && App.mq[this.options.bpMinSize])\r\n ) {\r\n const maxMin = this.options.bpMaxSize ? 'max' : 'min';\r\n const size = this.options.bpMaxSize ? App.mq[this.options.bpMaxSize] - 1 : App.mq[this.options.bpMinSize];\r\n\r\n if (Modernizr.mq(`(${maxMin}-width: ${size}px)`)) {\r\n this.setup();\r\n } else {\r\n this.break(true);\r\n }\r\n } else {\r\n this.setup();\r\n }\r\n } else {\r\n this.break(true);\r\n }\r\n }\r\n\r\n prepare() {\r\n // Disable drag to better enable HammerJS panning\r\n const disableElems = this.el.querySelectorAll('a, img');\r\n [].forEach.call(disableElems, (elem) => {\r\n elem.setAttribute('draggable', false);\r\n elem.setAttribute('ondragstart', 'return false;');\r\n });\r\n\r\n // Preventing click if the scroll is animating.\r\n // This prevents native clicks on slides after panning, as HammerJS\r\n // wouldn't prevent the native click on the end of panning.\r\n this.el.addEventListener('click', (e) => {\r\n if (this.panning) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n });\r\n }\r\n\r\n calcSites() {\r\n let innerWidth = 0;\r\n const children = this.options.childSelector ? this.el.querySelectorAll(this.options.childSelector) : false;\r\n\r\n if (children?.length) {\r\n [].forEach.call(children, (child) => {\r\n const childStyles = window.getComputedStyle(child, false);\r\n const marginLeft = parseInt(childStyles.getPropertyValue('margin-left'), 10);\r\n const marginRight = parseInt(childStyles.getPropertyValue('margin-right'), 10);\r\n const childWidth = child.offsetWidth + marginLeft + marginRight;\r\n\r\n innerWidth += childWidth;\r\n });\r\n } else {\r\n innerWidth = this.el.offsetWidth;\r\n }\r\n\r\n const parent = this.el.parentNode;\r\n const parentStyles = window.getComputedStyle(parent, false);\r\n const parentPaddingLeft = parseInt(parentStyles.getPropertyValue('padding-left'), 10);\r\n const parentPaddingRight = parseInt(parentStyles.getPropertyValue('padding-right'), 10);\r\n const parentInnerWidth = parent.offsetWidth - parentPaddingLeft - parentPaddingRight;\r\n\r\n this.innerWidth = innerWidth;\r\n this.parentInnerWidth = parentInnerWidth;\r\n this.minTranslate = Math.min(0, (innerWidth - parentInnerWidth) * -1);\r\n this.maxTranslate = 0;\r\n }\r\n\r\n setup() {\r\n if (this.scrollActive) {\r\n if (this.options.childSelector) {\r\n this.centerActiveChild();\r\n } else {\r\n this.checkPosition(false);\r\n }\r\n\r\n return;\r\n }\r\n\r\n this.scrollActive = true;\r\n\r\n this.el.parentNode.classList.remove('no-fade-outs');\r\n this.el.parentNode.classList.add('is-in-start');\r\n\r\n // Set up HammerJS\r\n if (typeof window !== 'undefined') {\r\n Hammer().then((HammerModule) => {\r\n const HammerDefaultModule = HammerModule.default;\r\n this.hammerManager = new HammerDefaultModule(this.el, {\r\n touchAction: 'pan-y',\r\n domEvents: false,\r\n });\r\n this.hammerManager.add(\r\n new HammerDefaultModule.Pan({\r\n threshold: 0,\r\n pointers: 0,\r\n })\r\n );\r\n let startTranslateX = null;\r\n\r\n // HammerJS panstart event listener\r\n this.hammerManager.on('panstart', (e) => {\r\n this.panning = true;\r\n startTranslateX = PanMomentum.getTranslateX(this.el) + e.deltaX;\r\n });\r\n\r\n // HammerJS pan event listener\r\n this.hammerManager.on('pan', (e) => {\r\n if (e.additionalEvent === 'panup' || e.additionalEvent === 'pandown' || e.velocityX === 0) {\r\n if (e.isFinal) {\r\n startTranslateX = null;\r\n this.checkPosition(false, e);\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Apply transformation\r\n const newTranslateX = startTranslateX + e.deltaX;\r\n this.el.style.transition = 'none';\r\n this.el.style.transform = this.isIE\r\n ? `translate(${newTranslateX}px, 0)`\r\n : `translate3d(${newTranslateX}px, 0, 0)`;\r\n\r\n if (newTranslateX > this.minTranslate) {\r\n this.el.parentNode.classList.remove('is-in-end');\r\n }\r\n if (newTranslateX < this.maxTranslate) {\r\n this.el.parentNode.classList.remove('is-in-start');\r\n }\r\n\r\n // Snap to slide when done\r\n if (e.isFinal) {\r\n startTranslateX = null;\r\n\r\n this.checkPosition(newTranslateX, e);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n break(force) {\r\n if (!this.scrollActive && force !== true) {\r\n return;\r\n }\r\n\r\n this.scrollActive = false;\r\n\r\n this.el.parentNode.classList.add('no-fade-outs');\r\n this.el.parentNode.classList.remove('is-in-end');\r\n this.el.parentNode.classList.remove('is-in-start');\r\n\r\n this.el.style.transition = 'none';\r\n this.el.style.transform = '';\r\n\r\n if (this.hammerManager) {\r\n this.hammerManager.destroy();\r\n }\r\n }\r\n\r\n checkPosition(translateX, e) {\r\n if (!this.el) {\r\n return;\r\n }\r\n\r\n const currentTranslateX = PanMomentum.getTranslateX(this.el);\r\n const newTranslateX = translateX === 'reset' ? 0 : translateX || currentTranslateX;\r\n\r\n let momentumTranslateX = e ? newTranslateX + e.deltaX * Math.abs(e.velocityX) : newTranslateX;\r\n let transitionDuration = e ? 175 * Math.abs(e.velocityX) : 400;\r\n\r\n this.el.parentNode.classList.remove('is-in-end');\r\n this.el.parentNode.classList.remove('is-in-start');\r\n\r\n if (momentumTranslateX <= this.minTranslate) {\r\n momentumTranslateX = this.minTranslate;\r\n transitionDuration = 400;\r\n this.el.parentNode.classList.add('is-in-end');\r\n } else if (momentumTranslateX >= this.maxTranslate) {\r\n momentumTranslateX = this.maxTranslate;\r\n transitionDuration = 400;\r\n this.el.parentNode.classList.add('is-in-start');\r\n }\r\n\r\n if (momentumTranslateX !== currentTranslateX) {\r\n this.el.style.transition = '';\r\n this.el.style.transitionDuration = `${transitionDuration}ms`;\r\n this.el.style.transform = this.isIE\r\n ? `translate(${momentumTranslateX}px, 0)`\r\n : `translate3d(${momentumTranslateX}px, 0, 0)`;\r\n }\r\n\r\n this.translateX = momentumTranslateX;\r\n\r\n setTimeout(() => {\r\n this.panning = false;\r\n }, 0);\r\n }\r\n\r\n centerActiveChild() {\r\n if (!this.options.childSelector) {\r\n return;\r\n }\r\n\r\n const activeChild = this.el.querySelector(\r\n `${this.options.childSelector}.${this.options.activeChildClassName ?? 'is-active'}`\r\n );\r\n\r\n if (!activeChild) {\r\n return;\r\n }\r\n\r\n const activeOffset = activeChild.offsetLeft;\r\n const activeCenterPos = activeOffset + activeChild.offsetWidth / 2 - this.parentInnerWidth / 2;\r\n\r\n this.checkPosition(activeCenterPos * -1, undefined);\r\n }\r\n\r\n isAtStart() {\r\n return this.translateX === 0;\r\n }\r\n\r\n static getTranslateX(el) {\r\n const { transform } = el.style;\r\n const transformSplitted = transform ? transform.split('(')[1].split(',') : [0];\r\n\r\n return parseFloat(transformSplitted[0]);\r\n }\r\n}\r\n\r\nexport default PanMomentum;\r\n","/**\r\n * Server-side rendered View\r\n * Binding the Marionette View to all server-side rendered elements\r\n * matching the el selector.\r\n *\r\n * @author Daniel Kvistgaard \r\n */\r\nimport _ from 'underscore';\r\nimport { Marionette } from './vendor';\r\n\r\nconst getNewView = function newView(view, extendView) {\r\n const viewClone = _.clone(view);\r\n\r\n // Creating a new view with the same functionality as this view\r\n const NewView = extendView.extend();\r\n _.extend(NewView.prototype, _.omit(viewClone, 'el'));\r\n\r\n return NewView;\r\n};\r\n\r\nconst ServerView = Marionette.View.extend({\r\n constructor: function constructor(options) {\r\n // If the selector is a string and not an id selector\r\n if (typeof this.el === 'string' && this.el.substr(0, 1) !== '#') {\r\n const elems = document.querySelectorAll(this.el);\r\n const hasViewClass = `has-view--${this.el.replace(/\\s/g, '-').replace(/[.,]/g, '')}`;\r\n\r\n // Stop if no elements are found\r\n if (!elems || elems.length === 0) {\r\n return;\r\n }\r\n\r\n // Loop through all found elements to initialise a new view per element\r\n [].forEach.call(elems, (elem) => {\r\n if (elem.classList.contains(hasViewClass)) {\r\n return;\r\n }\r\n\r\n // Creating a new view with the same functionality as this view\r\n const ElView = getNewView(this, ServerView);\r\n ElView.prototype.el = elem;\r\n\r\n elem.classList.add(hasViewClass);\r\n\r\n // Initialize the new view\r\n new ElView(options); // eslint-disable-line no-new\r\n });\r\n } else {\r\n this.triggerMethod('before:render');\r\n\r\n // Initialize a normal Marionette View\r\n Marionette.View.apply(this, [options]);\r\n\r\n this.triggerMethod('render');\r\n }\r\n },\r\n});\r\n\r\nconst ServerCollection = Marionette.CollectionView.extend({\r\n sort: false,\r\n\r\n constructor: function constructor(options) {\r\n // If the selector is a string and not an id selector\r\n if (typeof this.el === 'string' && this.el.substr(0, 1) !== '#') {\r\n const elems = document.querySelectorAll(this.el);\r\n const hasViewClass = `has-view--${this.el.replace(/\\s/g, '-').replace(/[.,]/g, '')}`;\r\n\r\n // Stop if no elements are found\r\n if (!elems || elems.length === 0) {\r\n return;\r\n }\r\n\r\n // Loop through all found elements to initialise a new view per element\r\n [].forEach.call(elems, (elem) => {\r\n if (elem.classList.contains(hasViewClass)) {\r\n return;\r\n }\r\n\r\n // Creating a new view with the same functionality as this view\r\n const ElView = getNewView(this, ServerCollection);\r\n ElView.prototype.el = elem;\r\n\r\n elem.classList.add(hasViewClass);\r\n\r\n // Initialize the new view\r\n new ElView(options); // eslint-disable-line no-new\r\n });\r\n } else {\r\n this.triggerMethod('before:render');\r\n\r\n // Initialize a normal Marionette CollectionView\r\n Marionette.CollectionView.apply(this, [options]);\r\n\r\n this.triggerMethod('render');\r\n }\r\n },\r\n\r\n _showEmptyView() {\r\n const ChildView = this.childView;\r\n const childEl = _.clone(ChildView.prototype).el;\r\n const children = this.el.querySelectorAll(childEl);\r\n\r\n if (!children) {\r\n Marionette.CollectionView.prototype._showEmptyView.apply(this);\r\n return;\r\n }\r\n\r\n this.triggerMethod('before:render:children', this);\r\n this._startBuffering();\r\n\r\n [].forEach.call(children, (child, index) => {\r\n const View = getNewView(ChildView.prototype, ServerView);\r\n View.prototype.el = child;\r\n\r\n const view = new View();\r\n\r\n this.addChildView(view, index);\r\n });\r\n\r\n this.children._updateLength();\r\n\r\n this._endBuffering();\r\n this.triggerMethod('render:children', this);\r\n },\r\n\r\n buildChildView(child, ChildViewClass, childViewOptions) {\r\n const options = _.extend({ model: child, banana: 'split' }, childViewOptions);\r\n delete ChildViewClass.prototype.el;\r\n\r\n return new ChildViewClass(options);\r\n },\r\n});\r\n\r\nexport { ServerView, ServerCollection };\r\n"],"names":["View","ServerView","extend","events","autoScroll","initialize","this","hasPagination","el","querySelector","activeSlide","onRender","parentNode","dataset","toLowerCase","userAgent","window","navigator","isIE","indexOf","isMobile","Modernizr","mq","App","tablet","tabNav","tabNavOffset","getBoundingClientRect","top","pageYOffset","document","documentElement","clientTop","selectEl","triggerResize","parentElement","classList","contains","addEventListener","onChangeSelect","bind","hasScroll","setupTabScroll","updateLabel","placeIndicator","onResize","checkScroll","capture","passive","_selectTabIfAlreadyAnchorProvider","setTimeout","location","hash","decodeURIComponent","replace","tab","event","CustomEvent","bubbles","cancelable","createEvent","initCustomEvent","dispatchEvent","default","animate","easing","clearTimeout","resizeTimeout","onClickTab","e","target","delegateTarget","value","filter","contentOverlay","select","currentLocation","href","split","history","replaceState","options","slice","call","children","targetOption","targetIndex","selectedIndex","initEvent","allTabs","querySelectorAll","tabElem","Array","prototype","openTarget","scrollY","headerHeight","undefined","header","offsetHeight","scrollTo","scrollX","onClickArrowControls","preventDefault","direction","getAttribute","length","toString","currentTarget","pagElem","allPaginations","contentTarget","allContents","forEach","remove","pagination","content","add","resizeEvent","label","labelText","firstElementChild","innerHTML","instant","desktop","indicator","tabsIndicator","activeTab","activeTabSelector","style","transition","activeTabStyles","getComputedStyle","activeTabPaddingLeft","parseInt","getPropertyValue","activeTabPaddingRight","activeTabWidth","offsetWidth","activeTabOffset","offsetLeft","transform","width","tabScrollChildSelector","panMomentum","PanMomentum","tabListSelector","childSelector","bpMinSize","tabScrollBp","defaults","bpMaxSize","constructor","_objectSpread","HTMLElement","hammerManager","resize","translateX","calcSites","prepare","setupOrBreak","minTranslate","maxTranslate","maxMin","size","setup","break","disableElems","elem","setAttribute","panning","stopPropagation","innerWidth","child","childStyles","marginLeft","marginRight","childWidth","parent","parentStyles","parentPaddingLeft","parentPaddingRight","parentInnerWidth","Math","min","scrollActive","centerActiveChild","checkPosition","then","HammerModule","HammerDefaultModule","touchAction","domEvents","Pan","threshold","pointers","startTranslateX","on","getTranslateX","deltaX","additionalEvent","velocityX","isFinal","newTranslateX","force","destroy","currentTranslateX","momentumTranslateX","abs","transitionDuration","activeChild","activeChildClassName","activeCenterPos","isAtStart","transformSplitted","parseFloat","getNewView","view","extendView","viewClone","_","NewView","Marionette","substr","elems","hasViewClass","ElView","triggerMethod","apply","ServerCollection","CollectionView","sort","_showEmptyView","ChildView","childView","childEl","_startBuffering","index","addChildView","_updateLength","_endBuffering","buildChildView","ChildViewClass","childViewOptions","model","banana"],"sourceRoot":""}