{"version":3,"sources":["webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VProgressCircular/index.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VProgressLinear/index.ts","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///../../../src/components/VProgressCircular/VProgressCircular.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VPicker/VPicker.ts","webpack:///../../../src/components/VPicker/index.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VProgressLinear/VProgressLinear.ts","webpack:///../../../src/components/VSelect/VSelectList.ts","webpack:///../../../src/components/VSelect/VSelect.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///../../../src/components/VList/VListItem.ts","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/components/VMain/VMain.ts","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":["name","functional","render","children","data","filteredChild","VNode","h","mixins","props","absolute","color","type","default","dark","opacity","Number","value","zIndex","computed","__scrim","this","setBackgroundColor","staticClass","style","computedOpacity","$createElement","classes","themeClasses","isActive","styles","methods","genContent","$slots","class","provide","isInGroup","listItemGroup","genData","setTextColor","attrs","role","baseMixins","radioGroup","column","height","row","genDefaultSlot","id","computedId","genInputSlot","genLabel","label","onClick","button","indeterminate","rotate","size","width","radius","calculatedSize","circumference","Math","normalizedValue","parseFloat","strokeDashArray","strokeDashOffset","strokeWidth","svgStyles","transform","viewBoxSize","genCircle","fill","cx","cy","r","offset","genSvg","xmlns","viewBox","genInfo","undefined","on","$listeners","directives","ripple","activeClass","appendIcon","disabled","group","noAction","prependIcon","Boolean","subGroup","watch","list","listClick","$route","created","register","matchRoute","beforeDestroy","unregister","click","genIcon","genAppendIcon","icon","genHeader","String","inputValue","genItems","showLazyContent","genPrependIcon","onRouteChange","to","toggle","_uid","isBooted","VAvatar","horizontal","tile","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","VList","VListGroup","VListItem","VListItemAction","VListItemGroup","VListItemIcon","flat","fullWidth","landscape","noTitle","transition","computedTitleColor","defaultTitleColor","isDark","genTitle","genBodyTransition","genBody","genActions","elevationClasses","title","actions","BaseItemGroup","mandatory","max","multiple","internalLazyValue","items","selectedIndex","selectedItem","indexOf","selectedItems","filter","selectedValues","internalValue","Array","toggleMethod","v","getValue","item","i","index","push","valueIndex","updateInternalValue","updateItem","updateItemsState","updateMultiple","updateSingle","updateMandatory","defaultValue","val","isSame","itemGroup","inheritAttrs","offIcon","onIcon","readonly","isFocused","groupClasses","computedColor","computedIcon","hasLabel","hasState","isDisabled","isReadonly","computedName","rippleState","validationState","genInput","for","focused","genRadio","dense","attrs$","genRipple","onFocus","onBlur","onChange","onKeydown","aspectRatio","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","isInList","inject","isInMenu","isInNav","expand","nav","rounded","subheader","threeLine","twoLine","groups","findIndex","g","content","splice","active","backgroundColor","backgroundOpacity","bufferValue","query","reverse","stream","striped","__cachedBackground","backgroundStyle","__cachedBar","__cachedBarType","__cachedBuffer","__cachedDeterminate","__cachedIndeterminate","genProgressBar","__cachedStream","isReversed","normalizedBuffer","computedTransition","$vuetify","rtl","normalize","reactive","slot","genListeners","listeners","$el","e","bottom","top","action","hideSelected","itemDisabled","itemText","itemValue","noDataText","noFilter","searchInput","parsedItems","map","tileActiveClass","Object","staticNoDataTile","mousedown","genTileContent","genAction","VSimpleCheckbox","input","genDivider","VDivider","genFilteredText","text","getMaskedCharacters","end","start","genHighlight","middle","VSubheader","genTile","hasItem","getDisabled","$scopedSlots","length","parent","scopedSlot","needsTile","innerHTML","getText","domProps","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","handler","closeConditional","dynamicHeight","hasChips","hasSlot","isDirty","listData","scopeId","$vnode","context","lang","t","select","selectItem","scopedSlots","staticList","console","VSelectList","virtualizedItems","$_menuProps","slice","menuCanShow","normalisedProps","split","acc","p","nudgeBottom","window","immediate","blur","activateMenu","clearableCallback","getContent","contains","uniqueValues","arr","findExistingIndex","$refs","menu","genChipSelection","VChip","close","small","key","JSON","genCommaSelection","last","selections","prefix","genAffix","suffix","VInput","mergeData","autocomplete","keypress","onKeyPress","genHiddenInput","genList","genListWithSlot","slots","slotName","genMenu","VMenu","scroll","onScroll","ref","genSelections","genSelection","genSlotSelection","selection","selected","isInteractive","getMenuIndex","$emit","onChipInput","setValue","isAppendInner","onEscDown","KEYBOARD_LOOKUP_THRESHOLD","now","performance","setTimeout","onKeyDown","keyCode","onUpDown","onTabDown","onSpaceDown","onMenuActiveChange","onMouseUp","hasMouseDown","showMoreItems","scrollHeight","scrollTop","requestAnimationFrame","activeTile","listIndex","setMenuIndex","setSelectedItems","values","oldValue","appendInner","left","right","ctx","position","Ripple","inactive","link","selectable","tag","proxyClass","isClickable","$attrs","hasOwnProperty","genAttrs","keydown","genChildren","genMessage","message","theme","Resize","auto","offsetX","offsetY","openOnHover","origin","calculatedTopAuto","defaultOffset","hasJustFocused","resizeTimeout","tiles","calculatedLeft","menuWidth","dimensions","calcXOverflow","calcLeft","calculatedMaxHeight","calculatedMaxWidth","calculatedMinWidth","minWidth","activator","pageWidth","isNaN","parseInt","calculatedTop","calcYOverflow","hasClickableTiles","find","maxWidth","transformOrigin","activeZIndex","isContentActive","next","prev","classList","remove","mounted","activate","calcScrollPosition","maxScrollTop","calcLeftAuto","calcTopAuto","tileDistanceFromMenuTop","firstTileOffsetTop","computedTop","changeListIndex","target","genActivatorAttributes","attributes","genActivatorListeners","genTransition","genDirectives","include","options","menuable__content__active","contentClass","getTiles","querySelectorAll","mouseEnterHandler","mouseLeaveHandler","nextTile","prevTile","onResize","clearTimeout","arg","root","light","paddingTop","paddingRight","footer","paddingLeft","Touch","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","floating","app","miniVariant","miniVariantWidth","permanent","src","stateless","temporary","touchless","isMouseover","touchArea","stackMinZIndex","applicationProperty","computedMaxHeight","application","computedTransform","computedWidth","isMiniVariant","hasApp","isBottom","isMobile","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","translate","removeOverlay","beforeMount","calculateTouchArea","parentRect","genAppend","genPosition","genBackground","image","img","getOpenDependentElements","swipeRight","transitionend","resizeEvent","document","genPrepend","genBorder","init","swipeLeft","updateApplication","updateMiniVariant"],"mappings":"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","file":"js/chunk-vendors_74e9f0c9.8c636d82.js","sourcesContent":["// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\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 VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n Comparable,\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n})\n","// Styles\nimport './VProgressCircular.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\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","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","import './VPicker.sass'\nimport '../VCard/VCard.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Elevatable,\n Themeable\n).extend({\n name: 'v-picker',\n\n props: {\n flat: Boolean,\n fullWidth: Boolean,\n landscape: Boolean,\n noTitle: Boolean,\n transition: {\n type: String,\n default: 'fade-transition',\n },\n width: {\n type: [Number, String],\n default: 290,\n },\n },\n\n computed: {\n computedTitleColor (): string | false {\n const defaultTitleColor = this.isDark ? false : (this.color || 'primary')\n return this.color || defaultTitleColor\n },\n },\n\n methods: {\n genTitle () {\n return this.$createElement('div', this.setBackgroundColor(this.computedTitleColor, {\n staticClass: 'v-picker__title',\n class: {\n 'v-picker__title--landscape': this.landscape,\n },\n }), this.$slots.title)\n },\n genBodyTransition () {\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, this.$slots.default)\n },\n genBody () {\n return this.$createElement('div', {\n staticClass: 'v-picker__body',\n class: {\n 'v-picker__body--no-title': this.noTitle,\n ...this.themeClasses,\n },\n style: this.fullWidth ? undefined : {\n width: convertToUnit(this.width),\n },\n }, [\n this.genBodyTransition(),\n ])\n },\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-picker__actions v-card__actions',\n class: {\n 'v-picker__actions--no-title': this.noTitle,\n },\n }, this.$slots.actions)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-picker v-card',\n class: {\n 'v-picker--flat': this.flat,\n 'v-picker--landscape': this.landscape,\n 'v-picker--full-width': this.fullWidth,\n ...this.themeClasses,\n ...this.elevationClasses,\n },\n }, [\n this.$slots.title ? this.genTitle() : null,\n this.genBody(),\n this.$slots.actions ? this.genActions() : null,\n ])\n },\n})\n","import VPicker from './VPicker'\n\nexport { VPicker }\nexport default VPicker\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","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(this.normalizedBuffer - this.normalizedValue, '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\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 { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/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,\n default: () => [],\n } as PropValidator,\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,\n default: () => [],\n } as PropValidator,\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","// 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 { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/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 } as PropValidator,\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: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n },\n }] : 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 isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\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.isInteractive ||\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.isInteractive ||\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.isInteractive ||\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.isReadonly),\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 },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n scroll: this.onScroll,\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.isInteractive,\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.isInteractive) 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.isInteractive ||\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.isReadonly && e.keyCode !== keyCodes.tab) 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.isInteractive\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 './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props } = ctx\n const data = {\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\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[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\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 if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\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 Roundable from '../../mixins/roundable'\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 Roundable,\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: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\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","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n const styles = {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n\n return styles\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record void> = {\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":""}