tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 3.11 kB
Source Map (JSON)
{"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 <div class={tabPanelClass.value}>{renderTNodeContent('default', 'panel')}</div>;\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;AACpB,MAAA,OAAAU,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAYH,aAAA,CAAcP,KAAAA;UAAQP,kBAAmB,CAAA,SAAA,EAAW,OAAO,CAAA,CAAA,CAAA,CAAA;KAChF,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}