{"version":3,"sources":["webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/components/VGrid/VSpacer.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///../../../src/mixins/comparable/index.ts","webpack:///../../../src/components/VIcon/index.ts","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./src/components/navbar.vue","webpack:///src/components/navbar.vue","webpack:///./src/components/navbar.vue?4053","webpack:///./src/components/navbar.vue?cca5","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///./src/assets/logo/favicon.png","webpack:///../../../src/directives/touch/index.ts","webpack:///../../../src/directives/resize/index.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/mixins/mobile/index.ts","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///../../../src/mixins/transitionable/index.ts","webpack:///../../../src/mixins/menuable/index.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///./src/assets/image/member_default.jpg"],"names":["mixins","Colorable","Themeable","Toggleable","extend","name","props","absolute","Boolean","color","type","String","default","dark","opacity","Number","value","zIndex","computed","__scrim","data","this","setBackgroundColor","staticClass","style","computedOpacity","$createElement","classes","isActive","themeClasses","styles","methods","genContent","$slots","render","h","children","push","on","$listeners","class","VOverlay","createSimpleFunctional","BaseItemGroup","Comparable","Proxyable","activeClass","mandatory","max","multiple","tag","internalLazyValue","undefined","items","selectedIndex","selectedItem","indexOf","selectedItems","filter","item","index","toggleMethod","getValue","selectedValues","internalValue","Array","isArray","v","valueComparator","some","intern","watch","created","consoleWarn","genData","i","onClick","updateInternalValue","register","$on","length","updateMandatory","updateItem","unregister","_isDestroyed","splice","valueIndex","updateItemsState","$nextTick","forEach","updateMultiple","updateSingle","last","slice","reverse","find","disabled","defaultValue","findIndex","val","isSame","provide","itemGroup","Measurable","Roundable","left","right","size","roundedClasses","height","convertToUnit","minWidth","width","measurableStyles","Vue","Function","deepEqual","VIcon","VSheet","bottom","collapse","dense","extended","extensionHeight","flat","floating","prominent","short","src","Object","isExtended","computedHeight","computedContentHeight","parseInt","isCollapsed","isNaN","isProminent","$vuetify","breakpoint","smAndDown","options","call","breakingProps","original","replacement","$attrs","hasOwnProperty","breaking","genBackground","image","$scopedSlots","img","VImg","getSlot","genExtension","extension","unshift","applicationable","events","PositionableFactory","app","applicationProperty","x","prev","removeApplication","callUpdate","newVal","oldVal","application","_uid","activated","$watch","mounted","deactivated","destroyed","updateApplication","force","directives","Scroll","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","target","canScroll","window","computedScrollThreshold","document","querySelector","onScroll","scrollTop","pageYOffset","Math","abs","thresholdMet","baseMixins","VToolbar","Scrollable","SSRBootable","Applicationable","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","isBooted","fixed","hideShadow","scrollRatio","threshold","min","computedOriginalHeight","computedFontSize","computedLeft","computedMarginTop","bar","computedRight","computedTransform","fontSize","marginTop","transform","_b","arg","functional","slots","listeners","d","assign","trim","icon","defaultSlot","VBtn","Transitionable","avatar","bordered","content","required","dot","label","inline","offsetX","offsetY","overlap","tile","transition","computedBottom","computedYOffset","isRtl","computedXOffset","computedTop","calcPosition","rtl","offset","top","genBadge","lang","t","attrs","title","role","badge","genBadgeContent","origin","mode","slot","genBadgeWrapper","_x","_y","_z","Dependent","Mobile","Overlayable","ClickOutside","Resize","Touch","isInNav","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","isMouseover","touchArea","stackMinZIndex","isMobile","isMiniVariant","computedMaxHeight","hasApp","footer","isBottom","computedWidth","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","hideOverlay","translate","maxHeight","$route","$emit","removeOverlay","genOverlay","init","updateMiniVariant","beforeMount","calculateTouchArea","parent","$el","parentNode","parentRect","getBoundingClientRect","closeConditional","genAppend","genPosition","genDirectives","handler","include","getOpenDependentElements","swipeLeft","swipeRight","genListeners","mouseenter","mouseleave","transitionend","e","currentTarget","resizeEvent","createEvent","initUIEvent","dispatchEvent","click","genPrepend","genBorder","onRouteChange","touchendX","touchstartX","clientWidth","VToolbarTitle","_vm","staticStyle","scopedSlots","_c","fn","proxy","menu","$event","callback","expression","key","sub_menu","_v","model","$set","index_sub","item_sub","link","fullPath","staticRenderFns","drawer","total","components","Empty","user","token","reload","cancelAnimationFrame","frame","passive","storeScroll","TokenService","component","aspectRatio","contentClass","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","VResponsive","hasIntersect","intersect","alt","contain","eager","gradient","lazySrc","root","rootMargin","position","sizes","srcset","currentSrc","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","join","backgroundPosition","loadImage","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","endsWith","startsWith","naturalHeight","onError","onload","decode","catch","err","message","then","onerror","timeout","poll","complete","setTimeout","__genPlaceholder","placeholder","appear","node","mergeData","modifiers","once","module","exports","handleGesture","wrapper","touchstartY","touchendY","dirRatio","minDistance","up","down","touchstart","event","touch","changedTouches","clientX","clientY","start","touchend","end","touchmove","touchmoveX","touchmoveY","move","createHandlers","inserted","el","binding","vnode","parentElement","handlers","_touchHandlers","context","keys","eventName","addEventListener","unbind","removeEventListener","_onResize","quiet","_a","Delayable","Returnable","Menuable","isInMenu","theme","auto","closeOnClick","closeOnContentClick","disableKeys","openOnHover","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","tiles","activeTile","calculatedLeft","menuWidth","dimensions","parseFloat","calculatedMinWidth","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","calculatedMaxWidth","maxWidth","activator","nudgeWidth","pageWidth","calculatedTop","calcYOverflow","calcTop","hasClickableTiles","tabIndex","transformOrigin","activeZIndex","isContentActive","next","classList","add","$refs","contentHeight","clientHeight","offsetTop","goTo","appOffset","duration","container","remove","removed","callActivate","activate","updateDimensions","requestAnimationFrame","startTransition","calcTopAuto","calcScrollPosition","maxScrollTop","scrollHeight","offsetHeight","from","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","getTiles","keyCode","keyCodes","tab","nextTile","prevTile","lastTile","home","firstTile","enter","preventDefault","contains","genActivatorAttributes","attributes","Activatable","id","genActivatorListeners","keydown","onKeyDown","genTransition","getScopeIdAttrs","rootThemeClasses","activatorFixed","menuable__content__active","ref","getAttribute","scroll","mouseEnterHandler","mouseLeaveHandler","getContentSlot","querySelectorAll","runDelay","relatedTarget","callDeactivate","esc","getActivator","focus","includes","onResize","offsetWidth","clearTimeout","attach","genActivator","showLazyContent","VThemeProvider","light","mobileBreakpoint","validator","mobile","mobileWidth","isNumber","deprecate","overlayColor","overlayOpacity","animationFrame","overlay","beforeDestroy","createOverlay","propsData","$mount","insertBefore","firstChild","hideScroll","getZIndex","showScroll","addOnceEventListener","removeChild","$destroy","scrollListener","tagName","isContentEditable","pageup","pagedown","deltaY","body","checkPath","hasScrollbar","nodeType","Node","ELEMENT_NODE","getComputedStyle","overflowY","overflowX","scrollWidth","shouldScroll","hasAttribute","dir","shiftKey","deltaX","delta","alreadyAtStart","alreadyAtEnd","scrollLeft","scrollingUp","scrollingDown","isInside","path","composedPath","dialog","selected","getSelection","anchorNode","documentElement","addPassiveEventListener","Stackable","positionableFactory","Detachable","allowOverflow","nudgeBottom","nudgeLeft","nudgeRight","nudgeTop","offsetOverflow","positionX","positionY","activatorNode","absoluteX","absoluteY","activatedBy","offsetLeft","relativeYOffset","hasWindow","inputActivator","stackClass","a","c","activatorLeft","hasActivator","absoluteYOffset","absolutePosition","xOverflow","getOffsetLeft","documentHeight","getInnerHeight","toTop","totalHeight","isOverflowing","deactivate","checkForPageYOffset","getOffsetTop","checkActivatorFixed","offsetParent","openOnClick","innerHeight","pageXOffset","getRoundedBoundedClientRect","rect","round","measure","marginLeft","sneakPeek","cb","display","Promise","resolve","offsetRect","self","_onScroll"],"mappings":"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","file":"js/chunk-ac20d6a6.28835c8d.js","sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\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","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 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","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\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 { 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","// 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 './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n style: this.styles,\n attrs: {\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n },\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return this.$createElement(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return this.$createElement('span', {\n staticClass: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (h): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', {\n staticClass: 'v-badge',\n attrs,\n class: this.classes,\n }, children)\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;return _c('div',[_c('section',[_c('v-app-bar',{attrs:{\"clipped-left\":_vm.clipped,\"color\":\"#F9F9F9\",\"fixed\":\"\",\"nav\":\"\",\"elevation\":\"0\",\"app\":\"\"}},[_c('v-app-bar-nav-icon',{staticClass:\"hidden-lg-and-up\",on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}),_c('v-toolbar-title',{staticClass:\"body-2 font-weight-bold black--text text-capitalize d-flex align-center\",class:_vm.clipped ? 'pl-16 ml-2' : ''},[_c('span',{staticStyle:{\"opacity\":\"40%\"}},[_vm._v(\"\\n SITR Kabupaten Klaten\\n \")]),_c('v-icon',{staticClass:\"mx-2\",attrs:{\"size\":\"20\",\"color\":\"#959595\"}},[_vm._v(\"mdi-chevron-double-right\")]),_c('span',{staticClass:\"black--text\"},[_vm._v(\"\\n \"+_vm._s(_vm.$route.name)+\"\\n \")])],1),_c('v-spacer'),_c('v-menu',{attrs:{\"close-on-content-click\":\"\",\"nudge-width\":\"250\",\"offset-x\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"cursor-pointer\",on:{\"click\":function($event){return _vm.fetchNotification()}}},on),[(_vm.total > 0)?_c('v-badge',{attrs:{\"color\":\"red\",\"overlap\":\"\"}},[(_vm.total > 9)?_c('span',{attrs:{\"slot\":\"badge\"},slot:\"badge\"},[_vm._v(\"\\n 9+\\n \")]):_c('span',{attrs:{\"slot\":\"badge\"},slot:\"badge\"},[_vm._v(\"\\n \"+_vm._s(_vm.total)+\"\\n \")]),_c('span',{attrs:{\"slot\":\"default\"},slot:\"default\"},[_c('v-icon',{attrs:{\"color\":\"orange\"}},[_vm._v(\"mdi-bell\")])],1)]):_c('span',{attrs:{\"slot\":\"default\"},slot:\"default\"},[_c('v-icon',{attrs:{\"color\":\"grey\"}},[_vm._v(\"mdi-bell\")])],1)],1)]}}])}),_c('v-text-field',{staticClass:\"no_box ml-4\",staticStyle:{\"max-width\":\"300px\"},attrs:{\"solo\":\"\",\"color\":\"#2391d0\",\"placeholder\":\"Cari\",\"hide-details\":\"\"}}),_c('v-menu',{attrs:{\"transition\":\"slide-x-transition\",\"bottom\":\"\",\"right\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list',{staticClass:\"ml-4\",attrs:{\"flat\":\"\",\"color\":\"transparent\"}},[_c('v-list-item',_vm._g(_vm._b({staticClass:\"px-2\",staticStyle:{\"border-radius\":\"10px\",\"background\":\"#FFFFFF\"}},'v-list-item',attrs,false),on),[_c('v-list-item-avatar',{staticStyle:{\"border-radius\":\"5px !important\"},attrs:{\"size\":\"30\",\"tile\":\"\"}},[_c('v-img',{staticClass:\"ma-auto\",attrs:{\"width\":\"100%\",\"height\":\"100%\",\"alt\":\"umb\",\"src\":_vm.user.image === '' ? require('@/assets/image/member_default.jpg') : _vm.user.image},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('v-row',{staticClass:\"fill-height\",attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-progress-circular',{attrs:{\"size\":\"20\",\"indeterminate\":\"\",\"color\":\"#2391d0\"}})],1)]},proxy:true}],null,true)})],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"body-2\"},[_vm._v(\"\\n \"+_vm._s(_vm.user.fullname)+\"\\n \")])],1),_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-menu-down\")])],1)],1)],1)]}}])},[_c('v-list',_vm._l((_vm.menu.right),function(item,index){return _c('v-list-item',{key:index,on:{\"click\":function($event){return _vm.toMenu(item)}}},[_c('v-list-item-content',{style:(index < _vm.menu.right.length - 1 ? 'border-bottom: 2px solid #f9f9f9;' : '')},[_c('v-list-item-title',[_vm._v(\"\\n \"+_vm._s(item.title)+\"\\n \")])],1)],1)}),1)],1)],1),_c('v-navigation-drawer',{attrs:{\"mini-variant\":_vm.clipped,\"width\":\"275\",\"color\":\"#F9F9F9\",\"dark\":\"\",\"fixed\":\"\",\"app\":\"\"},on:{\"update:miniVariant\":function($event){_vm.clipped=$event},\"update:mini-variant\":function($event){_vm.clipped=$event}},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('div',{staticClass:\"d-flex align-center cursor-pointer pa-3 py-1 mb-6\",staticStyle:{\"height\":\"64px\"}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-img',{staticClass:\"ma-auto\",attrs:{\"contain\":\"\",\"width\":!_vm.clipped ? 36 : 30,\"height\":!_vm.clipped ? 36 : 30,\"alt\":\"umb\",\"src\":require('@/assets/logo/favicon.png')},scopedSlots:_vm._u([{key:\"placeholder\",fn:function(){return [_c('v-row',{staticClass:\"fill-height\",attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-progress-circular',{attrs:{\"size\":\"20\",\"indeterminate\":\"\",\"color\":\"#2391d0\"}})],1)]},proxy:true}])}),(!_vm.clipped)?_c('div',{staticClass:\"text-h5 font-weight-bold text-center one-line color-default ml-2\"},[_vm._v(\"\\n SITR\\n \")]):_vm._e(),_c('v-spacer'),(!_vm.clipped)?_c('v-btn',{staticClass:\"mr-3\",staticStyle:{\"position\":\"absolute\",\"right\":\"0\"},attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.clipped = !_vm.clipped ? true : false}}},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\"\\n mdi-chevron-left\\n \")])],1):_vm._e()],1)]),_c('v-list',_vm._l((_vm.menu.left),function(item,index){return _c('div',{key:index},[(item.sub_menu.length < 1)?_c('v-list-item',{attrs:{\"to\":item.link,\"color\":\"transparent\"}},[_c('v-list-item-avatar',{staticClass:\"mr-4\",attrs:{\"size\":\"22\",\"tile\":\"\"}},[_c('v-icon',{attrs:{\"size\":\"22\",\"color\":item.link === _vm.$route.fullPath ? '#2391d0' : '#959595'}},[_vm._v(\"\\n \"+_vm._s(item.icon)+\"\\n \")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"body-2\",class:item.link === _vm.$route.fullPath ? 'color-default font-weight-bold' : 'color-grey'},[_vm._v(\"\\n \"+_vm._s(item.title)+\"\\n \")])],1)],1):_c('v-list-group',{attrs:{\"color\":\"#2391d0\",\"append-icon\":item.sub_menu.length > 0 ? 'mdi-menu-down' : '',\"no-action\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-avatar',{staticClass:\"mr-4\",attrs:{\"size\":\"22\",\"tile\":\"\"}},[_c('v-icon',{attrs:{\"size\":\"22\",\"color\":item.active ? '#2391d0' : '#959595'}},[_vm._v(\"\\n \"+_vm._s(item.icon)+\"\\n \")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"body-2\",class:item.active ? 'color-default font-weight-bold' : 'color-grey'},[_vm._v(\"\\n \"+_vm._s(item.title)+\"\\n \")])],1)]},proxy:true}],null,true),model:{value:(item.active),callback:function ($$v) {_vm.$set(item, \"active\", $$v)},expression:\"item.active\"}},_vm._l((item.sub_menu),function(item_sub,index_sub){return _c('v-list-item',{key:index_sub,staticClass:\"pl-15\",attrs:{\"to\":item_sub.link,\"color\":\"transparent\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"body-2\",class:item_sub.link === _vm.$route.fullPath ? 'color-default font-weight-bold' : 'color-grey'},[_vm._v(\"\\n \"+_vm._s(item_sub.title)+\"\\n \")])],1)],1)}),1)],1)}),0)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./navbar.vue?vue&type=template&id=49b16760&\"\nimport script from \"./navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./navbar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","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","module.exports = __webpack_public_path__ + \"img/favicon.c123a794.png\";","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","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\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","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd)) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n","// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Stackable,\n positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n Activatable,\n Detachable,\n)\n\ninterface dimensions {\n top: number\n left: number\n bottom: number\n right: number\n width: number\n height: number\n offsetTop: number\n scrollHeight: number\n offsetLeft: number\n}\n\ninterface options extends ExtractVue {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n dimensions: {\n activator: dimensions\n content: dimensions\n }\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n activatorNode: [] as VNode[],\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n relativeYOffset: 0,\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += activatorLeft\n if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n absoluteYOffset (): number {\n return this.pageYOffset - this.relativeYOffset\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n\n if (this.hasWindow) {\n window.addEventListener('resize', this.updateDimensions, false)\n }\n },\n\n beforeDestroy () {\n if (this.hasWindow) {\n window.removeEventListener('resize', this.updateDimensions, false)\n }\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: this.positionY || this.absoluteY,\n offsetLeft: this.positionX || this.absoluteX,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.absoluteYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n top = this.absoluteYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) {\n this.activatorFixed = false\n return\n }\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n if (onClick) {\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {\n activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n if (this.$refs.content) {\n if (this.$refs.content.offsetParent) {\n const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n this.relativeYOffset = window.pageYOffset + offsetRect.top\n dimensions.activator.top -= this.relativeYOffset\n dimensions.activator.left -= window.pageXOffset + offsetRect.left\n }\n\n dimensions.content = this.measure(this.$refs.content)\n }\n\n this.dimensions = dimensions\n })\n },\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","module.exports = __webpack_public_path__ + \"img/member_default.2483d555.jpg\";"],"sourceRoot":""}