{"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/VAvatar.ts","webpack:///../../../src/components/VAvatar/index.ts","webpack:///../../../src/components/VList/VListItemAvatar.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","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","genAppendIcon","icon","$slots","staticClass","genHeader","String","class","inputValue","on","genItems","showLazyContent","genPrependIcon","onRouteChange","to","toggle","_uid","isBooted","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","mixins","left","right","size","Number","tile","styles","height","minWidth","width","measurableStyles","style","$listeners","setBackgroundColor","horizontal","isInList","inject","isInMenu","isInNav","dense","expand","flat","nav","rounded","shaped","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":"0IAIe,qBAAW,CACxBA,KADwB,qBAGxBC,YAHwB,EAKxBC,OALwB,SAKlB,EALkB,GAKU,IAAvB,EAAuB,EAAvB,KAAuB,IAAfC,gBAAe,MAAJ,GAAI,EAChCC,EAAA,YAAmBA,EAAA,0CAA0CA,EAA1C,aAAnB,sBACA,IAAMC,EAAgBF,EAAA,QAAgB,SAAAG,GACpC,OAAO,IAAAA,EAAA,WAAP,MAAoCA,EAAA,QAItC,OAFID,EAAA,OAAJ,IAA8BD,EAAA,4CAEvBG,EAAE,MAAOH,EAAhB,O,4uBCJW,sBAAO,EAAD,KAAN,eAGN,CACPJ,KADO,oBAGPQ,QAHO,WAIL,MAAO,CACLC,WADK,EAELC,cAAeC,OAInBC,SAAU,CACRC,QADQ,WAEN,YACK,qCADE,MAAP,CAEE,qBAAqB,MAK3BC,QAAS,CACPC,QADO,WAEL,OAAOJ,KAAKK,aAAaL,KAAlB,WACF,oCADgC,MAA9B,CAELM,MAAO,CACLC,KAAM,mB,qFCnCD,qBAAW,CACxBlB,KADwB,mBAGxBC,YAHwB,EAKxBC,OALwB,SAKlB,EALkB,GAKK,IAAlB,EAAkB,EAAlB,KAAQC,EAAU,EAAVA,SAGjB,OAFAC,EAAA,YAAoB,4BAAqBA,EAAA,aAAtB,IAAnB,OAEOG,EAAE,MAAOH,EAAhB,O,+2BCiBJ,IAAMe,EAAa,eAAO,EAAD,mBAIvB,eAJuB,QAAzB,QAkBe,OAAAA,EAAA,gBAAoC,CACjDnB,KADiD,eAGjDoB,WAAY,CAAEC,OAAA,QAEdC,MAAO,CACLC,YAAa,CACXC,KADW,OAEXC,QAAS,IAEXC,WAAY,CACVF,KADU,OAEVC,QAAS,WAEXE,MAAO,CACLH,KADK,OAELC,QAAS,WAEXG,SAbK,QAcLC,MAdK,OAeLC,SAfK,QAgBLC,YAhBK,OAiBLV,OAAQ,CACNG,KAAM,CAACQ,QADD,QAENP,SAAS,GAEXQ,SAAUD,SAGZpB,SAAU,CACRC,QADQ,WAEN,MAAO,CACL,uBAAwBF,KADnB,SAEL,yBAA0BA,KAFrB,SAGL,0BAA2BA,KAHtB,SAIL,0BAA2BA,KAAKsB,YAKtCC,MAAO,CACLC,SADK,SACG,IAEDxB,KAAD,UAAJ,GACEA,KAAA,MAAaA,KAAKyB,KAAKC,UAAU1B,KAAjC,OAGJ2B,OAAQ,iBAGVC,QAlDiD,WAmD/C5B,KAAA,MAAaA,KAAKyB,KAAKI,SAAvB7B,MAEIA,KAAKkB,OACPlB,KADE,QAAJ,MAEEA,KAAK8B,QAEL9B,KAAA,SAAgBA,KAAK+B,WAAW/B,KAAK2B,OAArC,QAIJK,cA7DiD,WA8D/ChC,KAAA,MAAaA,KAAKyB,KAAKQ,WAAvBjC,OAGFG,QAAS,CACP+B,MADO,SACF,GAAU,WACTlC,KAAJ,WAEAA,KAAA,YAEAA,KAAA,iBACAA,KAAA,WAAe,kBAAO,YAAiB,EAAvC,cAEFmC,QATO,SASA,GACL,OAAOnC,KAAKoC,eAAe,EAApB,KAAP,IAEFC,cAZO,WAaL,IAAMC,GAAQtC,KAAD,UAAiBA,KAAjB,WAEb,OAAKsC,GAAStC,KAAKuC,OAAnB,WAEOvC,KAAKoC,eAAe,EAApB,KAAmC,CACxCI,YAAa,qCACZ,CACDxC,KAAKuC,OAAOxB,YAAcf,KAAKmC,QAHjC,KAF6C,MAQ/CM,UAvBO,WAwBL,OAAOzC,KAAKoC,eAAe,EAApB,KAA+B,CACpCI,YADoC,uBAEpClC,MAAO,CACL,gBAAiBoC,OAAO1C,KADnB,UAELO,KAAM,UAERoC,MAAO,kBACJ3C,KAAD,YAAoBA,KAAKwB,UAE3Bb,MAAO,CACLiC,WAAY5C,KAAKwB,UAEnBf,WAAY,CAAC,CACXpB,KADW,SAEXyC,MAAO9B,KAAKU,SAEdmC,GAAI,EAAF,GACG7C,KADD,WAAF,CAEAkC,MAAOlC,KAAKkC,SAEb,CACDlC,KADC,iBAEDA,KAAKuC,OAFJ,UAGDvC,KAvBF,mBA0BF8C,SAlDO,WAmDL,OAAO9C,KAAKoC,eAAe,MAAO,CAChCI,YADgC,sBAEhC/B,WAAY,CAAC,CACXpB,KADW,OAEXyC,MAAO9B,KAAKwB,YAEbxB,KAAK+C,gBAAgB,CACtB/C,KAAKoC,eAAe,MAAOpC,KAAKuC,OAPlC,aAUFS,eA7DO,WA8DL,IAAMV,EAAOtC,KAAKoB,YACdpB,KADS,cAETA,KAAKsB,UAAL,YAIJ,OAAKgB,GAAStC,KAAKuC,OAAnB,YAEOvC,KAAKoC,eAAe,EAApB,KAAmC,CACxCI,YAAa,sCACZ,CACDxC,KAAKuC,OAAOnB,aAAepB,KAAKmC,QAHlC,KAF8C,MAQhDc,cA5EO,SA4EM,GAEX,GAAKjD,KAAL,OAEA,IAAMwB,EAAWxB,KAAK+B,WAAWmB,EAAjC,MAGI1B,GAAYxB,KAAKwB,WAArB,GACExB,KAAA,MAAaA,KAAKyB,KAAKC,UAAU1B,KAAjC,MAGFA,KAAA,aAEFmD,OAzFO,SAyFD,GAAa,WACX3B,EAAWxB,KAAKoD,OAAtB,EAEA,IAAcpD,KAAKqD,UAAW,GAC9BrD,KAAA,WAAe,kBAAO,WAAtB,MAEF+B,WA/FO,SA+FG,GACR,cAAOmB,EAAA,MAASlD,KAAT,SAIXT,OArKiD,SAqK3C,GACJ,OAAOK,EAAE,MAAOI,KAAKK,aAAaL,KAAKwB,UAAYxB,KAAnC,MAA+C,CAC7DwC,YAD6D,eAE7DG,MAAO3C,KAAKE,UACV,CACFF,KADE,YAEFJ,EAAE,EAAD,KAAoB,CAACI,KALxB,mB,oCCrNJ,wKAUasD,EAAsB,eAAuB,2BAAnD,QACMC,EAAmB,eAAuB,uBAAhD,OACMC,EAAiB,eAAuB,qBAA9C,OACMC,EAAoB,eAAuB,wBAAjD,OAcH,OACA,OACA,OACA,OAEA,OAEA,OACA,Q,2xBCxBW,aAAAC,EAAA,MAAO,EAAD,KAEnB,QAFa,OAIN,CACPrE,KADO,WAGPsB,MAAO,CACLgD,KADK,QAELC,MAFK,QAGLC,KAAM,CACJhD,KAAM,CAACiD,OADH,QAEJhD,QAAS,IAEXiD,KAAM1C,SAGRpB,SAAU,CACRC,QADQ,WAEN,MAAO,CACL,iBAAkBF,KADb,KAEL,kBAAmBA,KAFd,MAGL,iBAAkBA,KAAK+D,OAG3BC,OARQ,WASN,UACEC,OAAQ,eAAcjE,KADjB,MAELkE,SAAU,eAAclE,KAFnB,MAGLmE,MAAO,eAAcnE,KAHhB,OAIFA,KAAKoE,oBAKd7E,OA/BO,SA+BD,GACJ,IAAME,EAAO,CACX+C,YADW,WAEXG,MAAO3C,KAFI,QAGXqE,MAAOrE,KAHI,OAIX6C,GAAI7C,KAAKsE,YAGX,OAAO1E,EAAE,MAAOI,KAAKuE,mBAAmBvE,KAAxB,MAAR,GAAmDA,KAAKuC,OAAhE,YCnDJ,U,gtBCIe,qBAAe,CAC5BlD,KAD4B,qBAG5BsB,MAAO,CACL6D,WADK,QAELX,KAAM,CACJhD,KAAM,CAACiD,OADH,QAEJhD,QAAS,KAIbb,SAAU,CACRC,QADQ,WAEN,UACE,kCAAmCF,KAD9B,YAEF,qCAFE,MAAP,CAGE,iBAAkBA,KAAK+D,MAAQ/D,KAAKwE,eAK1CjF,OArB4B,SAqBtB,GACJ,IAAMA,EAAS,gCAAf,GAKA,OAHAA,EAAA,KAAcA,EAAA,MAAd,GACAA,EAAA,yCAEA,M,4yBChBW,8BAAgC,CAC7CF,KAD6C,SAG7CQ,QAH6C,WAI3C,MAAO,CACL4E,UADK,EAELhD,KAAMzB,OAIV0E,OAAQ,CACNC,SAAU,CACR7D,SAAS,GAEX8D,QAAS,CACP9D,SAAS,IAIbH,MAAO,CACLkE,MADK,QAEL5D,SAFK,QAGL6D,OAHK,QAILC,KAJK,QAKLC,IALK,QAMLC,QANK,QAOLC,OAPK,QAQLC,UARK,QASLC,UATK,QAULrB,KAAM,CACJlD,KADI,QAEJC,SAAS,GAEXuE,QAAShE,SAGX5B,KAAM,iBAAO,CACX6F,OAAQ,KAGVrF,SAAU,CACRC,QADQ,WAEN,YACK,qCADE,MAAP,CAEE,gBAAiBF,KAFZ,MAGL,mBAAoBA,KAHf,SAIL,eAAgBA,KAJX,KAKL,cAAeA,KALV,IAML,kBAAmBA,KANd,QAOL,iBAAkBA,KAPb,OAQL,oBAAqBA,KARhB,UASL,mBAAoBA,KATf,QAUL,qBAAsBA,KAAKoF,cAKjCjF,QAAS,CACP0B,SADO,SACC,GACN7B,KAAA,gBAEFiC,WAJO,SAIG,GACR,IAAMsD,EAAQvF,KAAKsF,OAAOE,WAAU,SAAAC,GAAC,OAAIA,EAAA,OAAWC,EAApD,QAEIH,GAAJ,GAAgBvF,KAAKsF,OAAOK,OAAOJ,EAAO,IAE5C7D,UATO,SASE,GACP,IAAI1B,KAAJ,QADoB,2BAGpB,YAAoBA,KAApB,sDAAiC,KAAjC,EAAiC,QAC/BkB,EAAA,WAJkB,sFASxB3B,OA3E6C,SA2EvC,GACJ,IAAME,EAAO,CACX+C,YADW,SAEXG,MAAO3C,KAFI,QAGXqE,MAAOrE,KAHI,OAIXM,MAAO,EAAF,CACHC,KAAMP,KAAK4E,SAAW5E,KAAhB,gBADD,QAEFA,KAAK4F,SAIZ,OAAOhG,EAAE,MAAOI,KAAKuE,mBAAmBvE,KAAxB,MAAR,GAAmD,CAACA,KAAKuC,OAAjE,c,40BCjFJ,IAAM/B,EAAa,eAAO,EAAD,mBAIvB,eAJuB,iBAKvB,eALF,eAiBe,OAAAA,EAAA,gBAAoC,CACjDnB,KADiD,cAGjDoB,WAAY,CACVoF,OAAA,QAGFC,cAPiD,EASjDpB,OAAQ,CACN5E,UAAW,CACTgB,SAAS,GAEX2D,SAAU,CACR3D,SAAS,GAEX6D,SAAU,CACR7D,SAAS,GAEX8D,QAAS,CACP9D,SAAS,IAIbH,MAAO,CACLC,YAAa,CACXC,KADW,OAEXC,QAFW,WAGT,OAAKd,KAAL,cAEOA,KAAKD,cAAZ,YAFgC,KAKpC8E,MATK,QAULkB,SAVK,QAWLC,KAXK,QAYLC,WAAY,CACVpF,KAAMQ,SAER6E,IAAK,CACHrF,KADG,OAEHC,QAAS,OAEXsE,UAnBK,QAoBLC,QApBK,QAqBLvD,MAAO,MAGTrC,KAAM,iBAAO,CACX0G,WAAY,wBAGdlG,SAAU,CACRC,QADQ,WAEN,UACE,eADK,GAEF,qCAFE,MAAP,CAGE,qBAAsBF,KAHjB,MAIL,wBAAyBA,KAJpB,SAKL,oBAAqBA,KAAKoG,cAAgBpG,KALrC,SAML,0BAA2BA,KANtB,WAOL,0BAA2BA,KAPtB,UAQL,wBAAyBA,KARpB,SASFA,KAAKqG,eAGZD,YAdQ,WAeN,OAAO/E,QACL,gDACArB,KAFF,iBAOJ4B,QA1EiD,WA4E3C5B,KAAKsG,OAAOC,eAAhB,WACE,eAAQ,SAAR,OAIJpG,QAAS,CACP+B,MADO,SACF,GACCsE,EAAJ,QAAcxG,KAAKyG,IAAIC,OAEvB1G,KAAA,iBAEAA,KAAA,IAAWA,KAAX,UAEF2G,SARO,WASL,IAAMrG,EAAK,GACT,kBAAiBN,KAAKiB,eADW,EAEjC2F,SAAU5G,KAAKoG,cAAgBpG,KAArB,YAFuB,GAG9BA,KAAKsG,QAgBV,OAbItG,KAAKsG,OAAOC,eAAhB,SAEWvG,KAAJ,UAEIA,KAAJ,WACLM,EAAA,gBACAA,EAAA,iBAAyBoC,OAAO1C,KAAhC,WACSA,KAAJ,SACLM,EAAA,KAAaN,KAAKoG,YAAc,gBAAhC,EACSpG,KAAJ,WACLM,EAAA,kBAGF,IAIJf,OAjHiD,SAiH3C,GAAG,aACaS,KAApB,oBAAI,EADG,EACH,IAAOP,EADJ,EACIA,KAEXA,EAAA,WACKA,EADQ,MAAb,GAEKO,KAAK2G,YAEVlH,EAAA,QACKA,EADK,GAAV,CAEEyC,MAAOlC,KAFC,MAGR6G,QAAU,SAAAL,GAEJA,EAAA,UAAc,OAAlB,OAAkC,WAElC,wBAIJ,IAAMhH,EAAWQ,KAAK8G,aAAahG,QAC/Bd,KAAK8G,aAAahG,QAAQ,CAC1BiG,OAAQ/G,KADkB,SAE1BmD,OAAQnD,KAAKmD,SAEbnD,KAAKuC,OALT,QASA,OAFA2D,EAAMlG,KAAK+F,SAAW,MAAtBG,EAEOtG,EAAEsG,EAAKlG,KAAKK,aAAaL,KAAlB,MAAN,GAAR,O","file":"js/chunk-57bf95e2.e8c3018d.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'\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","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n 'v-avatar--tile': this.tile,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","// 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 './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 { 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 PropValidator,\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"],"sourceRoot":""}