{"version":3,"file":"tab-pane.vue.mjs","sources":["../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n  <div\n    v-if=\"shouldBeRender\"\n    v-show=\"active\"\n    :id=\"`pane-${paneName}`\"\n    class=\"el-tab-pane\"\n    role=\"tabpanel\"\n    :aria-hidden=\"!active\"\n    :aria-labelledby=\"`tab-${paneName}`\"\n  >\n    <slot></slot>\n  </div>\n</template>\n<script lang=\"ts\">\nimport {\n  defineComponent,\n  ref,\n  computed,\n  inject,\n  getCurrentInstance,\n  watch,\n  markRaw,\n  reactive,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-ultra/tokens'\nimport { throwError } from '@element-ultra/utils'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\n\nexport default defineComponent({\n  name: COMPONENT_NAME,\n  props: tabPaneProps,\n  setup(props) {\n    const instance = getCurrentInstance()!\n    const tabsRoot = inject(tabsRootContextKey)\n    if (!tabsRoot) throwError(COMPONENT_NAME, `must use with ElTabs`)\n\n    const index = ref<string>()\n    const loaded = ref(false)\n    const isClosable = computed(() => props.closable || tabsRoot.props.closable)\n    const active = eagerComputed(\n      () => tabsRoot.currentName.value === (props.name || index.value)\n    )\n    const paneName = computed(() => props.name || index.value)\n    const shouldBeRender = eagerComputed(\n      () => !props.lazy || loaded.value || active.value\n    )\n\n    watch(active, (val) => {\n      if (val) loaded.value = true\n    })\n\n    tabsRoot.updatePaneState(\n      reactive({\n        uid: instance.uid,\n        instance: markRaw(instance),\n        props,\n        paneName,\n        active,\n        index,\n        isClosable,\n      })\n    )\n\n    return {\n      active,\n      paneName,\n      shouldBeRender,\n    }\n  },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;yCACE,EAAA,MAAA,EAUM,OAAA,QAAA,EAAA;+CAPSA,SAAQ,EAAA,EAAAC,mBAAA,KAAA,EAAA;AAAA,IACrB,GAAK,EAAA,CAAA;AAAA,IACL,EAAA,EAAI,QAAC,IAAU,CAAA,QAAA,CAAA,CAAA;AAAA,IACd,KAAA,EAAA,aAAA;AAAA,IACA,IAAA,EAAA,UAAA;AAAA,IAAA,aAAA,EAAA,CAAA,IAAA,CAAA,MAAA;AAAA,IAED,iBAAA,EAAa,OAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAAA,GAAA,EAAA;AAAA,eAPL,IAAM,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,GAAA,EAAA,CAAA,EAAA,UAAA,CAAA,GAAA;AAAA;;;;;;;"}