{"version":3,"file":"tab-pane.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    ref=\"paneRef\"\n    :class=\"ns.b()\"\n    role=\"tabpanel\"\n    :aria-hidden=\"!active\"\n    :aria-labelledby=\"`tab-${paneName}`\"\n  >\n    <slot />\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n  computed,\n  getCurrentInstance,\n  inject,\n  onBeforeUnmount,\n  onBeforeUpdate,\n  reactive,\n  ref,\n  useSlots,\n  watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { throwError } from '@hd-front-end/utils'\nimport { useNamespace } from '@hd-front-end/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n  name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n  throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst paneRef = ref<HTMLDivElement>()\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable ?? tabsRoot.props.closable)\nconst active = eagerComputed(\n  () => tabsRoot.currentName.value === (props.name ?? index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n  () => !props.lazy || loaded.value || active.value\n)\n\nconst isFocusInsidePane = () => {\n  return paneRef.value?.contains(document.activeElement)\n}\n\nwatch(active, (val) => {\n  if (val) loaded.value = true\n})\n\nconst pane = reactive({\n  uid: instance.uid,\n  getVnode: () => instance.vnode,\n  slots,\n  props,\n  paneName,\n  active,\n  index,\n  isClosable,\n  isFocusInsidePane,\n})\n\ntabsRoot.registerPane(pane)\n\nonBeforeUnmount(() => {\n  tabsRoot.unregisterPane(pane)\n})\n\nonBeforeUpdate(() => {\n  if (slots.label) tabsRoot.nav$.value?.scheduleRender()\n})\n</script>\n"],"names":["_unref","_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_renderSlot","_createCommentVNode"],"mappings":"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"}