{"version":3,"sources":["webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack:///../../../src/components/VApp/VApp.ts","webpack:///./src/components/sidebar-list.vue?b7f3","webpack:///src/components/sidebar-list.vue","webpack:///./src/components/sidebar-list.vue?bf41","webpack:///./src/components/sidebar-list.vue","webpack:///../../../src/mixins/mobile/index.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///../../../src/components/VMain/VMain.ts","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":["VSheet","name","props","absolute","bottom","collapse","dense","extended","extensionHeight","default","type","Number","String","flat","floating","prominent","short","src","tag","data","isExtended","computed","computedHeight","height","this","parseInt","isCollapsed","isNaN","computedContentHeight","isProminent","$vuetify","breakpoint","classes","styles","created","breakingProps","original","replacement","methods","genBackground","image","$scopedSlots","img","$createElement","VImg","staticClass","genContent","style","genExtension","render","children","setBackgroundColor","class","on","$listeners","h","inserted","binding","self","value","options","passive","handler","target","document","el","Object","vnode","undefined","unbind","Scroll","directives","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","canScroll","window","computedScrollThreshold","watch","mounted","console","onScroll","Math","thresholdMet","baseMixins","mixins","provide","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","applicationProperty","app","scrollRatio","threshold","min","max","computedFontSize","computedLeft","application","computedMarginTop","computedOpacity","computedOriginalHeight","computedRight","computedTransform","hideShadow","fontSize","marginTop","transform","left","right","val","_b","opacity","updateApplication","arg","functional","d","icon","listeners","defaultSlot","slots","dark","id","light","isDark","theme","beforeCreate","Error","wrapper","$slots","themeClasses","attrs","domProps","_vm","_h","_c","_self","_l","item","index","key","path","_v","_s","iconName","title","staticRenderFns","items","Boolean","Array","required","innerItems","out","log","$store","state","auth","role","visibleRoutes","sort","map","component","VIcon","VList","VListItem","VListItemAction","VListItemContent","VListItemTitle","mobileBreakpoint","validator","v","includes","isMobile","mobile","mobileWidth","isNumber","width","$attrs","hasOwnProperty","color","zIndex","__scrim","hideOverlay","overlayColor","overlayOpacity","animationFrame","overlay","genOverlay","beforeDestroy","createOverlay","propsData","parent","$el","requestAnimationFrame","removeOverlay","showScroll","cancelAnimationFrame","scrollListener","e","up","down","checkPath","hasScrollbar","Node","shouldScroll","dir","delta","alreadyAtStart","alreadyAtEnd","scrollingUp","scrollingDown","isInside","dialog","$refs","selected","hideScroll","paddingTop","top","paddingRight","paddingBottom","footer","paddingLeft","ref","ClickOutside","Resize","Touch","isInNav","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","isMouseover","touchArea","stackMinZIndex","computedMaxHeight","computedTop","computedWidth","isMiniVariant","hasApp","isBottom","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","translate","maxHeight","$route","prev","beforeMount","calculateTouchArea","parentRect","closeConditional","genAppend","genPosition","genDirectives","include","getOpenDependentElements","swipeRight","genListeners","mouseenter","mouseleave","transitionend","resizeEvent","slot","genPrepend","genBorder","init","onRouteChange","swipeLeft","updateMiniVariant","$emit"],"mappings":"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","file":"js/chunk-553788d9.60d07ef5.js","sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n provide (): object {\n return { VAppBar: this }\n },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsy, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n scrollRatio (): number {\n const threshold = this.computedScrollThreshold\n return Math.max((threshold - this.currentScroll) / threshold, 0)\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const min = this.dense ? 48 : 56\n const max = this.computedOriginalHeight\n\n return min + (max - min) * this.scrollRatio\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const min = 1.25\n const max = 1.5\n\n return min + (max - min) * this.scrollRatio\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n return this.scrollRatio\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n hideOnScroll (val: boolean) {\n this.isActive = !val || this.currentScroll < this.computedScrollThreshold\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-app-bar-nav-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const d = Object.assign(data, {\n staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n props: {\n ...props,\n icon: true,\n },\n on: listeners,\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n },\n})\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar-list-component\"},[_c('v-list',{attrs:{\"dense\":\"\"}},_vm._l((_vm.innerItems),function(item,index){return _c('v-list-item',{key:'sidebar-list-item-' + index,attrs:{\"link\":\"\",\"exact\":\"\",\"to\":item.path}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\" \"+_vm._s(item.iconName)+\" \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(item.title)+\" \")])],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./sidebar-list.vue?vue&type=template&id=452dcd1a&\"\nimport script from \"./sidebar-list.vue?vue&type=script&lang=js&\"\nexport * from \"./sidebar-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle})\n","// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'mobile',\n\n props: {\n mobileBreakpoint: {\n type: [Number, String] as PropType,\n default (): number | BreakpointName | undefined {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify\n ? this.$vuetify.breakpoint.mobileBreakpoint\n : undefined\n },\n validator: v => (\n !isNaN(Number(v)) ||\n ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n ),\n },\n },\n\n computed: {\n isMobile (): boolean {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint,\n } = this.$vuetify.breakpoint\n\n // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n const isNumber = !isNaN(mobileWidth)\n\n return isNumber\n ? width < mobileWidth\n : name === this.mobileBreakpoint\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this)\n }\n },\n})\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent & KeyboardEvent) {\n if (e.type === 'keydown') {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd)) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener as EventHandlerNonNull, { passive: false })\n window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)\n window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n },\n },\n})\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record void> = {\n mouseenter: () => (this.isMouseover = true),\n mouseleave: () => (this.isMouseover = false),\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":""}