{"version":3,"sources":["webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///./src/layouts/LayoutTopMenu.vue?17c6","webpack:///./src/layouts/LayoutTopMenu.vue?1d35","webpack:///./node_modules/core-js/modules/es.regexp.sticky.js","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack:///../../../src/components/VFooter/VFooter.ts","webpack:///../../../src/components/VMain/VMain.ts","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./src/layouts/LayoutTopMenu.vue","webpack:///./src/components/BaseList.vue","webpack:///./src/components/BaseList.vue?000d","webpack:///./src/components/BaseList.vue?8f77","webpack:///./src/components/BaseList.vue?8a2a","webpack:///./src/layouts/LayoutTopMenu.vue?80be","webpack:///./src/layouts/LayoutTopMenu.vue?8235","webpack:///./src/layouts/LayoutTopMenu.vue?7e0c","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./src/components/BaseList.vue?512f","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///../../../src/components/VAvatar/index.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/mixins/comparable/index.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///../../../src/directives/touch/index.ts","webpack:///./node_modules/core-js/modules/es.regexp.dot-all.js","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///../../../src/components/VDivider/VDivider.ts","webpack:///../../../src/components/VList/VListItem.ts","webpack:///../../../src/mixins/mobile/index.ts"],"names":["Vue","extend","name","functional","render","h","_ref","data","_ref$children","children","staticClass","concat","filteredChild","filter","VNode","isComment","text","length","DESCRIPTORS","MISSED_STICKY","classof","defineBuiltInAccessor","getInternalState","get","RegExpPrototype","RegExp","prototype","$TypeError","TypeError","configurable","this","sticky","VSheet","props","absolute","Boolean","bottom","collapse","dense","extended","extensionHeight","default","type","Number","String","flat","floating","prominent","short","src","Object","tag","isExtended","computed","computedHeight","height","computedContentHeight","parseInt","isCollapsed","isNaN","isProminent","$vuetify","breakpoint","smAndDown","classes","_objectSpread","options","call","styles","measurableStyles","convertToUnit","created","_this","breakingProps","forEach","_ref2","_slicedToArray","original","replacement","$attrs","hasOwnProperty","breaking","methods","genBackground","image","$scopedSlots","img","$createElement","VImg","genContent","style","getSlot","genExtension","extension","setBackgroundColor","color","class","on","$listeners","push","unshift","inserted","el","binding","vnode","modifiers","_ref$self","self","value","_typeof","passive","handler","target","arg","document","querySelector","window","addEventListener","_onScroll","context","_uid","undefined","unbind","_a","_el$_onScroll$vnode$c","_el$_onScroll$vnode$c2","removeEventListener","Scroll","applicationable","events","arguments","mixins","PositionableFactory","app","applicationProperty","watch","x","prev","removeApplication","callUpdate","newVal","oldVal","application","unregister","activated","i","$watch","mounted","deactivated","destroyed","register","updateApplication","force","directives","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","canScroll","computedScrollThreshold","consoleWarn","onScroll","scrollTop","pageYOffset","Math","abs","$nextTick","thresholdMet","isBooted","requestAnimationFrame","$el","setAttribute","baseMixins","VToolbar","Scrollable","SSRBootable","Toggleable","Applicationable","provide","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","fixed","hideShadow","scrollRatio","threshold","max","min","computedOriginalHeight","computedFontSize","computedLeft","left","computedMarginTop","bar","computedOpacity","computedRight","right","computedTransform","fontSize","marginTop","transform","val","_b","opacity","slots","listeners","d","assign","trim","icon","defaultSlot","VBtn","VIcon","inset","padless","computedBottom","isPositioned","clientHeight","$slots","_this$$vuetify$applic","top","footer","insetFooter","paddingTop","paddingRight","paddingBottom","paddingLeft","ref","Colorable","Dependent","Mobile","Overlayable","Themeable","ClickOutside","Resize","Touch","isInNav","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","width","isMouseover","touchArea","stackMinZIndex","isMobile","isMiniVariant","themeClasses","computedMaxHeight","hasApp","computedTop","isBottom","computedWidth","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","hideOverlay","translate","maxHeight","$route","$emit","removeOverlay","genOverlay","init","updateMiniVariant","beforeMount","calculateTouchArea","parent","parentNode","parentRect","getBoundingClientRect","closeConditional","_isDestroyed","genAppend","genPosition","genDirectives","include","getOpenDependentElements","swipeLeft","swipeRight","genListeners","_this2","mouseenter","mouseleave","transitionend","e","currentTarget","resizeEvent","createEvent","initUIEvent","dispatchEvent","click","slot","genPrepend","genBorder","onRouteChange","touchendX","touchstartX","clientWidth","VToolbarTitle","createSimpleFunctional","callback","sidebar","attrs","_c","key","title","route","item","staticStyle","_vm","staticRenderFns","_self","_setup","component","Component","components","BaseList","menuItems","$store","state","authentication","status","loggedIn","items","i18n","t","action","navigate","role","$changePassword","openDatenschutzbestimmungen","hasRole","me","getters","language","locale","roles","indexOf","switchLanguage","dispatch","transitioning","newRoute","open","drawerTransEnded","router","today","Date","year","getFullYear","global","uncurryThis","isForced","inheritIfRequired","createNonEnumerableProperty","getOwnPropertyNames","f","isPrototypeOf","isRegExp","toString","getRegExpFlags","stickyHelpers","proxyAccessor","defineBuiltIn","fails","hasOwn","enforceInternalState","enforce","setSpecies","wellKnownSymbol","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","MATCH","NativeRegExp","SyntaxError","exec","charAt","replace","stringIndexOf","stringSlice","slice","IS_NCG","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","BASE_FORCED","handleDotAll","string","chr","index","result","brackets","handleNCG","named","names","ncg","groupid","groupname","RegExpWrapper","pattern","flags","rawFlags","dotAll","handled","thisIsRegExp","patternIsRegExp","flagsAreUndefined","groups","rawPattern","constructor","source","raw","error","keys","BindsAttrs","Bootable","RegistrableInject","ripple","activeClass","appendIcon","disabled","group","noAction","prependIcon","subGroup","list","listClick","matchRoute","path","beforeDestroy","genIcon","genAppendIcon","VListItemIcon","genHeader","VListItem","_defineProperty","inputValue","listeners$","genPrependIcon","activator","genItems","showLazyContent","to","toggle","uid","_this3","match","setTextColor","VExpandTransition","BaseItemGroup","Comparable","Proxyable","mandatory","multiple","internalLazyValue","selectedIndex","selectedItem","selectedItems","toggleMethod","getValue","selectedValues","internalValue","Array","isArray","v","valueComparator","some","intern","genData","onClick","updateInternalValue","$on","updateMandatory","updateItem","splice","valueIndex","updateItemsState","_this4","updateMultiple","updateSingle","last","reverse","find","_this5","defaultValue","findIndex","isSame","itemGroup","isInGroup","listItemGroup","Measurable","Roundable","size","roundedClasses","minWidth","VAvatar","horizontal","tile","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","VList","VListItemAction","Function","deepEqual","isInList","inject","isInMenu","expand","nav","rounded","subheader","threeLine","twoLine","content","g","_step","_iterator","_createForOfIteratorHelper","s","n","done","err","attrs$","$","getOwnPropertyDescriptor","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","nativeEndsWith","endsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","writable","proto","forced","searchString","that","endPosition","len","end","search","aspectRatio","contentClass","computedAspectRatio","aspectStyle","__cachedSizer","VResponsive","hasIntersect","intersect","alt","contain","eager","gradient","lazySrc","root","rootMargin","position","sizes","srcset","transition","currentSrc","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","join","backgroundPosition","mode","loadImage","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","startsWith","naturalHeight","onError","onload","decode","catch","message","then","onerror","timeout","poll","complete","setTimeout","__genPlaceholder","placeholder","appear","node","mergeData","once","handleGesture","wrapper","touchstartY","touchendY","dirRatio","minDistance","offsetX","offsetY","up","down","touchstart","event","touch","changedTouches","clientX","clientY","start","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","parentElement","handlers","_touchHandlers","eventName","$findIndex","addToUnscopables","FIND_INDEX","SKIPS_HOLES","callbackfn","vertical","orientation","Routable","GroupableFactory","ToggleableFactory","Ripple","inheritAttrs","inactive","link","selectable","proxyClass","isClickable","removed","detail","blur","genAttrs","tabindex","id","_this$generateRouteLi","generateRouteLink","keydown","keyCode","keyCodes","enter","nativeOn","active","mobileBreakpoint","validator","includes","_this$$vuetify$breakp","mobile","mobileWidth","isNumber","deprecate"],"mappings":"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","file":"js/chunk-08ae3b2d.d8d0f44e.js","sourcesContent":["// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutTopMenu.vue?vue&type=style&index=1&id=52874c81&prod&lang=less&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutTopMenu.vue?vue&type=style&index=0&id=52874c81&prod&lang=less&scoped=true&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar MISSED_STICKY = require('../internals/regexp-sticky-helpers').MISSED_STICKY;\nvar classof = require('../internals/classof-raw');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar getInternalState = require('../internals/internal-state').get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar $TypeError = TypeError;\n\n// `RegExp.prototype.sticky` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky\nif (DESCRIPTORS && MISSED_STICKY) {\n defineBuiltInAccessor(RegExpPrototype, 'sticky', {\n configurable: true,\n get: function sticky() {\n if (this === RegExpPrototype) return;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (classof(this) === 'RegExp') {\n return !!getInternalState(this).sticky;\n }\n throw $TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","// 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","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\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","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\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 './VFooter.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types/vnode'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Applicationable('footer', [\n 'height',\n 'inset',\n ]),\n SSRBootable\n).extend({\n name: 'v-footer',\n\n props: {\n height: {\n default: 'auto',\n type: [Number, String],\n },\n inset: Boolean,\n padless: Boolean,\n tag: {\n type: String,\n default: 'footer',\n },\n },\n\n computed: {\n applicationProperty (): string {\n return this.inset ? 'insetFooter' : 'footer'\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-footer--absolute': this.absolute,\n 'v-footer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-footer--padless': this.padless,\n 'v-footer--inset': this.inset,\n }\n },\n computedBottom (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app\n ? this.$vuetify.application.bottom\n : 0\n },\n computedLeft (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.left\n : 0\n },\n computedRight (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.right\n : 0\n },\n isPositioned (): boolean {\n return Boolean(\n this.absolute ||\n this.fixed ||\n this.app\n )\n },\n styles (): object {\n const height = parseInt(this.height)\n\n return {\n ...VSheet.options.computed.styles.call(this),\n height: isNaN(height) ? height : convertToUnit(height),\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n bottom: convertToUnit(this.computedBottom),\n }\n },\n },\n\n methods: {\n updateApplication () {\n const height = parseInt(this.height)\n\n return isNaN(height)\n ? this.$el ? this.$el.clientHeight : 0\n : height\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-footer',\n class: this.classes,\n style: this.styles,\n })\n\n return h(this.tag, data, this.$slots.default)\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","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{attrs:{\"fluid\":\"\",\"id\":\"content-container\"}},[_c('v-navigation-drawer',{attrs:{\"disable-resize-watcher\":\"\",\"clipped\":\"\",\"app\":\"\",\"width\":\"300px\"},on:{\"transitionend\":_vm.drawerTransEnded},model:{value:(_vm.sidebar),callback:function ($$v) {_vm.sidebar=$$v},expression:\"sidebar\"}},[_c('v-app-bar',{staticClass:\"transparent\",attrs:{\"flat\":\"\"}},[_c('base-list',{staticClass:\"pa-0\"},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.me.firstName)+\" \"+_vm._s(_vm.me.lastName))])],1)],1)],1)],1),_c('base-list',{staticClass:\"pt-0\"},[_c('v-divider'),_vm._l((_vm.menuItems),function(item){return _c('v-list-item',{key:item.title,class:!!item.route && item.route === _vm.$route.path ? 'highlighted' : '',attrs:{\"active-class\":\"highlighted\"},on:{\"click\":item.action}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(_vm._s(item.icon))])],1),_c('v-list-item-content',[_vm._v(_vm._s(item.title))])],1)})],2)],1),_c('v-app-bar',{attrs:{\"app\":\"\",\"id\":\"toolbar\",\"color\":\"primary\",\"fixed\":\"\",\"clipped-left\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){_vm.sidebar = !_vm.sidebar}}}),_c('v-toolbar-title',{staticClass:\"hidden-xs-only\"},[_c('router-link',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"to\":\"/\",\"tag\":\"span\"}},[_vm._v(\"ICS-HELPDESK\")])],1),_c('v-spacer',{staticClass:\"hidden-xs-only\"}),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.switchLanguage}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"swap_horiz\")]),(_vm.language === 'de')?_c('span',[_vm._v(\"English\")]):_vm._e(),(_vm.language === 'en')?_c('span',[_vm._v(\"Deutsch\")]):_vm._e()],1),_c('v-btn',{attrs:{\"to\":\"/signin\",\"text\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"exit_to_app\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"MENU.LOGOUT\"))+\" \")],1)],1),_c('v-main',[_vm._t(\"default\")],2),_vm._v(\"' \"),_c('v-footer',{attrs:{\"height\":\"110px\"}},[_c('div',{staticClass:\"container\",staticStyle:{\"padding-bottom\":\"10px\"}},[_vm._v(\" Copyright © \"+_vm._s(_vm.year)+\" ICS Facility Solutions GmbH | \"),_c('a',{attrs:{\"title\":\"Datenschutz\",\"href\":\"https://www.ics-fs.at/datenschutz/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"GENERAL.DATENSCHUTZ\")))])]),_vm._v(\" ' \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-list',{staticClass:\"base-list\"},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n name: \"base-list\"\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BaseList.vue?vue&type=template&id=c0f22bc6&scoped=true&\"\nimport script from \"./BaseList.vue?vue&type=script&lang=ts&\"\nexport * from \"./BaseList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BaseList.vue?vue&type=style&index=0&id=c0f22bc6&prod&lang=less&scoped=true&\"\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 \"c0f22bc6\",\n null\n \n)\n\nexport default component.exports","\r\nimport Vue from \"vue\";\r\nimport BaseList from \"@/components/BaseList.vue\";\r\nimport { User } from \"@/types\";\r\nimport i18n from \"@/plugins/i18n\";\r\nimport router from \"@/router\";\r\n\r\nconst Component = Vue.extend({\r\n name: \"LayoutTopMenu\",\r\n components: {\r\n \"base-list\": BaseList,\r\n },\r\n computed: {\r\n menuItems(this: any) {\r\n if (this.$store.state.authentication.status.loggedIn) {\r\n const items = [\r\n {\r\n title: i18n.t(\"OCCURRENCE.TITLE\"),\r\n route: \"/ereignis\",\r\n action: () => this.navigate(\"/ereignis\"),\r\n icon: \"report\",\r\n },\r\n {\r\n title: i18n.t(\"MENU.REPORTS\"),\r\n route: \"/report\",\r\n action: () => this.navigate(\"/report\"),\r\n icon: \"description\",\r\n },\r\n {\r\n title: i18n.t(\"MENU.DEBUG\"),\r\n route: \"/debug\",\r\n action: () => this.navigate(\"/debug\"),\r\n icon: \"bug_report\",\r\n role: \"Administrator\",\r\n },\r\n {\r\n title: i18n.t(\"MENU.USERMANAGEMENT\"),\r\n route: \"/users\",\r\n action: () => this.navigate(\"/users\"),\r\n icon: \"people\",\r\n role: \"Administrator\",\r\n },\r\n {\r\n title: i18n.t(\"GENERAL.CHANGEPASSWORD\"),\r\n action: () => this.$changePassword(),\r\n icon: \"vpn_key\",\r\n },\r\n {\r\n title: i18n.t(\"DATENSCHUTZBESTIMMUNGEN\"),\r\n action: () => this.openDatenschutzbestimmungen(),\r\n icon: \"lock\",\r\n },\r\n {\r\n title: i18n.t(\"MENU.LOGOUT\"),\r\n route: \"/signing\",\r\n action: () => this.navigate(\"/signin\"),\r\n icon: \"exit_to_app\",\r\n },\r\n ];\r\n return items.filter((item) => {\r\n return this.hasRole(item.role);\r\n });\r\n } else {\r\n return [];\r\n }\r\n },\r\n me(): User {\r\n const data = this.$store.getters[\"authentication/user\"];\r\n return data;\r\n },\r\n language(): string {\r\n return this.$store.state.locale;\r\n },\r\n },\r\n methods: {\r\n hasRole(role: string): boolean {\r\n return !role || (this.me.roles || []).indexOf(role) > -1;\r\n },\r\n switchLanguage(): void {\r\n const { dispatch } = this.$store;\r\n if (this.language === \"de\") {\r\n dispatch(\"setLang\", \"en\");\r\n } else {\r\n dispatch(\"setLang\", \"de\");\r\n }\r\n },\r\n navigate(action: string) {\r\n this.transitioning = true;\r\n this.sidebar = false;\r\n this.newRoute = action;\r\n },\r\n openDatenschutzbestimmungen() {\r\n window.open(\"https://www.ics-fs.at/datenschutz/\", \"_blank\");\r\n },\r\n drawerTransEnded() {\r\n this.transitioning = false;\r\n if (!this.sidebar && this.newRoute !== \"\") {\r\n router.push(this.newRoute);\r\n this.newRoute = \"\";\r\n }\r\n },\r\n },\r\n data() {\r\n const today = new Date();\r\n const year = today.getFullYear();\r\n\r\n return {\r\n year,\r\n sidebar: false,\r\n transitioning: false,\r\n newRoute: \"\",\r\n };\r\n },\r\n});\r\nexport default Component;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutTopMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutTopMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LayoutTopMenu.vue?vue&type=template&id=52874c81&scoped=true&\"\nimport script from \"./LayoutTopMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./LayoutTopMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LayoutTopMenu.vue?vue&type=style&index=0&id=52874c81&prod&lang=less&scoped=true&\"\nimport style1 from \"./LayoutTopMenu.vue?vue&type=style&index=1&id=52874c81&prod&lang=less&\"\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 \"52874c81\",\n null\n \n)\n\nexport default component.exports","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr = chr + charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(global, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseList.vue?vue&type=style&index=0&id=c0f22bc6&prod&lang=less&scoped=true&\"","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType\n\ninterface options extends ExtractVue {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable,\n Roundable,\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual,\n } as PropValidator,\n },\n})\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar nativeEndsWith = uncurryThis(''.endsWith);\nvar slice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return nativeEndsWith\n ? nativeEndsWith(that, search, end)\n : slice(that, end - search.length, end) === search;\n }\n});\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","var DESCRIPTORS = require('../internals/descriptors');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar classof = require('../internals/classof-raw');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar getInternalState = require('../internals/internal-state').get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar $TypeError = TypeError;\n\n// `RegExp.prototype.dotAll` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall\nif (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {\n defineBuiltInAccessor(RegExpPrototype, 'dotAll', {\n configurable: true,\n get: function dotAll() {\n if (this === RegExpPrototype) return undefined;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (classof(this) === 'RegExp') {\n return !!getInternalState(this).dotAll;\n }\n throw $TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-findindex -- testing\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n },\n})\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"],"sourceRoot":""}