{"version":3,"sources":["webpack:///../../../src/mixins/measurable/index.ts","webpack:///../../../src/mixins/binds-attrs/index.ts","webpack:///../../../src/components/VList/VList.ts","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///../../../src/mixins/roundable/index.ts","webpack:///../../../src/mixins/elevatable/index.ts","webpack:///./src/components/shared/base/BaseNavList.vue","webpack:///src/components/shared/base/BaseNavList.vue","webpack:///./src/components/shared/base/BaseNavList.vue?5447","webpack:///./src/components/shared/base/BaseNavList.vue?c586"],"names":["Vue","extend","name","props","height","Number","String","maxHeight","maxWidth","minHeight","minWidth","width","computed","measurableStyles","styles","convertToUnit","this","makeWatcher","property","val","oldVal","attr","Object","prototype","hasOwnProperty","call","$delete","$data","$set","data","attrs$","listeners$","created","$watch","immediate","VSheet","provide","isInList","list","inject","isInMenu","default","isInNav","dense","Boolean","disabled","expand","flat","nav","rounded","subheader","threeLine","twoLine","groups","classes","options","methods","register","content","push","unregister","index","findIndex","g","_uid","splice","listClick","uid","group","toggle","render","h","staticClass","class","style","attrs","role","undefined","on","tag","setBackgroundColor","color","getSlot","mixins","BindsAttrs","Colorable","Elevatable","Measurable","Roundable","Themeable","outlined","shaped","type","themeClasses","elevationClasses","roundedClasses","$slots","tile","composite","values","split","value","length","join","elevation","computedElevation","isNaN","parseInt","_c","_self","_vm","staticRenderFns","inheritAttrs","component"],"mappings":"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","file":"js/chunk-586ea8cc.5a24dcc5.js","sourcesContent":["// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue, { PropType } from 'vue'\n\nexport type NumberOrNumberString = PropType\n\nexport default Vue.extend({\n name: 'measurable',\n\n props: {\n height: [Number, String] as NumberOrNumberString,\n maxHeight: [Number, String] as NumberOrNumberString,\n maxWidth: [Number, String] as NumberOrNumberString,\n minHeight: [Number, String] as NumberOrNumberString,\n minWidth: [Number, String] as NumberOrNumberString,\n width: [Number, String] as NumberOrNumberString,\n },\n\n computed: {\n measurableStyles (): object {\n const styles: Record = {}\n\n const height = convertToUnit(this.height)\n const minHeight = convertToUnit(this.minHeight)\n const minWidth = convertToUnit(this.minWidth)\n const maxHeight = convertToUnit(this.maxHeight)\n const maxWidth = convertToUnit(this.maxWidth)\n const width = convertToUnit(this.width)\n\n if (height) styles.height = height\n if (minHeight) styles.minHeight = minHeight\n if (minWidth) styles.minWidth = minWidth\n if (maxHeight) styles.maxHeight = maxHeight\n if (maxWidth) styles.maxWidth = maxWidth\n if (width) styles.width = width\n\n return styles\n },\n },\n})\n","import Vue from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType & ((val: any, oldVal: any) => void) {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary,\n listeners$: {} as Dictionary,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport { getSlot } from '../../util/helpers'\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 on: this.listeners$,\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), getSlot(this))\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 Roundable from '../../mixins/roundable'\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 Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\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","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'roundable',\n\n props: {\n rounded: [Boolean, String],\n tile: Boolean,\n },\n\n computed: {\n roundedClasses (): Record {\n const composite = []\n const rounded = typeof this.rounded === 'string'\n ? String(this.rounded)\n : this.rounded === true\n\n if (this.tile) {\n composite.push('rounded-0')\n } else if (typeof rounded === 'string') {\n const values = rounded.split(' ')\n\n for (const value of values) {\n composite.push(`rounded-${value}`)\n }\n } else if (rounded) {\n composite.push('rounded')\n }\n\n return composite.length > 0 ? {\n [composite.join(' ')]: true,\n } : {}\n },\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'elevatable',\n\n props: {\n elevation: [Number, String],\n },\n\n computed: {\n computedElevation (): string | number | undefined {\n return this.elevation\n },\n elevationClasses (): Record {\n const elevation = this.computedElevation\n\n if (elevation == null) return {}\n if (isNaN(parseInt(elevation))) return {}\n return { [`elevation-${this.elevation}`]: true }\n },\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-list',_vm._g(_vm._b({attrs:{\"nav\":\"\",\"dense\":\"\"}},'v-list',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseNavList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseNavList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BaseNavList.vue?vue&type=template&id=4bccb2f7\"\nimport script from \"./BaseNavList.vue?vue&type=script&lang=js\"\nexport * from \"./BaseNavList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}