{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","val","upperFirst","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","Vue","functional","tag","dense","noGutters","render","h","data","children","cacheKey","classList","get","forEach","push","set","mergeData","staticClass","class","baseMixins","mixins","Bootable","Colorable","RegistrableInject","parentIsActive","expansionPanel","watch","immediate","handler","oldVal","isBooted","$nextTick","registerContent","beforeDestroy","unregisterContent","VExpandTransition","showLazyContent","setBackgroundColor","color","directives","getSlot","breakpointProps","Number","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","VGrid","id","trim","attrs","filter","key","join","domProps","Grid","fluid","concat","ripple","disableIconRotate","expandIcon","hideActions","hasMousedown","isDisabled","isReadonly","registerHeader","unregisterHeader","onClick","e","$emit","genIcon","icon","$createElement","VIcon","VFadeTransition","tabindex","on","$listeners","click","mousedown","mouseup","open","GroupableFactory","RegistrableProvide","content","header","groupClasses","vm","$on","detail","$el","blur","toggle"],"mappings":"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","file":"js/chunk-77b3614b.d1e7a8ba.js","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n"],"sourceRoot":""}