{"version":3,"sources":["webpack:///./node_modules/vuetify/lib/components/VTabs/VTab.js","webpack:///./node_modules/vuetify/lib/components/VTabs/VTabsSlider.js","webpack:///./node_modules/vuetify/lib/components/VWindow/VWindow.js","webpack:///./node_modules/vuetify/lib/components/VSlideGroup/VSlideGroup.js","webpack:///./node_modules/vuetify/lib/components/VTabs/VTabsBar.js","webpack:///./node_modules/vuetify/lib/components/VTabs/VTabsItems.js","webpack:///./node_modules/vuetify/lib/components/VTabs/VTabs.js"],"names":["baseMixins","name","props","ripple","type","Boolean","Object","default","tabValue","required","data","proxyClass","computed","options","classes","call","this","disabled","groupClasses","to","href","$router","resolve","$route","append","replace","methods","e","preventDefault","indexOf","detail","$el","blur","$emit","toggle","isActive","tabsBar","mandatory","h","tag","generateRouteLink","attrs","String","role","tabindex","on","keydown","keyCode","enter","click","extend","setBackgroundColor","color","staticClass","directives","Touch","windowGroup","activeClass","continuous","nextIcon","prevIcon","reverse","showArrows","showArrowsOnHover","touch","touchless","value","vertical","changedByDelimiters","internalHeight","undefined","transitionHeight","transitionCount","isBooted","isReverse","axis","internalReverse","direction","items","find","item","internalIndex","length","findIndex","i","internalValue","getValue","$vuetify","rtl","watch","val","oldVal","updateReverse","window","requestAnimationFrame","children","genDefaultSlot","push","genControlIcons","$createElement","class","style","height","icon","_a","_b","_c","stopPropagation","lang","t","$scopedSlots","large","icons","hasPrev","genIcon","prev","hasNext","next","index","nextIndex","getNextIndex","prevIndex","getPrevIndex","hasActiveItems","lastIndex","itemsLength","left","right","end","start","genContainer","bias","c","x","Math","abs","sign","calculateUpdatedOffset","selectedElement","widths","currentScrollOffset","clientWidth","offsetLeft","content","totalWidth","wrapper","itemOffset","additionalOffset","max","min","calculateCenteredOffset","offsetCentered","BaseSlideGroup","mixins","Resize","centerActive","validator","v","includes","isOverflowing","resizeTimeout","startX","isSwipingHorizontal","isSwiping","scrollOffset","genTransition","hasAffixes","isMobile","scroll","$refs","transform","ResizeObserver","obs","onResize","observe","$on","disconnect","setWidths","scrollLeft","el","vm","slot","__cachedNext","onAffixClick","key","ref","focusin","onFocusin","location","upperLocation","toUpperCase","slice","hasAffix","VIcon","__cachedPrev","overflowCheck","onTouchStart","move","onTouchMove","onTouchEnd","onScroll","genContent","newAbosluteOffset","scrollTo","_isDestroyed","touchstartX","setProperty","canTouch","diffX","touchmoveX","diffY","touchmoveY","touchstartY","document","documentElement","overflowY","maxScrollOffset","removeProperty","fn","selectedItem","lastItemPosition","getBoundingClientRect","wrapperPosition","selectedIndex","calculateNewOffset","scrollIntoView","genData","genPrev","genWrapper","genNext","slideGroup","themeClasses","render","newPath","path","oldPath","hasNew","hasOld","VWindow","rootIsDark","id","alignWithTitle","backgroundColor","centered","fixedTabs","grow","Number","hideSlider","iconsAndText","mobileBreakpoint","optional","sliderColor","sliderSize","slider","top","width","transitionTime","isReversed","transition","isDark","appIsDark","$nextTick","setTimeout","callSlider","selectedItems","activeTab","scrollHeight","offsetWidth","offsetTop","scrollWidth","dark","light","change","setTextColor","computedColor","VTabsBar","genSlider","VTabsItems","VTabsSlider","sliderStyles","clearTimeout","tab","vnode","componentOptions","Ctor","parseNodes","modifiers","quiet","genBar","genItems"],"mappings":"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","file":"js/chunk-c098b6c2.d21de4a5.js","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Routable from '../../mixins/routable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport { getSlot, keyCodes } from './../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Routable, // Must be after routable\n// to overwrite activeClass\nGroupableFactory('tabsBar'), Themeable);\nexport default baseMixins.extend().extend().extend({\n name: 'v-tab',\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n tabValue: {\n required: false\n }\n },\n data: () => ({\n proxyClass: 'v-tab--active'\n }),\n computed: {\n classes() {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses\n };\n },\n\n value() {\n if (this.tabValue != null) return this.tabValue;\n let to = this.to || this.href;\n if (to == null) return to;\n\n if (this.$router && this.to === Object(this.to)) {\n const resolve = this.$router.resolve(this.to, this.$route, this.append);\n to = resolve.href;\n }\n\n return to.replace('#', '');\n }\n\n },\n methods: {\n click(e) {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault();\n return;\n } // If user provides an\n // actual link, do not\n // prevent default\n\n\n if (this.href && this.href.indexOf('#') > -1) e.preventDefault();\n if (e.detail) this.$el.blur();\n this.$emit('click', e);\n this.to || this.toggle();\n },\n\n toggle() {\n // VItemGroup treats a change event as a click\n if (!this.isActive || !this.tabsBar.mandatory && !this.to) {\n this.$emit('change');\n }\n }\n\n },\n\n render(h) {\n const {\n tag,\n data\n } = this.generateRouteLink();\n data.attrs = { ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0\n };\n data.on = { ...data.on,\n keydown: e => {\n if (e.keyCode === keyCodes.enter) this.click(e);\n this.$emit('keydown', e);\n }\n };\n return h(tag, data, getSlot(this));\n }\n\n});\n//# sourceMappingURL=VTab.js.map","// Mixins\nimport Colorable from '../../mixins/colorable'; // Utilities\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render(h) {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider'\n }));\n }\n\n});\n//# sourceMappingURL=VTabsSlider.js.map","// Styles\nimport \"../../../src/components/VWindow/VWindow.sass\"; // Directives\n\nimport Touch from '../../directives/touch'; // Components\n\nimport VBtn from '../VBtn';\nimport VIcon from '../VIcon';\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup';\nimport { getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default BaseItemGroup.extend({\n name: 'v-window',\n directives: {\n Touch\n },\n\n provide() {\n return {\n windowGroup: this\n };\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active'\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next'\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev'\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object,\n touchless: Boolean,\n value: {\n required: false\n },\n vertical: Boolean\n },\n\n data() {\n return {\n changedByDelimiters: false,\n internalHeight: undefined,\n transitionHeight: undefined,\n transitionCount: 0,\n isBooted: false,\n isReverse: false\n };\n },\n\n computed: {\n isActive() {\n return this.transitionCount > 0;\n },\n\n classes() {\n return { ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover\n };\n },\n\n computedTransition() {\n if (!this.isBooted) return '';\n const axis = this.vertical ? 'y' : 'x';\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse;\n const direction = reverse ? '-reverse' : '';\n return `v-window-${axis}${direction}-transition`;\n },\n\n hasActiveItems() {\n return Boolean(this.items.find(item => !item.disabled));\n },\n\n hasNext() {\n return this.continuous || this.internalIndex < this.items.length - 1;\n },\n\n hasPrev() {\n return this.continuous || this.internalIndex > 0;\n },\n\n internalIndex() {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i);\n });\n },\n\n internalReverse() {\n return this.$vuetify.rtl ? !this.reverse : this.reverse;\n }\n\n },\n watch: {\n internalIndex(val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal);\n }\n\n },\n\n mounted() {\n window.requestAnimationFrame(() => this.isBooted = true);\n },\n\n methods: {\n genDefaultSlot() {\n return getSlot(this);\n },\n\n genContainer() {\n const children = [this.genDefaultSlot()];\n\n if (this.showArrows) {\n children.push(this.genControlIcons());\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive\n },\n style: {\n height: this.internalHeight || this.transitionHeight\n }\n }, children);\n },\n\n genIcon(direction, icon, click) {\n var _a, _b, _c;\n\n const on = {\n click: e => {\n e.stopPropagation();\n this.changedByDelimiters = true;\n click();\n }\n };\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`)\n };\n const children = (_c = (_b = (_a = this.$scopedSlots)[direction]) === null || _b === void 0 ? void 0 : _b.call(_a, {\n on,\n attrs\n })) !== null && _c !== void 0 ? _c : [this.$createElement(VBtn, {\n props: {\n icon: true\n },\n attrs,\n on\n }, [this.$createElement(VIcon, {\n props: {\n large: true\n }\n }, icon)])];\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`\n }, children);\n },\n\n genControlIcons() {\n const icons = [];\n const prevIcon = this.$vuetify.rtl ? this.nextIcon : this.prevIcon;\n /* istanbul ignore else */\n\n if (this.hasPrev && prevIcon && typeof prevIcon === 'string') {\n const icon = this.genIcon('prev', prevIcon, this.prev);\n icon && icons.push(icon);\n }\n\n const nextIcon = this.$vuetify.rtl ? this.prevIcon : this.nextIcon;\n /* istanbul ignore else */\n\n if (this.hasNext && nextIcon && typeof nextIcon === 'string') {\n const icon = this.genIcon('next', nextIcon, this.next);\n icon && icons.push(icon);\n }\n\n return icons;\n },\n\n getNextIndex(index) {\n const nextIndex = (index + 1) % this.items.length;\n const item = this.items[nextIndex];\n if (item.disabled) return this.getNextIndex(nextIndex);\n return nextIndex;\n },\n\n getPrevIndex(index) {\n const prevIndex = (index + this.items.length - 1) % this.items.length;\n const item = this.items[prevIndex];\n if (item.disabled) return this.getPrevIndex(prevIndex);\n return prevIndex;\n },\n\n next() {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return;\n const nextIndex = this.getNextIndex(this.internalIndex);\n const item = this.items[nextIndex];\n this.internalValue = this.getValue(item, nextIndex);\n },\n\n prev() {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return;\n const lastIndex = this.getPrevIndex(this.internalIndex);\n const item = this.items[lastIndex];\n this.internalValue = this.getValue(item, lastIndex);\n },\n\n updateReverse(val, oldVal) {\n const itemsLength = this.items.length;\n const lastIndex = itemsLength - 1;\n if (itemsLength <= 2) return val < oldVal;\n\n if (val === lastIndex && oldVal === 0) {\n return true;\n } else if (val === 0 && oldVal === lastIndex) {\n return false;\n } else {\n return val < oldVal;\n }\n }\n\n },\n\n render(h) {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: []\n };\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next();\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev();\n },\n end: e => {\n e.stopPropagation();\n },\n start: e => {\n e.stopPropagation();\n }\n };\n data.directives.push({\n name: 'touch',\n value\n });\n }\n\n return h('div', data, [this.genContainer()]);\n }\n\n});\n//# sourceMappingURL=VWindow.js.map","// Styles\nimport \"../../../src/components/VSlideGroup/VSlideGroup.sass\"; // Components\n\nimport VIcon from '../VIcon';\nimport { VFadeTransition } from '../transitions'; // Extensions\n\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Mixins\n\nimport Mobile from '../../mixins/mobile'; // Directives\n\nimport Resize from '../../directives/resize';\nimport Touch from '../../directives/touch'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { composedPath, getSlot } from '../../util/helpers';\n\nfunction bias(val) {\n const c = 0.501;\n const x = Math.abs(val);\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1));\n}\n\nexport function calculateUpdatedOffset(selectedElement, widths, rtl, currentScrollOffset) {\n const clientWidth = selectedElement.clientWidth;\n const offsetLeft = rtl ? widths.content - selectedElement.offsetLeft - clientWidth : selectedElement.offsetLeft;\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset;\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset;\n const itemOffset = clientWidth + offsetLeft;\n const additionalOffset = clientWidth * 0.4;\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0);\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper);\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset;\n}\nexport function calculateCenteredOffset(selectedElement, widths, rtl) {\n const {\n offsetLeft,\n clientWidth\n } = selectedElement;\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2;\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered));\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2;\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered));\n }\n}\nexport const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({\n name: 'base-slide-group',\n directives: {\n Resize,\n Touch\n },\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active'\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next'\n },\n prevIcon: {\n type: String,\n default: '$prev'\n },\n showArrows: {\n type: [Boolean, String],\n validator: v => typeof v === 'boolean' || ['always', 'never', 'desktop', 'mobile'].includes(v)\n }\n },\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0\n }\n }),\n computed: {\n canTouch() {\n return typeof window !== 'undefined';\n },\n\n __cachedNext() {\n return this.genTransition('next');\n },\n\n __cachedPrev() {\n return this.genTransition('prev');\n },\n\n classes() {\n return { ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing\n };\n },\n\n hasAffixes() {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always':\n return true;\n // Always show arrows on desktop\n\n case 'desktop':\n return !this.isMobile;\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n\n case true:\n return this.isOverflowing || Math.abs(this.scrollOffset) > 0;\n // Always show on mobile\n\n case 'mobile':\n return this.isMobile || this.isOverflowing || Math.abs(this.scrollOffset) > 0;\n // Always hide arrows\n\n case 'never':\n return false;\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n\n default:\n return !this.isMobile && (this.isOverflowing || Math.abs(this.scrollOffset) > 0);\n }\n },\n\n hasNext() {\n if (!this.hasAffixes) return false;\n const {\n content,\n wrapper\n } = this.widths; // Check one scroll ahead to know the width of right-most item\n\n return content > Math.abs(this.scrollOffset) + wrapper;\n },\n\n hasPrev() {\n return this.hasAffixes && this.scrollOffset !== 0;\n }\n\n },\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n\n scrollOffset(val) {\n if (this.$vuetify.rtl) val = -val;\n let scroll = val <= 0 ? bias(-val) : val > this.widths.content - this.widths.wrapper ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val) : -val;\n if (this.$vuetify.rtl) scroll = -scroll;\n this.$refs.content.style.transform = `translateX(${scroll}px)`;\n }\n\n },\n\n mounted() {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize();\n });\n obs.observe(this.$el);\n obs.observe(this.$refs.content);\n this.$on('hook:destroyed', () => {\n obs.disconnect();\n });\n } else {\n let itemsLength = 0;\n this.$on('hook:beforeUpdate', () => {\n var _a;\n\n itemsLength = (((_a = this.$refs.content) === null || _a === void 0 ? void 0 : _a.children) || []).length;\n });\n this.$on('hook:updated', () => {\n var _a;\n\n if (itemsLength === (((_a = this.$refs.content) === null || _a === void 0 ? void 0 : _a.children) || []).length) return;\n this.setWidths();\n });\n }\n },\n\n methods: {\n onScroll() {\n this.$refs.wrapper.scrollLeft = 0;\n },\n\n onFocusin(e) {\n if (!this.isOverflowing) return; // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(vm.$el, this.widths, this.$vuetify.rtl, this.scrollOffset);\n return;\n }\n }\n }\n },\n\n // Always generate next for scrollable hint\n genNext() {\n const slot = this.$scopedSlots.next ? this.$scopedSlots.next({}) : getSlot(this, 'next') || this.__cachedNext;\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext\n },\n on: {\n click: () => this.onAffixClick('next')\n },\n key: 'next'\n }, [slot]);\n },\n\n genContent() {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin\n }\n }, getSlot(this));\n },\n\n genData() {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize\n }]\n };\n },\n\n genIcon(location) {\n let icon = location;\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next';\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev';\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`;\n const hasAffix = this[`has${upperLocation}`];\n if (!this.showArrows && !hasAffix) return null;\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix\n }\n }, this[`${icon}Icon`]);\n },\n\n // Always generate prev for scrollable hint\n genPrev() {\n const slot = this.$scopedSlots.prev ? this.$scopedSlots.prev({}) : getSlot(this, 'prev') || this.__cachedPrev;\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev\n },\n on: {\n click: () => this.onAffixClick('prev')\n },\n key: 'prev'\n }, [slot]);\n },\n\n genTransition(location) {\n return this.$createElement(VFadeTransition, [this.genIcon(location)]);\n },\n\n genWrapper() {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: e => this.overflowCheck(e, this.onTouchStart),\n move: e => this.overflowCheck(e, this.onTouchMove),\n end: e => this.overflowCheck(e, this.onTouchEnd)\n }\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll\n }\n }, [this.genContent()]);\n },\n\n calculateNewOffset(direction, widths, rtl, currentScrollOffset) {\n const sign = rtl ? -1 : 1;\n const newAbosluteOffset = sign * currentScrollOffset + (direction === 'prev' ? -1 : 1) * widths.wrapper;\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0);\n },\n\n onAffixClick(location) {\n this.$emit(`click:${location}`);\n this.scrollTo(location);\n },\n\n onResize() {\n /* istanbul ignore next */\n if (this._isDestroyed) return;\n this.setWidths();\n },\n\n onTouchStart(e) {\n const {\n content\n } = this.$refs;\n this.startX = this.scrollOffset + e.touchstartX;\n content.style.setProperty('transition', 'none');\n content.style.setProperty('willChange', 'transform');\n },\n\n onTouchMove(e) {\n if (!this.canTouch) return;\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX;\n const diffY = e.touchmoveY - e.touchstartY;\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY);\n this.isSwiping = true;\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX; // temporarily disable window vertical scrolling\n\n document.documentElement.style.overflowY = 'hidden';\n }\n },\n\n onTouchEnd() {\n if (!this.canTouch) return;\n const {\n content,\n wrapper\n } = this.$refs;\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth;\n content.style.setProperty('transition', null);\n content.style.setProperty('willChange', null);\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0;\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset;\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0;\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset;\n }\n }\n\n this.isSwiping = false; // rollback whole page scrolling to default\n\n document.documentElement.style.removeProperty('overflow-y');\n },\n\n overflowCheck(e, fn) {\n e.stopPropagation();\n this.isOverflowing && fn(e);\n },\n\n scrollIntoView\n /* istanbul ignore next */\n () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect();\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect();\n\n if (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right || !this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left) {\n this.scrollTo('prev');\n }\n }\n\n if (!this.selectedItem) {\n return;\n }\n\n if (this.selectedIndex === 0 || !this.centerActive && !this.isOverflowing) {\n this.scrollOffset = 0;\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(this.selectedItem.$el, this.widths, this.$vuetify.rtl);\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(this.selectedItem.$el, this.widths, this.$vuetify.rtl, this.scrollOffset);\n }\n },\n\n scrollTo\n /* istanbul ignore next */\n (location) {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0\n }, this.$vuetify.rtl, this.scrollOffset);\n },\n\n setWidths() {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return;\n const {\n content,\n wrapper\n } = this.$refs;\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0\n }; // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content;\n this.scrollIntoView();\n });\n }\n\n },\n\n render(h) {\n return h('div', this.genData(), [this.genPrev(), this.genWrapper(), this.genNext()]);\n }\n\n});\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide() {\n return {\n slideGroup: this\n };\n }\n\n});\n//# sourceMappingURL=VSlideGroup.js.map","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'; // Mixins\n\nimport Themeable from '../../mixins/themeable';\nimport SSRBootable from '../../mixins/ssr-bootable'; // Utilities\n\nimport mixins from '../../util/mixins';\nexport default mixins(BaseSlideGroup, SSRBootable, Themeable\n/* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide() {\n return {\n tabsBar: this\n };\n },\n\n computed: {\n classes() {\n return { ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses\n };\n }\n\n },\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange'\n },\n methods: {\n callSlider() {\n if (!this.isBooted) return;\n this.$emit('call:slider');\n },\n\n genContent() {\n const render = BaseSlideGroup.options.methods.genContent.call(this);\n render.data = render.data || {};\n render.data.staticClass += ' v-tabs-bar__content';\n return render;\n },\n\n onRouteChange(val, oldVal) {\n /* istanbul ignore next */\n if (this.mandatory) return;\n const items = this.items;\n const newPath = val.path;\n const oldPath = oldVal.path;\n let hasNew = false;\n let hasOld = false;\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true;else if (item.to === newPath) hasNew = true;\n if (hasNew && hasOld) break;\n } // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n\n\n if (!hasNew && hasOld) this.internalValue = undefined;\n }\n\n },\n\n render(h) {\n const render = BaseSlideGroup.options.render.call(this, h);\n render.data.attrs = {\n role: 'tablist'\n };\n return render;\n }\n\n});\n//# sourceMappingURL=VTabsBar.js.map","// Extensions\nimport VWindow from '../VWindow/VWindow'; // Types & Components\n\nimport { BaseItemGroup } from './../VItemGroup/VItemGroup';\n/* @vue/component */\n\nexport default VWindow.extend({\n name: 'v-tabs-items',\n props: {\n mandatory: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n classes() {\n return { ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true\n };\n },\n\n isDark() {\n return this.rootIsDark;\n }\n\n },\n methods: {\n getValue(item, i) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i);\n }\n\n }\n});\n//# sourceMappingURL=VTabsItems.js.map","// Styles\nimport \"../../../src/components/VTabs/VTabs.sass\"; // Components\n\nimport VTabsBar from './VTabsBar';\nimport VTabsItems from './VTabsItems';\nimport VTabsSlider from './VTabsSlider'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Proxyable from '../../mixins/proxyable';\nimport Themeable from '../../mixins/themeable'; // Directives\n\nimport Resize from '../../directives/resize'; // Utilities\n\nimport { convertToUnit, getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, Proxyable, Themeable);\nexport default baseMixins.extend().extend({\n name: 'v-tabs',\n directives: {\n Resize\n },\n props: {\n activeClass: {\n type: String,\n default: ''\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next'\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev'\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2\n },\n vertical: Boolean\n },\n\n data() {\n return {\n resizeTimeout: 0,\n slider: {\n height: null,\n left: null,\n right: null,\n top: null,\n width: null\n },\n transitionTime: 300\n };\n },\n\n computed: {\n classes() {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses\n };\n },\n\n isReversed() {\n return this.$vuetify.rtl && this.vertical;\n },\n\n sliderStyles() {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width)\n };\n },\n\n computedColor() {\n if (this.color) return this.color;else if (this.isDark && !this.appIsDark) return 'white';else return 'primary';\n }\n\n },\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize'\n },\n\n mounted() {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize();\n });\n obs.observe(this.$el);\n this.$on('hook:destroyed', () => {\n obs.disconnect();\n });\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30);\n });\n },\n\n methods: {\n callSlider() {\n if (this.hideSlider || !this.$refs.items || !this.$refs.items.selectedItems.length) {\n this.slider.width = 0;\n return false;\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0];\n /* istanbul ignore if */\n\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0;\n this.slider.left = 0;\n return;\n }\n\n const el = activeTab.$el;\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth\n };\n });\n return true;\n },\n\n genBar(items, slider) {\n const data = {\n style: {\n height: convertToUnit(this.height)\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue\n },\n on: {\n 'call:slider': this.callSlider,\n change: val => {\n this.internalValue = val;\n }\n },\n ref: 'items'\n };\n this.setTextColor(this.computedColor, data);\n this.setBackgroundColor(this.backgroundColor, data);\n return this.$createElement(VTabsBar, data, [this.genSlider(slider), items]);\n },\n\n genItems(items, item) {\n // If user provides items\n // opt to use theirs\n if (items) return items; // If no tabs are provided\n // render nothing\n\n if (!item.length) return null;\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue\n },\n on: {\n change: val => {\n this.internalValue = val;\n }\n }\n }, item);\n },\n\n genSlider(slider) {\n if (this.hideSlider) return null;\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: {\n color: this.sliderColor\n }\n });\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles\n }, [slider]);\n },\n\n onResize() {\n if (this._isDestroyed) return;\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(this.callSlider, 0);\n },\n\n parseNodes() {\n let items = null;\n let slider = null;\n const item = [];\n const tab = [];\n const slot = getSlot(this) || [];\n const length = slot.length;\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i];\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider':\n slider = vnode;\n break;\n\n case 'v-tabs-items':\n items = vnode;\n break;\n\n case 'v-tab-item':\n item.push(vnode);\n break;\n // case 'v-tab' - intentionally omitted\n\n default:\n tab.push(vnode);\n }\n } else {\n tab.push(vnode);\n }\n }\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n\n\n return {\n tab,\n slider,\n items,\n item\n };\n }\n\n },\n\n render(h) {\n const {\n tab,\n slider,\n items,\n item\n } = this.parseNodes();\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: {\n quiet: true\n },\n value: this.onResize\n }]\n }, [this.genBar(tab, slider), this.genItems(items, item)]);\n }\n\n});\n//# sourceMappingURL=VTabs.js.map"],"sourceRoot":""}