{"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelContent.ts"],"names":[],"mappings":"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","sourcesContent":["import { VExpandTransition } from '../transitions'\n\nimport Bootable from '../../mixins/bootable'\nimport Toggleable from '../../mixins/toggleable'\nimport Rippleable from '../../mixins/rippleable'\nimport { Registrable, inject as RegistrableInject } from '../../mixins/registrable'\n\nimport VIcon from '../VIcon'\nimport VExpansionPanel from './VExpansionPanel'\n\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Vue, { VNode } from 'vue'\n\nimport { consoleWarn } from '../../util/console'\n\ntype VExpansionPanelInstance = InstanceType<typeof VExpansionPanel>\n\ninterface options extends Vue {\n  expansionPanel: VExpansionPanelInstance\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n  ExtractVue<[\n    typeof Bootable,\n    typeof Toggleable,\n    typeof Rippleable,\n    Registrable<'expansionPanel'>\n  ]>\n/* eslint-enable indent */\n>(\n  Bootable,\n  Toggleable,\n  Rippleable,\n  RegistrableInject('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n  /* @vue/component */\n).extend({\n  name: 'v-expansion-panel-content',\n\n  props: {\n    disabled: Boolean,\n    readonly: Boolean,\n    expandIcon: {\n      type: String,\n      default: '$vuetify.icons.expand'\n    },\n    hideActions: Boolean,\n    ripple: {\n      type: [Boolean, Object],\n      default: false\n    }\n  },\n\n  data: () => ({\n    height: 'auto'\n  }),\n\n  computed: {\n    containerClasses (): object {\n      return {\n        'v-expansion-panel__container--active': this.isActive,\n        'v-expansion-panel__container--disabled': this.isDisabled\n      }\n    },\n    isDisabled (): boolean {\n      return this.expansionPanel.disabled || this.disabled\n    },\n    isReadonly (): boolean {\n      return this.expansionPanel.readonly || this.readonly\n    }\n  },\n\n  beforeMount () {\n    this.expansionPanel.register(this)\n\n    // Can be removed once fully deprecated\n    if (typeof this.value !== 'undefined') consoleWarn('v-model has been deprecated', this)\n  },\n\n  beforeDestroy () {\n    this.expansionPanel.unregister(this)\n  },\n\n  methods: {\n    onKeydown (e: KeyboardEvent) {\n      // Ensure element is the activeElement\n      if (\n        e.keyCode === 13 &&\n        this.$el === document.activeElement\n      ) this.expansionPanel.panelClick(this._uid)\n    },\n    onHeaderClick () {\n      this.isReadonly || this.expansionPanel.panelClick(this._uid)\n    },\n    genBody () {\n      return this.$createElement('div', {\n        ref: 'body',\n        class: 'v-expansion-panel__body',\n        directives: [{\n          name: 'show',\n          value: this.isActive\n        }]\n      }, this.showLazyContent(this.$slots.default))\n    },\n    genHeader () {\n      const children = [...(this.$slots.header || [])]\n\n      if (!this.hideActions) children.push(this.genIcon())\n\n      return this.$createElement('div', {\n        staticClass: 'v-expansion-panel__header',\n        directives: [{\n          name: 'ripple',\n          value: this.ripple\n        }],\n        on: {\n          click: this.onHeaderClick\n        }\n      }, children)\n    },\n    genIcon () {\n      const icon = this.$slots.actions ||\n        [this.$createElement(VIcon, this.expandIcon)]\n\n      return this.$createElement('transition', {\n        attrs: { name: 'fade-transition' }\n      }, [\n        this.$createElement('div', {\n          staticClass: 'v-expansion-panel__header__icon',\n          directives: [{\n            name: 'show',\n            value: !this.isDisabled\n          }]\n        }, icon)\n      ])\n    },\n    toggle (active: boolean) {\n      if (active) this.isBooted = true\n\n      this.$nextTick(() => (this.isActive = active))\n    }\n  },\n\n  render (h): VNode {\n    return h('li', {\n      staticClass: 'v-expansion-panel__container',\n      class: this.containerClasses,\n      attrs: {\n        tabindex: this.isReadonly || this.isDisabled ? null : 0,\n        'aria-expanded': Boolean(this.isActive)\n      },\n      on: {\n        keydown: this.onKeydown\n      }\n    }, [\n      this.$slots.header && this.genHeader(),\n      h(VExpandTransition, [this.genBody()])\n    ])\n  }\n})\n"],"sourceRoot":""}