{"version":3,"file":"tab-panel.mjs","sources":["../../../components/tabs/tab-panel.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, watch } from 'vue';\nimport props from './tab-panel-props';\nimport { useContent, usePrefixClass, useDestroyOnClose, useCommonClassName } from '@tdesign/shared-hooks';\n\nimport type { InjectTabs } from './tabs';\n\nexport default defineComponent({\n  name: 'TTabPanel',\n  props,\n  setup(props) {\n    const COMPONENT_NAME = usePrefixClass('tab-panel');\n    const { STATUS } = useCommonClassName();\n    const renderTNodeContent = useContent();\n\n    useDestroyOnClose();\n\n    const tabs = inject<InjectTabs>('tabs');\n    const isActive = computed(() => props.value === tabs.value.value);\n    const isMount = ref(props.lazy ? isActive.value : true);\n\n    watch(\n      isActive,\n      () => {\n        if (isActive.value) {\n          if (!isMount.value) {\n            isMount.value = true;\n          }\n        } else if (props.destroyOnHide) {\n          isMount.value = false;\n        }\n      },\n      { immediate: true },\n    );\n\n    const tabPanelClass = computed(() => [\n      COMPONENT_NAME.value,\n      {\n        [STATUS.value.hidden]: !isActive.value,\n      },\n    ]);\n    return () => {\n      if (!isMount.value) return null;\n      return (\n        <div key={props.value} class={tabPanelClass.value}>\n          {renderTNodeContent('default', 'panel')}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","props","setup","COMPONENT_NAME","usePrefixClass","_useCommonClassName","useCommonClassName","STATUS","renderTNodeContent","useContent","useDestroyOnClose","tabs","inject","isActive","computed","value","isMount","ref","lazy","watch","destroyOnHide","immediate","tabPanelClass","_defineProperty","hidden","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,gBAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,WAAA;AACNC,EAAAA,KAAA,EAAAA,aAAA;AACAC,EAAAA,OAAAA,SAAAA,MAAMD,MAAO,EAAA;AACL,IAAA,IAAAE,cAAA,GAAiBC,eAAe,WAAW,CAAA,CAAA;AAC3C,IAAA,IAAAC,mBAAA,GAAaC,kBAAmB,EAAA;MAA9BC,MAAO,GAAAF,mBAAA,CAAPE,MAAO,CAAA;AACf,IAAA,IAAMC,qBAAqBC,UAAW,EAAA,CAAA;AAEpBC,IAAAA,iBAAA,EAAA,CAAA;AAEZ,IAAA,IAAAC,IAAA,GAAOC,OAAmB,MAAM,CAAA,CAAA;IACtC,IAAMC,WAAWC,QAAS,CAAA,YAAA;MAAA,OAAMb,OAAMc,KAAU,KAAAJ,IAAA,CAAKI,MAAMA,KAAK,CAAA;KAAA,CAAA,CAAA;AAChE,IAAA,IAAMC,UAAUC,GAAIhB,CAAAA,MAAAA,CAAMiB,IAAO,GAAAL,QAAA,CAASE,QAAQ,IAAI,CAAA,CAAA;IAEtDI,KAAA,CACEN,QAAA,EACA,YAAM;MACJ,IAAIA,SAASE,KAAO,EAAA;AACd,QAAA,IAAA,CAACC,QAAQD,KAAO,EAAA;UAClBC,OAAA,CAAQD,KAAQ,GAAA,IAAA,CAAA;AAClB,SAAA;AACF,OAAA,MAAA,IAAWd,OAAMmB,aAAe,EAAA;QAC9BJ,OAAA,CAAQD,KAAQ,GAAA,KAAA,CAAA;AAClB,OAAA;AACF,KAAA,EACA;AAAEM,MAAAA,WAAW,IAAA;AAAK,KACpB,CAAA,CAAA;IAEM,IAAAC,aAAA,GAAgBR,SAAS,YAAA;AAAA,MAAA,OAAM,CACnCX,cAAe,CAAAY,KAAA,EAAAQ,eAAA,CAEZhB,EAAAA,EAAAA,MAAA,CAAOQ,KAAM,CAAAS,MAAA,EAAS,CAACX,QAAS,CAAAE,KAAA,CAEpC,CAAA,CAAA;KAAA,CAAA,CAAA;AACD,IAAA,OAAO,YAAM;AACX,MAAA,IAAI,CAACC,OAAQ,CAAAD,KAAA,EAAc,OAAA,IAAA,CAAA;AAC3B,MAAA,OAAAU,WAAA,CAAA,KAAA,EAAA;QAAA,KACYxB,EAAAA,MAAAA,CAAMc,KAAO;AAAA,QAAA,OAAA,EAAOO,aAAc,CAAAP,KAAAA;AAAA,OAAA,EAAA,CACzCP,kBAAmB,CAAA,SAAA,EAAW,OAAO,CAAA,CAAA,CAAA,CAAA;KAG5C,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}