{"version":3,"sources":["webpack:///../../../src/components/VList/VListItemAction.ts","webpack:///../../../src/components/VList/VListItemGroup.ts","webpack:///../../../src/components/VList/VListItemIcon.ts","webpack:///../../../src/components/VList/VListGroup.ts","webpack:///../../../src/components/VList/VListItemAvatar.ts","webpack:///../../../src/components/VList/index.ts","webpack:///../../../src/components/VAvatar/index.ts","webpack:///../../../src/components/VAvatar/VAvatar.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VList/VListItem.ts"],"names":["name","functional","render","children","data","filteredChild","VNode","h","provide","isInGroup","listItemGroup","this","computed","classes","methods","genData","setTextColor","attrs","role","baseMixins","mixins","directives","ripple","props","activeClass","type","default","appendIcon","color","disabled","group","noAction","prependIcon","Boolean","subGroup","watch","isActive","list","listClick","$route","created","register","value","matchRoute","beforeDestroy","unregister","click","genIcon","$createElement","VIcon","genAppendIcon","icon","$slots","VListItemIcon","staticClass","genHeader","VListItem","String","class","inputValue","on","genItems","showLazyContent","genPrependIcon","onRouteChange","to","toggle","_uid","isBooted","VAvatar","horizontal","size","Number","tile","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","VList","VListItemAction","VListItemGroup","left","right","roundedClasses","styles","height","minWidth","width","measurableStyles","style","$listeners","setBackgroundColor","isInList","inject","isInMenu","isInNav","dense","expand","flat","nav","rounded","subheader","threeLine","twoLine","groups","index","findIndex","g","content","splice","attrs$","Ripple","inheritAttrs","inactive","link","selectable","tag","proxyClass","isClickable","themeClasses","$attrs","hasOwnProperty","e","$el","blur","genAttrs","tabindex","keydown","$scopedSlots","active"],"mappings":"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","file":"js/chunk-0fc32d0b.c003ad87.js","sourcesContent":["// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType\n\ninterface options extends ExtractVue {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: String,\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable,\n Roundable,\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.setTextColor(this.color, data), children)\n },\n})\n"],"sourceRoot":""}