{"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tab/src/tab-pane.vue"],"sourcesContent":["<template>\r\n  <div\r\n    v-if=\"shouldBeRender\"\r\n    v-show=\"active\"\r\n    :id=\"`pane-${paneName}`\"\r\n    class=\"sg-tab-pane\"\r\n    role=\"tabpanel\"\r\n    :aria-hidden=\"!active\"\r\n    :aria-labelledby=\"`tab-${paneName}`\"\r\n  >\r\n    <slot></slot>\r\n  </div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport {\r\n  defineComponent,\r\n  ref,\r\n  computed,\r\n  inject,\r\n  getCurrentInstance,\r\n  watch,\r\n  markRaw,\r\n  reactive,\r\n} from 'vue'\r\nimport { eagerComputed } from '@vueuse/core'\r\nimport { TabRootContextKey } from './constants'\r\nimport { throwError } from '@sgui-plus/utils/error'\r\nimport { tabPaneProps } from './tab-pane'\r\n\r\nconst COMPONENT_NAME = 'SgTabPane'\r\n\r\nexport default defineComponent({\r\n  name: COMPONENT_NAME,\r\n  props: tabPaneProps,\r\n  setup(props) {\r\n    const instance = getCurrentInstance()!\r\n    const tabRoot = inject(TabRootContextKey)\r\n    if (!tabRoot) throwError(COMPONENT_NAME, `must use with SgTab`)\r\n\r\n    const index = ref<string>()\r\n    const loaded = ref(false)\r\n    const isClosable = computed(() => props.closable || tabRoot.props.closable)\r\n    const active = eagerComputed(\r\n      () => tabRoot.currentName.value === (props.name || index.value)\r\n    )\r\n    const paneName = computed(() => props.name || index.value)\r\n    const shouldBeRender = eagerComputed(\r\n      () => !props.lazy || loaded.value || active.value\r\n    )\r\n\r\n    watch(active, (val) => {\r\n      if (val) loaded.value = true\r\n    })\r\n\r\n    tabRoot.updatePaneState(\r\n      reactive({\r\n        uid: instance.uid,\r\n        instance: markRaw(instance),\r\n        props,\r\n        paneName,\r\n        active,\r\n        index,\r\n        isClosable,\r\n      })\r\n    )\r\n\r\n    return {\r\n      active,\r\n      paneName,\r\n      shouldBeRender,\r\n    }\r\n  },\r\n})\r\n</script>\r\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;2CACE,MAUM,EAAA,KAAA,EAAA,QAAA,EAAA;+CAPSA,SAAQ,EAAA,EAAAC,kBAAA,CAAA,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;IAED,iBAAa,EAAA,CAAA,IAAA,EAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAAA,GAAA,EAAA;eAPL,IAAM,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,GAAA,EAAA,CAAA,EAAA,UAAA,CAAA,GAAA;;;;;;;;"}