{"version":3,"file":"tab-pane.vue2.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":[],"mappings":";;;;;;;;AA6BA,MAAM,cAAiB,GAAA,WAAA,CAAA;AAEvB,gBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EACN,KAAO,EAAA,YAAA;AAAA,EACP,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAM,MAAA,QAAA,GAAW,OAAO,kBAAkB,CAAA,CAAA;AAC1C,IAAA,IAAI,CAAC,QAAA;AAAU,MAAA,UAAA,CAAW,gBAAgB,CAAsB,oBAAA,CAAA,CAAA,CAAA;AAEhE,IAAA,MAAM,QAAQ,GAAY,EAAA,CAAA;AAC1B,IAAM,MAAA,MAAA,GAAS,IAAI,KAAK,CAAA,CAAA;AACxB,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,MAAM,QAAY,IAAA,QAAA,CAAS,MAAM,QAAQ,CAAA,CAAA;AAC3E,IAAA,MAAM,MAAS,GAAA,aAAA;AAAA,MACb,MAAM,QAAS,CAAA,WAAA,CAAY,KAAW,MAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA,CAAA;AAAA,KAC5D,CAAA;AACA,IAAA,MAAM,WAAW,QAAS,CAAA,MAAM,KAAM,CAAA,IAAA,IAAQ,MAAM,KAAK,CAAA,CAAA;AACzD,IAAA,MAAM,cAAiB,GAAA,aAAA;AAAA,MACrB,MAAM,CAAC,KAAA,CAAM,IAAQ,IAAA,MAAA,CAAO,SAAS,MAAO,CAAA,KAAA;AAAA,KAC9C,CAAA;AAEA,IAAM,KAAA,CAAA,MAAA,EAAQ,CAAC,GAAQ,KAAA;AACrB,MAAI,IAAA,GAAA;AAAK,QAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KACzB,CAAA,CAAA;AAED,IAAS,QAAA,CAAA,eAAA;AAAA,MACP,QAAS,CAAA;AAAA,QACP,KAAK,QAAS,CAAA,GAAA;AAAA,QACd,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,QAC1B,KAAA;AAAA,QACA,QAAA;AAAA,QACA,MAAA;AAAA,QACA,KAAA;AAAA,QACA,UAAA;AAAA,OACD,CAAA;AAAA,KACH,CAAA;AAEA,IAAO,OAAA;AAAA,MACL,MAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}