{"version":3,"sources":["webpack:///../../../src/components/transitions/createTransition.ts","webpack:///../../../src/components/transitions/expand-transition.ts","webpack:///../../../src/components/transitions/index.ts","webpack:///../../../src/components/VSheet/index.ts","webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VProgressCircular/index.ts","webpack:///../../../src/components/VToolbar/index.ts","webpack:///../../../src/components/VProgressLinear/VProgressLinear.ts","webpack:///../../../src/components/VProgressLinear/index.ts","webpack:///../../../src/components/VThemeProvider/VThemeProvider.ts","webpack:///../../../src/components/VProgressCircular/VProgressCircular.ts","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VTextField/VTextField.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///../../../src/components/VSwitch/VSwitch.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///../../../src/components/VSubheader/index.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"],"names":["mergeTransitions","dest","Array","origin","name","functional","props","group","type","default","hideOnLeave","leaveAbsolute","mode","render","tag","context","data","on","beforeEnter","el","h","mergeData","functions","expandedParentClass","x","sizeProperty","offsetProperty","transition","visibility","overflow","enter","initialStyle","offset","requestAnimationFrame","afterEnter","enterCancelled","leave","afterLeave","leaveCancelled","resetStyles","size","createSimpleTransition","VFabTransition","VFadeTransition","VSlideXTransition","VExpandTransition","createJavascriptTransition","VExpandXTransition","children","filteredChild","VNode","provide","isInGroup","listItemGroup","this","computed","classes","methods","genData","setTextColor","attrs","role","VToolbarTitle","VToolbarItems","baseMixins","mixins","active","backgroundColor","backgroundOpacity","Number","bufferValue","color","height","indeterminate","query","rounded","stream","striped","value","internalLazyValue","__cachedBackground","$createElement","setBackgroundColor","staticClass","style","backgroundStyle","__cachedBar","__cachedBarType","__cachedBuffer","styles","__cachedDeterminate","width","__cachedIndeterminate","class","genProgressBar","__cachedStream","parseFloat","opacity","$vuetify","rtl","normalizedBuffer","themeClasses","computedTransition","normalize","normalizedValue","reactive","Boolean","$listeners","genContent","slot","genListeners","listeners","onClick","$el","e","undefined","bottom","top","root","isDark","$slots","node","button","rotate","radius","calculatedSize","circumference","Math","strokeDashArray","strokeDashOffset","strokeWidth","svgStyles","transform","viewBoxSize","genCircle","fill","cx","cy","r","genSvg","xmlns","viewBox","genInfo","directives","ripple","activeClass","appendIcon","disabled","noAction","prependIcon","subGroup","watch","isActive","list","listClick","$route","created","register","matchRoute","beforeDestroy","unregister","click","genIcon","VIcon","genAppendIcon","icon","VListItemIcon","genHeader","VListItem","String","inputValue","genItems","showLazyContent","genPrependIcon","onRouteChange","to","toggle","_uid","isBooted","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","VList","VListItemAction","VListItemAvatar","VListItemGroup","BaseItemGroup","mandatory","max","multiple","items","selectedIndex","selectedItem","indexOf","selectedItems","filter","selectedValues","internalValue","toggleMethod","v","getValue","item","i","index","push","valueIndex","updateInternalValue","updateItem","updateItemsState","updateMultiple","updateSingle","updateMandatory","defaultValue","val","isSame","itemGroup","aspectRatio","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","absolute","collapse","dense","extended","extensionHeight","flat","floating","prominent","short","src","tile","isExtended","computedHeight","parseInt","isCollapsed","isNaN","computedContentHeight","isProminent","breakpoint","breakingProps","original","replacement","genBackground","image","$scopedSlots","img","genExtension","horizontal","onVisible","dirtyTypes","inheritAttrs","appendOuterIcon","autofocus","clearable","clearIcon","counter","counterValue","filled","fullWidth","label","outlined","placeholder","prefix","prependInnerIcon","reverse","shaped","singleLine","solo","soloInverted","suffix","badInput","labelWidth","prefixWidth","prependWidth","initialValue","isClearing","computedCounterValue","get","set","isDirty","lazyValue","toString","length","isEnclosed","isLabelActive","isSingle","isSolo","labelPosition","labelValue","left","right","showLabel","hasLabel","isFocused","$attrs","hasOwnProperty","mounted","focus","blur","window","clearableCallback","$refs","input","genAppendSlot","genSlot","genPrependInnerSlot","genIconSlot","genInputSlot","prepend","genClearIcon","genCounter","attrs$","dark","light","genDefaultSlot","genFieldset","genLabel","focused","for","genLegend","span","domProps","innerHTML","genInput","Object","id","readonly","keydown","onKeyDown","ref","genMessages","hideDetails","messagesNode","counterNode","genTextFieldSlot","genAffix","onBlur","$nextTick","onFocus","document","$emit","onInput","target","onMouseDown","onMouseUp","setLabelWidth","scrollWidth","setPrefixWidth","setPrependWidth","updateValue","isInList","inject","isInMenu","isInNav","expand","nav","subheader","threeLine","twoLine","groups","findIndex","g","content","splice","elevationClasses","listeners$","Touch","inset","loading","validationState","hasError","hasColor","switchData","genSwitch","genRipple","onSwipeRight","genProgress","progress","onSwipeLeft","onChange","onKeydown","theme","ClickOutside","Resize","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","offsetX","offsetY","openOnClick","openOnHover","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","tiles","activeTile","calculatedLeft","menuWidth","dimensions","calcXOverflow","calcLeft","calculatedMaxHeight","calculatedMaxWidth","calculatedMinWidth","minWidth","activator","pageWidth","calculatedTop","calcYOverflow","hasClickableTiles","find","maxWidth","transformOrigin","zIndex","activeZIndex","isContentActive","next","prev","classList","remove","activate","calcScrollPosition","maxScrollTop","calcLeftAuto","calcTopAuto","tileDistanceFromMenuTop","firstTileOffsetTop","computedTop","changeListIndex","closeConditional","contains","genActivatorListeners","genTransition","genDirectives","args","include","options","menuable__content__active","contentClass","getTiles","querySelectorAll","mouseEnterHandler","mouseLeaveHandler","nextTile","prevTile","setTimeout","onResize","clearTimeout","attach","arg","VThemeProvider","action","hideSelected","itemDisabled","itemText","itemValue","noDataText","noFilter","searchInput","parsedItems","map","tileActiveClass","staticNoDataTile","mousedown","genTileContent","genAction","VSimpleCheckbox","genDivider","VDivider","genFilteredText","text","getMaskedCharacters","end","start","genHighlight","middle","genLabelledBy","genTile","hasItem","getDisabled","parent","scopedSlot","needsTile","getText","itemsLength","tabindex","defaultMenuProps","cacheItems","chips","deletableChips","disableLookup","eager","itemColor","menuProps","openOnClear","returnObject","smallChips","cachedItems","isMenuActive","lastItem","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","concat","computedItems","computedOwns","dynamicHeight","hasChips","hasSlot","listData","scopeId","$vnode","lang","t","select","selectItem","scopedSlots","staticList","console","VSelectList","virtualizedItems","$_menuProps","slice","menuCanShow","normalisedProps","split","acc","p","nudgeBottom","immediate","handler","menu","activateMenu","uniqueValues","arr","findExistingIndex","genChipSelection","isDisabled","VChip","close","small","key","JSON","genCommaSelection","last","selections","genHiddenInput","genList","genListWithSlot","slots","slotName","genMenu","genSelections","genSelection","genSlotSelection","selection","selected","getMenuIndex","onChipInput","setValue","isAppendInner","onEscDown","onKeyPress","KEYBOARD_LOOKUP_THRESHOLD","now","performance","keyCode","onUpDown","onTabDown","onSpaceDown","onMenuActiveChange","hasMouseDown","onScroll","showMoreItems","scrollHeight","scrollTop","setMenuIndex","setSelectedItems","values","oldValue","appendInner","ctx","position","Ripple","inactive","link","selectable","proxyClass","isClickable","genAttrs","genChildren","genMessage","message"],"mappings":"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","file":"js/chunk-vendors~793fb972.96416ec9.js","sourcesContent":["import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => (el.style.position = 'absolute'))\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => (el.style.display = 'none'))\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n","import { upperFirst } from '../../util/helpers'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle: {\n transition: string\n visibility: string | null\n overflow: string | null\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'\n\n return {\n beforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n visibility: el.style.visibility,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n enter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle\n const offset = `${el[offsetProperty]}px`\n\n el.style.setProperty('transition', 'none', 'important')\n el.style.visibility = 'hidden'\n el.style.visibility = initialStyle.visibility\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n visibility: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n afterLeave,\n leaveCancelled: afterLeave,\n }\n\n function afterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle[sizeProperty]\n el.style.overflow = el._initialStyle.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import {\n createSimpleTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createSimpleTransition('carousel-transition')\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition')\nexport const VTabTransition = createSimpleTransition('tab-transition')\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition')\nexport const VMenuTransition = createSimpleTransition('menu-transition')\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogTransition = createSimpleTransition('dialog-transition')\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition')\nexport const VFadeTransition = createSimpleTransition('fade-transition')\nexport const VScaleTransition = createSimpleTransition('scale-transition')\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport default {\n $_vuetify_subcomponents: {\n VCarouselTransition,\n VCarouselReverseTransition,\n VDialogTransition,\n VDialogBottomTransition,\n VFabTransition,\n VFadeTransition,\n VMenuTransition,\n VScaleTransition,\n VScrollXTransition,\n VScrollXReverseTransition,\n VScrollYTransition,\n VScrollYReverseTransition,\n VSlideXTransition,\n VSlideXReverseTransition,\n VSlideYTransition,\n VSlideYReverseTransition,\n VTabReverseTransition,\n VTabTransition,\n VExpandTransition,\n VExpandXTransition,\n },\n}\n","import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","// 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","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","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 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.$vuetify.rtl ? '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--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 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","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-theme-provider',\n\n props: { root: Boolean },\n\n computed: {\n isDark (): boolean {\n return this.root\n ? this.rootIsDark\n : Themeable.options.computed.isDark.call(this)\n },\n },\n\n render (): VNode {\n /* istanbul ignore next */\n return (\n this.$slots.default! &&\n this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n )\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","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\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.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, this.showLazyContent([\n this.$createElement('div', this.$slots.default),\n ]))\n },\n genPrependIcon (): VNode | null {\n const icon = this.prependIcon\n ? this.prependIcon\n : this.subGroup\n ? '$subgroup'\n : false\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","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.internalValue === v\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.includes(v)\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue () {\n // https://github.com/vuetifyjs/vuetify/issues/5352\n this.$nextTick(this.updateItemsState)\n },\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 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.internalLazyValue == null) {\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 updateItemsState () {\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 updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => val === value)\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = value === this.internalValue\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","import './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","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n tile: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\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","// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'setLabelWidth',\n 'setPrefixWidth',\n 'setPrependWidth',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-text-field',\n\n directives: { ripple },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return (this.internalValue || '').toString().length\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return (this.lazyValue != null &&\n this.lazyValue.toString().length > 0) ||\n this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined ||\n this.fullWidth\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return this.isSolo || this.singleLine || this.fullWidth\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && (!this.isSingle || (!this.isLabelActive && !this.placeholder))\n },\n labelValue (): boolean {\n return !this.isSingle &&\n Boolean(this.isFocused || this.isLabelActive || this.placeholder)\n },\n },\n\n watch: {\n labelValue: 'setLabelWidth',\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n this.autofocus && this.onFocus()\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots['append']) {\n slot.push(this.$slots['append'] as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n const icon = this.isDirty ? 'clear' : ''\n\n return this.genSlot('append', 'inner', [\n this.genIcon(\n icon,\n this.clearableCallback\n ),\n ])\n },\n genCounter () {\n if (this.counter === false || this.counter == null) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n return this.$createElement(VCounter, {\n props: {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n },\n })\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.disabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '​' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners['change'] // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.lazyValue,\n },\n attrs: {\n ...this.attrs$,\n autofocus: this.autofocus,\n disabled: this.disabled,\n id: this.computedId,\n placeholder: this.placeholder,\n readonly: this.readonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n })\n },\n genMessages () {\n if (this.hideDetails === true) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n if (this.hideDetails === 'auto' && !messagesNode && !counterNode) return null\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.disabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n if (document.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) this.$emit('change', this.internalValue)\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined || !this.$refs.label) return\n\n this.labelWidth = this.$refs.label.scrollWidth * 0.75 + 6\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n },\n})\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n tile: {\n type: Boolean,\n default: true,\n },\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--shaped': this.shaped,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h('div', this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.disabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Detachable,\n Menuable,\n Returnable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n 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 if (!this.transition) return this.genContent()\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [this.genContent()])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n } as any)\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement(\n 'div',\n options,\n this.showLazyContent(this.getContentSlot())\n )\n },\n getTiles () {\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.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ])\n },\n})\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","// Styles\nimport '../VCard/VCard.sass'\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 } from 'vue'\nimport { SelectItemKey } from 'types'\n\ntype ListTile = { item: any, disabled?: null | boolean, value?: boolean, index: number };\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array as PropType,\n default: () => [],\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null as unknown as PropType,\n selectedItems: {\n type: Array as PropType,\n default: () => [],\n },\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return escapeHTML(text)\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return `${escapeHTML(start)}${this.genHighlight(middle)}${escapeHTML(end)}`\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string): string {\n return `${escapeHTML(text)}`\n },\n genLabelledBy (item: object) {\n return `list-item-${this._uid}`\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 'aria-labelledby': `${this.genLabelledBy(item)}-${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 attrs: { id: `${this.genLabelledBy(item)}-${index}` },\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 = []\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('div', {\n staticClass: 'v-select-list v-card',\n class: this.themeClasses,\n }, [\n this.$createElement(VList, {\n attrs: {\n id: this.$attrs.id,\n role: 'listbox',\n tabindex: -1,\n },\n props: { dense: this.dense },\n }, children),\n ])\n },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport 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 { getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { SelectItemKey } from 'types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Filterable\n)\n\ninterface options extends InstanceType {\n $refs: {\n menu: InstanceType\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n },\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n content: null as any,\n isBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional,\n },\n } as VNodeDirective] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n isBooted () {\n this.$nextTick(() => {\n if (this.content && this.content.addEventListener) {\n this.content.addEventListener('scroll', this.onScroll, false)\n }\n })\n },\n isMenuActive (val) {\n this.$nextTick(() => this.onMenuActiveChange(val))\n\n if (!val) return\n\n this.isBooted = true\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n mounted () {\n this.content = this.$refs.menu && (this.$refs.menu as { [key: string]: any }).$refs.content\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n },\n /** @public */\n activateMenu () {\n if (\n this.disabled ||\n this.readonly ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n this.content &&\n !this.content.contains(e.target) &&\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 genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.disabled ||\n this.readonly ||\n this.getDisabled(item)\n )\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.disabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.domProps!.value = null\n input.data!.attrs!.readonly = true\n input.data!.attrs!.type = 'text'\n input.data!.attrs!['aria-readonly'] = true\n input.data!.attrs!.autocomplete = input.data!.attrs!.autocomplete || 'off'\n input.data!.on!.keypress = this.onKeyPress\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: { type: 'hidden' },\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 },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: this.disabled || this.readonly,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (this.isDisabled) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n this.readonly ||\n this.disableLookup\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\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 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 (this.hasMouseDown && e.which !== 3) {\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 && !this.isDisabled) {\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.content.scrollTop = 0))\n } else {\n if (this.lastItem >= this.computedItems.length) return\n\n const showMoreItems = (\n this.content.scrollHeight -\n (this.content.scrollTop +\n this.content.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.getTiles()\n keyCodes.up === keyCode ? menu.prevTile() : menu.nextTile()\n menu.activeTile && menu.activeTile.click()\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 } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data.on = {\n ...data.on,\n click: this.click,\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n tag = this.inactive ? 'div' : tag\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, PropType } from 'vue'\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 as PropType,\n default: () => ([]),\n },\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"],"sourceRoot":""}