{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts"],"names":["name","provide","expansionPanels","this","props","accordion","disabled","flat","hover","focusable","inset","popout","readonly","tile","Boolean","computed","classes","created","$attrs","hasOwnProperty","Array","value","length","methods","updateItem","getValue","item","nextValue","index","toggleMethod","baseMixins","data","isActive","parentIsActive","expansionPanel","watch","immediate","handler","isBooted","oldVal","$nextTick","beforeDestroy","render","h","showLazyContent","staticClass","directives","class","open","autoGrow","noResize","rowHeight","type","Number","default","validator","v","isNaN","parseFloat","rows","parseInt","noResizeHandle","val","lazyValue","mounted","setTimeout","calculateInputHeight","input","$refs","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused","e","defaultMenuProps","offsetY","offsetOverflow","transition","autoSelectFirst","filter","itemText","queryText","hideNoData","menuProps","noFilter","searchInput","String","lazySearch","selectedIndex","computedItems","selectedValues","selectedItems","map","hasDisplayedItems","hideSelected","filteredItems","some","currentRange","selectedItem","getText","internalSearch","allItems","text","get","set","isAnyValueAllowed","isDirty","searchIsDirty","isSearching","multiple","menuCanShow","$_menuProps","find","i","listData","items","internalValue","document","isMenuActive","activateMenu","destroyed","onFilteredItemsChanged","preSelectedItem","menu","onInternalSearchChanged","updateMenuDimensions","changeSelectedIndex","keyCode","deleteCurrentItem","curIndex","curItem","getDisabled","lastIndex","nextIndex","nextItem","clearableCallback","attrs","autocomplete","domProps","genInputSlot","slot","genSelections","hasSlot","onClick","isAppendInner","target","onSpaceDown","onTabDown","onUpDown","selectItem","setSelectedItems","setSearch","updateSelf","valueComparator","hasItem","indexOf","onCopy","currentItem","currentItemText","event","ripple","disableIconRotate","expandIcon","hideActions","hasMousedown","isDisabled","isReadonly","genIcon","icon","$createElement","setBackgroundColor","tabindex","on","click","mousedown","mouseup","content","header","nextIsActive","groupClasses","registerContent","unregisterContent","registerHeader","vm","unregisterHeader","toggle"],"mappings":"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","file":"js/chunk-854f667a.d80e7af5.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","// 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, 'default', { open: this.isActive })),\n ]),\n ]))\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\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', { open: this.isActive }) ||\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":""}