{"version":3,"file":"tab-pane.vue2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<script lang=\"ts\">\n  import {\n    computed,\n    defineComponent,\n    getCurrentInstance,\n    inject,\n    reactive,\n    toRefs,\n    onBeforeUnmount,\n    watch,\n    ref\n  } from 'vue'\n  import { getComponentNamespace, getNamespace } from '../../../utils/global-config'\n  import { isUndefined } from '../../../utils/is'\n  import { tabsInjectionKey } from './context'\n\n  export default defineComponent({\n    name: getComponentNamespace('TabPane'),\n    props: {\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      title: {\n        type: String,\n        default: ''\n      },\n      destroyOnHide: {\n        type: Boolean,\n        default: undefined\n      }\n    },\n    setup(props, { slots }) {\n      const { title, disabled } = toRefs(props)\n      const ns = getNamespace('tabs')\n      const instance = getCurrentInstance()\n      const key = computed(() => instance?.vnode.key as string | number)\n\n      const tabsContext = inject(tabsInjectionKey)\n\n      const isActive = computed(() => tabsContext?.activeKey === key.value)\n\n      const mergeDestroyOnHide = computed(() => {\n        if (!isUndefined(props.destroyOnHide)) return props.destroyOnHide\n        if (!isUndefined(tabsContext?.destroyOnHide)) return tabsContext?.destroyOnHide\n        return false\n      })\n\n      const mounted = ref(!mergeDestroyOnHide.value)\n\n      const data = reactive({\n        key,\n        title,\n        disabled,\n        paneSlots: slots\n      })\n\n      if (instance?.uid) {\n        tabsContext?.addPane(instance.uid, data)\n      }\n\n      onBeforeUnmount(() => {\n        if (instance?.uid) {\n          tabsContext?.removePane?.(instance.uid)\n        }\n      })\n\n      const cls = computed(() => {\n        return [`${ns}__pane`, isActive.value && `is-active`]\n      })\n\n      watch(isActive, (active) => {\n        if (active) {\n          if (!mounted.value) {\n            mounted.value = true\n          }\n        } else if (props.destroyOnHide || tabsContext?.destroyOnHide) {\n          mounted.value = false\n        }\n      })\n\n      return {\n        cls,\n        ns,\n        isActive,\n        mounted\n      }\n    }\n  })\n</script>\n\n<template>\n  <div :class=\"cls\">\n    <slot v-if=\"mounted\"></slot>\n  </div>\n</template>\n"],"names":[],"mappings":"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"}