{"version":3,"sources":["webpack:///../../../src/components/VAvatar/index.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VList/VListItem.ts","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VApp/VApp.ts","webpack:///../../../src/components/VMain/VMain.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///../../../src/components/VFooter/VFooter.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts"],"names":["VAvatar","baseMixins","mixins","BindsAttrs","Bootable","Colorable","RegistrableInject","Toggleable","extend","name","directives","ripple","props","activeClass","type","String","default","appendIcon","color","disabled","Boolean","group","RegExp","noAction","prependIcon","Object","subGroup","computed","classes","this","isActive","watch","val","list","listClick","_uid","$route","created","register","value","matchRoute","path","beforeDestroy","unregister","methods","click","e","isBooted","$emit","$nextTick","genIcon","icon","$createElement","VIcon","genAppendIcon","$slots","VListItemIcon","staticClass","genHeader","VListItem","attrs","role","class","inputValue","on","listeners$","genPrependIcon","activator","genItems","showLazyContent","getSlot","onRouteChange","to","toggle","uid","match","render","h","setTextColor","VExpandTransition","BaseItemGroup","provide","isInGroup","listItemGroup","options","call","genData","Vue","functional","data","children","filter","VNode","isComment","text","length","horizontal","size","Number","tile","VListItemActionText","createSimpleFunctional","VListItemContent","VListItemTitle","VListItemSubtitle","VList","Routable","Themeable","GroupableFactory","ToggleableFactory","Ripple","inject","isInList","isInMenu","isInNav","inheritAttrs","dense","inactive","link","selectable","tag","threeLine","twoLine","proxyClass","isClickable","themeClasses","$attrs","hasOwnProperty","removed","detail","$el","blur","genAttrs","undefined","tabindex","id","generateRouteLink","keydown","keyCode","keyCodes","enter","nativeOn","$scopedSlots","active","trim","applicationable","events","PositionableFactory","app","applicationProperty","x","prev","removeApplication","callUpdate","newVal","oldVal","$vuetify","application","activated","i","$watch","mounted","deactivated","destroyed","updateApplication","force","VSheet","expand","flat","nav","rounded","subheader","groups","content","push","index","findIndex","g","splice","style","styles","attrs$","setBackgroundColor","dark","light","isDark","theme","beforeCreate","$root","Error","wrapper","rtl","domProps","SSRBootable","bar","top","right","footer","insetFooter","bottom","left","paddingTop","paddingRight","paddingBottom","paddingLeft","ref","Dependent","Delayable","Returnable","Roundable","Menuable","ClickOutside","Resize","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","offsetX","offsetY","openOnHover","origin","transition","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","selectedIndex","tiles","activeTile","calculatedLeft","menuWidth","Math","max","dimensions","width","parseFloat","calculatedMinWidth","convertToUnit","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","calculatedMaxWidth","maxWidth","minWidth","min","nudgeWidth","pageWidth","isNaN","parseInt","calculatedTop","calcYOverflow","calcTop","hasClickableTiles","find","tabIndex","transformOrigin","zIndex","activeZIndex","isContentActive","next","classList","add","scrollTop","$refs","contentHeight","clientHeight","offsetTop","goTo","appOffset","duration","container","remove","callActivate","activate","updateDimensions","requestAnimationFrame","startTransition","then","calcTopAuto","calcScrollPosition","querySelector","maxScrollTop","scrollHeight","offsetHeight","computedTop","Array","from","indexOf","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","getTiles","tab","down","nextTile","up","prevTile","end","lastTile","home","firstTile","preventDefault","closeConditional","target","_isDestroyed","contains","genActivatorAttributes","attributes","Activatable","genActivatorListeners","listeners","onKeyDown","genTransition","genContent","genDirectives","handler","include","getOpenDependentElements","getScopeIdAttrs","rootThemeClasses","roundedClasses","activatorFixed","menuable__content__active","contentClass","getAttribute","$listeners","scroll","mouseenter","mouseEnterHandler","mouseleave","mouseLeaveHandler","getContentSlot","querySelectorAll","runDelay","_a","relatedTarget","callDeactivate","esc","setTimeout","getActivator","focus","includes","onResize","offsetWidth","clearTimeout","window","attach","arg","genActivator","VThemeProvider","root","Sizeable","chipGroup","close","closeIcon","closeLabel","draggable","filterIcon","label","outlined","pill","textColor","isLink","hasClose","sizeableClasses","groupClasses","forEach","original","replacement","breaking","genFilter","VExpandXTransition","genClose","lang","t","stopPropagation","Applicationable","height","inset","padless","absolute","fixed","computedBottom","isPositioned","computedLeft","computedRight","Scroll","inserted","el","binding","vnode","modifiers","self","passive","document","addEventListener","_onScroll","context","unbind","removeEventListener","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","canScroll","computedScrollThreshold","consoleWarn","onScroll","pageYOffset","abs","thresholdMet","VToolbar","Scrollable","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","collapse","hideShadow","scrollRatio","threshold","computedContentHeight","computedOriginalHeight","computedFontSize","isProminent","computedMarginTop","computedOpacity","isExtended","extensionHeight","computedTransform","computedHeight","isCollapsed","fontSize","marginTop","transform","genBackground","_b","opacity"],"mappings":"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","file":"228a164.js","sourcesContent":["import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType\n\ninterface options extends ExtractVue {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","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","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","// Styles\nimport './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","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\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 click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","// Styles\nimport './VFooter.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types/vnode'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Applicationable('footer', [\n 'height',\n 'inset',\n ]),\n SSRBootable\n).extend({\n name: 'v-footer',\n\n props: {\n height: {\n default: 'auto',\n type: [Number, String],\n },\n inset: Boolean,\n padless: Boolean,\n tag: {\n type: String,\n default: 'footer',\n },\n },\n\n computed: {\n applicationProperty (): string {\n return this.inset ? 'insetFooter' : 'footer'\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-footer--absolute': this.absolute,\n 'v-footer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-footer--padless': this.padless,\n 'v-footer--inset': this.inset,\n }\n },\n computedBottom (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app\n ? this.$vuetify.application.bottom\n : 0\n },\n computedLeft (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.left\n : 0\n },\n computedRight (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.right\n : 0\n },\n isPositioned (): boolean {\n return Boolean(\n this.absolute ||\n this.fixed ||\n this.app\n )\n },\n styles (): object {\n const height = parseInt(this.height)\n\n return {\n ...VSheet.options.computed.styles.call(this),\n height: isNaN(height) ? height : convertToUnit(height),\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n bottom: convertToUnit(this.computedBottom),\n }\n },\n },\n\n methods: {\n updateApplication () {\n const height = parseInt(this.height)\n\n return isNaN(height)\n ? this.$el ? this.$el.clientHeight : 0\n : height\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-footer',\n class: this.classes,\n style: this.styles,\n })\n\n return h(this.tag, data, this.$slots.default)\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n provide (): object {\n return { VAppBar: this }\n },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsy, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n scrollRatio (): number {\n const threshold = this.computedScrollThreshold\n return Math.max((threshold - this.currentScroll) / threshold, 0)\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const min = this.dense ? 48 : 56\n const max = this.computedOriginalHeight\n\n return min + (max - min) * this.scrollRatio\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const min = 1.25\n const max = 1.5\n\n return min + (max - min) * this.scrollRatio\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n return this.scrollRatio\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n hideOnScroll (val: boolean) {\n this.isActive = !val || this.currentScroll < this.computedScrollThreshold\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n"],"sourceRoot":""}