{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VSubheader/index.ts","webpack:///../../../src/components/VGrid/VSpacer.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VChip/index.ts","webpack:///./node_modules/core-js/modules/es.map.js","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///../../../src/components/VAvatar/index.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/mixins/comparable/index.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VDivider/index.ts","webpack:///../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack:///../../../src/components/VSelect/VSelectList.ts","webpack:///../../../src/mixins/filterable/index.ts","webpack:///../../../src/components/VSelect/VSelect.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///../../../src/components/VDivider/VDivider.ts","webpack:///../../../src/components/VList/VListItem.ts","webpack:///../../../src/directives/resize/index.ts","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///../../../src/mixins/menuable/index.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/components/VGrid/grid.ts"],"names":["breakpoints","ALIGNMENT","makeProps","props","prefix","def","alignValidator","str","alignProps","type","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","justify","alignContent","classMap","breakpointClass","className","val","breakpoint","prop","cache","name","functional","tag","dense","noGutters","render","children","cacheKey","String","classList","value","h","data","staticClass","class","filteredChild","VNode","collection","collectionStrong","module","exports","init","this","arguments","length","undefined","baseMixins","mixins","directives","ripple","activeClass","appendIcon","color","disabled","group","noAction","prependIcon","Boolean","subGroup","computed","classes","watch","isActive","list","listClick","$route","created","register","matchRoute","beforeDestroy","unregister","methods","click","genIcon","$createElement","VIcon","genAppendIcon","icon","$slots","VListItemIcon","genHeader","VListItem","attrs","role","inputValue","on","genItems","showLazyContent","genPrependIcon","onRouteChange","to","toggle","_uid","isBooted","setTextColor","provide","isInGroup","listItemGroup","genData","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","VList","VListItemAction","VListItemAvatar","BaseItemGroup","mandatory","max","Number","multiple","internalLazyValue","items","themeClasses","selectedIndex","selectedItem","indexOf","selectedItems","filter","selectedValues","internalValue","Array","toggleMethod","v","getValue","item","i","onClick","index","push","valueIndex","updateInternalValue","updateItem","updateItemsState","updateMultiple","updateSingle","updateMandatory","defaultValue","isSame","itemGroup","breakpointProps","offsetProps","orderProps","col","offset","order","cols","alignSelf","includes","parent","hasColClasses","defineProperty","f","create","redefineAll","bind","anInstance","iterate","defineIterator","setSpecies","DESCRIPTORS","fastKey","InternalStateModule","setInternalState","set","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","IS_MAP","ADDER","C","that","iterable","first","last","size","getInternalState","define","key","previous","state","entry","getEntry","next","removed","prototype","clear","prev","forEach","callbackfn","boundFunction","has","get","add","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","target","done","$","global","isForced","redefine","InternalMetadataModule","isObject","fails","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","Constructor","exported","fixMethod","KEY","nativeMethod","call","entries","REQUIRED","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","constructor","forced","left","right","tile","styles","height","minWidth","width","measurableStyles","style","$listeners","setBackgroundColor","horizontal","valueComparator","isInList","inject","isInMenu","isInNav","expand","flat","nav","rounded","shaped","subheader","threeLine","twoLine","groups","findIndex","g","content","splice","attrs$","toAbsoluteIndex","toInteger","toLength","toObject","arraySpeciesCreate","createProperty","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","ACCESSORS","0","1","Math","min","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","proto","start","deleteCount","insertCount","actualDeleteCount","A","k","from","O","len","actualStart","argumentsLength","TypeError","id","fluid","indeterminate","indeterminateIcon","onIcon","offIcon","center","dark","light","e","action","hideSelected","itemDisabled","itemText","itemValue","noDataText","noFilter","searchInput","parsedItems","map","tileActiveClass","staticNoDataTile","mousedown","genTileContent","genAction","input","genDivider","VDivider","genFilteredText","text","getMaskedCharacters","end","genHighlight","middle","VSubheader","genTile","hasItem","getDisabled","$scopedSlots","scopedSlot","needsTile","innerHTML","getText","domProps","slot","itemsLength","tabindex","defaultMenuProps","closeOnClick","closeOnContentClick","disableKeys","openOnClick","maxHeight","ClickOutside","attach","cacheItems","chips","clearable","deletableChips","disableLookup","eager","itemColor","menuProps","openOnClear","returnObject","smallChips","cachedItems","menuIsBooted","isMenuActive","lastItem","lazyValue","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","concat","computedItems","computedOwns","computedCounterValue","isFocused","args","closeConditional","dynamicHeight","hasChips","hasSlot","isDirty","listData","scopeId","$vnode","context","$vuetify","lang","t","select","selectItem","scopedSlots","staticList","console","VSelectList","virtualizedItems","$_menuProps","slice","menuCanShow","normalisedProps","split","acc","p","nudgeBottom","window","immediate","handler","blur","activateMenu","clearableCallback","getContent","contains","$el","uniqueValues","arr","findExistingIndex","$refs","menu","genChipSelection","isDisabled","VChip","close","small","JSON","genCommaSelection","genDefaultSlot","selections","genAffix","suffix","VInput","mergeData","genInput","readonly","autocomplete","keypress","onKeyPress","genHiddenInput","genInputSlot","genList","genListWithSlot","slots","slotName","genMenu","VMenu","offsetY","ref","genSelections","genSelection","genSlotSelection","selection","selected","getMenuIndex","onBlur","$emit","onChipInput","setValue","isAppendInner","onEscDown","KEYBOARD_LOOKUP_THRESHOLD","now","performance","setTimeout","onKeyDown","keyCode","onUpDown","onTabDown","onSpaceDown","onMenuActiveChange","onMouseUp","hasMouseDown","onScroll","showMoreItems","scrollHeight","scrollTop","requestAnimationFrame","activeTile","listIndex","setMenuIndex","setSelectedItems","values","oldValue","appendInner","offsetOverflow","transition","allowOverflow","autoSelectFirst","queryText","hideNoData","lazySearch","hasDisplayedItems","filteredItems","some","currentRange","internalSearch","isAnyValueAllowed","searchIsDirty","isSearching","find","document","oldVal","onFilteredItemsChanged","onInternalSearchChanged","updateMenuDimensions","changeSelectedIndex","deleteCurrentItem","currentItem","newIndex","onInput","setSearch","updateSelf","onCopy","currentItemText","event","active","chipGroup","closeIcon","draggable","filterIcon","label","link","outlined","pill","textColor","proxyClass","groupClasses","hasClose","isClickable","breakingProps","original","replacement","genFilter","genClose","genContent","inset","vertical","$attrs","orientation","Ripple","inheritAttrs","inactive","selectable","hasOwnProperty","genAttrs","keydown","inserted","callback","binding","options","passive","el","unbind","Resize","maxWidth","nudgeLeft","nudgeRight","nudgeTop","nudgeWidth","positionX","positionY","zIndex","absoluteX","absoluteY","activatedBy","activatorFixed","dimensions","activator","top","bottom","offsetTop","offsetLeft","hasJustFocused","hasWindow","inputActivator","isContentActive","pageWidth","pageYOffset","stackClass","stackMinZIndex","computedLeft","a","c","activatorLeft","isNaN","parseInt","computedTop","hasActivator","beforeMount","absolutePosition","activate","calcLeft","calcXOverflow","calcTop","calcYOverflow","xOverflow","documentHeight","toTop","contentHeight","totalHeight","isOverflowing","callActivate","callDeactivate","checkForPageYOffset","checkActivatorFixed","deactivate","genActivatorListeners","listeners","getInnerHeight","getOffsetLeft","getOffsetTop","getRoundedBoundedClientRect","rect","measure","sneakPeek","cb","startTransition","Promise","resolve","updateDimensions","theme","auto","offsetX","openOnHover","origin","calculatedTopAuto","defaultOffset","resizeTimeout","tiles","calculatedLeft","menuWidth","parseFloat","calculatedMaxHeight","calculatedMaxWidth","calculatedMinWidth","calculatedTop","hasClickableTiles","transformOrigin","activeZIndex","remove","mounted","calcScrollPosition","maxScrollTop","calcLeftAuto","calcTopAuto","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","genActivatorAttributes","attributes","genTransition","genDirectives","include","menuable__content__active","contentClass","getTiles","querySelectorAll","mouseEnterHandler","mouseLeaveHandler","nextTile","prevTile","onResize","clearTimeout","arg","root"],"mappings":"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","file":"js/chunk-26e677cd.ffb9862b.js","sourcesContent":["import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\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","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","import VChip from './VChip'\n\nexport { VChip }\nexport default VChip\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\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","// 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,\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","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 './VItemGroup.sass'\n\n// Mixins\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 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 },\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.internalValue === v\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.includes(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 == null || item.value === ''\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 => 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 = value === this.internalValue\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h('div', 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 './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\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 /* @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 tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n 'v-avatar--tile': this.tile,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","import Vue, { PropType } from 'vue'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function as PropType,\n default: deepEqual,\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 shaped: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n tile: {\n type: Boolean,\n default: true,\n },\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--shaped': this.shaped,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","import './VSimpleCheckbox.sass'\n\nimport ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-simple-checkbox',\n\n functional: true,\n\n directives: {\n ripple,\n },\n\n props: {\n ...Colorable.options.props,\n ...Themeable.options.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n value: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n render (h, { props, data }): VNode {\n const children = []\n\n if (props.ripple && !props.disabled) {\n const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n staticClass: 'v-input--selection-controls__ripple',\n directives: [{\n name: 'ripple',\n value: { center: true },\n }] as VNodeDirective[],\n }))\n\n children.push(ripple)\n }\n\n let icon = props.offIcon\n if (props.indeterminate) icon = props.indeterminateIcon\n else if (props.value) icon = props.onIcon\n\n children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n props: {\n disabled: props.disabled,\n dark: props.dark,\n light: props.light,\n },\n }), icon))\n\n const classes = {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled,\n }\n\n return h('div', {\n ...data,\n class: classes,\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (data.on && data.on.input && !props.disabled) {\n wrapInArray(data.on.input).forEach(f => f(!props.value))\n }\n },\n },\n }, children)\n },\n})\n","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport {\n escapeHTML,\n getPropertyFromItem,\n} from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType, VNodeChildren } from 'vue'\nimport { SelectItemKey } from 'types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array as PropType,\n default: () => [],\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType,\n selectedItems: {\n type: Array as PropType,\n default: () => [],\n },\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return escapeHTML(text)\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return `${escapeHTML(start)}${this.genHighlight(middle)}${escapeHTML(end)}`\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string): string {\n return `${escapeHTML(text)}`\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: '', middle: text, end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile ({\n item,\n index,\n disabled = null,\n value = false,\n }: ListTile): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option',\n },\n on: {\n mousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n click: () => disabled || this.$emit('select', item),\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n },\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item, index),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any, index = 0): VNode {\n const innerHTML = this.genFilteredText(this.getText(item))\n\n return this.$createElement(VListItemContent,\n [this.$createElement(VListItemTitle, {\n domProps: { innerHTML },\n })]\n )\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children: VNodeChildren = []\n const itemsLength = this.items.length\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index]\n\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile({ item, index }))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile({ item, index }))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return this.$createElement(VList, {\n staticClass: 'v-select-list',\n class: this.themeClasses,\n attrs: {\n role: 'listbox',\n tabindex: -1,\n },\n props: { dense: this.dense },\n }, children)\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'filterable',\n\n props: {\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { SelectItemKey } from 'types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Filterable\n)\n\ninterface options extends InstanceType {\n $refs: {\n menu: InstanceType\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n },\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional,\n },\n } as VNodeDirective] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n menuIsBooted () {\n window.setTimeout(() => {\n if (this.getContent() && this.getContent().addEventListener) {\n this.getContent().addEventListener('scroll', this.onScroll, false)\n }\n })\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n\n if (!val) return\n\n this.menuIsBooted = true\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n },\n /** @public */\n activateMenu () {\n if (\n this.disabled ||\n this.readonly ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.disabled ||\n this.readonly ||\n this.getDisabled(item)\n )\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.disabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.readonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n // Attach to root el so that\n // menu covers prepend/append icons\n if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop ()\n this.attach === true || // If bound to a boolean ()\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined, offsetY: true },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: this.disabled || this.readonly,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (this.isDisabled) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n this.readonly ||\n this.disableLookup\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.readonly) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && keyCode !== keyCodes.tab) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If menu is not active, up and down can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n !this.isDisabled\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n // If user is clicking in the container\n // and field is enclosed, activate it\n } else if (this.isEnclosed) {\n this.isMenuActive = true\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.getContent().scrollTop = 0))\n } else {\n if (this.lastItem >= this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n keyCodes.up === keyCode ? menu.prevTile() : menu.nextTile()\n menu.activeTile && menu.activeTile.click()\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // When selecting multiple\n // adjust menu after each\n // selection\n this.$nextTick(() => {\n this.$refs.menu &&\n (this.$refs.menu as { [key: string]: any }).updateDimensions()\n })\n\n // We only need to reset list index for multiple\n // to keep highlight when an item is toggled\n // on and off\n if (!this.multiple) return\n\n const listIndex = this.getMenuIndex()\n\n this.setMenuIndex(-1)\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) return\n\n this.$nextTick(() => this.setMenuIndex(listIndex))\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n const oldValue = this.internalValue\n this.internalValue = value\n value !== oldValue && this.$emit('change', value)\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { keyCodes, getObjectValueByPath } from '../../util/helpers'\n\n// Types\nimport { PropType } from 'vue'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n },\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n default: undefined,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const text = this.getText(item)\n\n // Remove items without text to match\n if (\n text == null ||\n typeof text === 'object'\n ) return false\n\n return this.filter(item, String(this.internalSearch), String(text))\n })\n },\n internalSearch: {\n get (): string | undefined {\n return this.lazySearch\n },\n set (val: any) {\n this.lazySearch = val\n\n this.$emit('update:search-input', val)\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = undefined\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n this.setMenuIndex(0)\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n if (this.readonly) return\n\n const index = this.selectedItems.length - 1\n\n if (this.selectedIndex === -1 && index !== 0) {\n this.selectedIndex = index\n return\n }\n\n const currentItem = this.selectedItems[this.selectedIndex]\n\n if (this.getDisabled(currentItem)) return\n\n const newIndex = this.selectedIndex === index\n ? this.selectedIndex - 1\n : this.selectedItems[this.selectedIndex + 1]\n ? this.selectedIndex\n : -1\n\n if (newIndex === -1) {\n this.setValue(this.multiple ? [] : undefined)\n } else {\n this.selectItem(currentItem)\n }\n\n this.selectedIndex = newIndex\n },\n clearableCallback () {\n this.internalSearch = undefined\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections () {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (this.isDisabled) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (!this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (!this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )) {\n this.setSearch()\n }\n },\n hasItem (item: any) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData!.setData('text/plain', currentItemText)\n event.clipboardData!.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\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 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 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 './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inheritAttrs: false,\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 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 = 'listitem'\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 },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data.on = {\n ...data.on,\n click: this.click,\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\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 tag = this.inactive ? 'div' : tag\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n el._onResize = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onResize) return\n\n const { callback, options } = el._onResize\n window.removeEventListener('resize', callback, options)\n delete el._onResize\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n","// Mixins\nimport Positionable from '../positionable'\nimport Stackable from '../stackable'\nimport Activatable from '../activatable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(\n Stackable,\n Positionable,\n Activatable\n)\n\ninterface options extends ExtractVue {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\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 openOnClick: 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 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 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 += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft\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 },\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\n methods: {\n absolutePosition () {\n return {\n offsetTop: 0,\n offsetLeft: 0,\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.pageYOffset + 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.pageYOffset && !this.allowOverflow) {\n top = this.pageYOffset + 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) return\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 listeners.click = (e: MouseEvent & KeyboardEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\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 this.$refs.content && (dimensions.content = this.measure(this.$refs.content))\n\n this.dimensions = dimensions\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 Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Toggleable from '../../mixins/toggleable'\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'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Detachable,\n Menuable,\n Returnable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\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 openOnClick: {\n type: Boolean,\n default: true,\n },\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 this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\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.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: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n } as any)\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 '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.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'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n this.isActive = 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 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 Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n"],"sourceRoot":""}