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