UNPKG

tdesign-mobile-vue

Version:
1 lines 3.25 kB
{"version":3,"file":"tab-panel.mjs","sources":["../../src/tabs/tab-panel.tsx"],"sourcesContent":["import { defineComponent, inject, Ref, computed, ref, watch } from 'vue';\nimport config from '../config';\nimport props from './tab-panel-props';\nimport { useContent } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useClass';\nimport { TabValue } from '.';\n\nconst { prefix } = config;\nconst name = `${prefix}-tab-panel`;\n\nexport default defineComponent({\n name,\n props,\n setup(props) {\n const renderTNodeContent = useContent();\n const tabPanelClass = usePrefixClass('tab-panel');\n const tabsClass = usePrefixClass('tabs');\n const currentValue = inject<Ref<TabValue>>('currentValue');\n const isActive = computed(() => currentValue.value === props.value);\n const tabPanelClasses = computed(() => [`${tabPanelClass.value}`, `${tabsClass.value}__panel`]);\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 return () => {\n if (!isMount.value) return null;\n\n return (\n <div v-show={isActive.value} class={tabPanelClasses.value}>\n {renderTNodeContent('default', 'panel')}\n </div>\n );\n };\n },\n});\n"],"names":["prefix","config","name","defineComponent","props","setup","renderTNodeContent","useContent","tabPanelClass","usePrefixClass","tabsClass","currentValue","inject","isActive","computed","value","tabPanelClasses","concat","isMount","ref","lazy","watch","destroyOnHide","immediate","_withDirectives","_createVNode","_vShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAQA,SAAWC,MAAA,CAAXD;AACR,IAAME,iBAAUF,MAAA,EAAA,YAAA,CAAA,CAAA;AAEhB,gBAAeG,eAAgB,CAAA;AAC7BD,EAAAA,IAAA,EAAAA,IAAA;AACAE,EAAAA,KAAA,EAAAA,KAAA;AACAC,EAAAA,OAAAA,SAAAA,MAAMD,MAAO,EAAA;AACX,IAAA,IAAME,qBAAqBC,UAAW,EAAA,CAAA;AAChC,IAAA,IAAAC,aAAA,GAAgBC,eAAe,WAAW,CAAA,CAAA;AAC1C,IAAA,IAAAC,SAAA,GAAYD,eAAe,MAAM,CAAA,CAAA;AACjC,IAAA,IAAAE,YAAA,GAAeC,OAAsB,cAAc,CAAA,CAAA;IACzD,IAAMC,WAAWC,QAAS,CAAA,YAAA;AAAA,MAAA,OAAMH,YAAa,CAAAI,KAAA,KAAUX,OAAMW,KAAK,CAAA;KAAA,CAAA,CAAA;IAC5D,IAAAC,eAAA,GAAkBF,QAAS,CAAA,YAAA;AAAA,MAAA,OAAM,CAAAG,EAAAA,CAAAA,MAAA,CAAIT,cAAcO,KAAS,CAAAE,EAAAA,EAAAA,CAAAA,MAAA,CAAGP,SAAU,CAAAK,KAAA,EAAe,SAAA,CAAA,CAAA,CAAA;KAAA,CAAA,CAAA;AAC9F,IAAA,IAAMG,UAAUC,GAAIf,CAAAA,MAAAA,CAAMgB,IAAO,GAAAP,QAAA,CAASE,QAAQ,IAAI,CAAA,CAAA;IAEtDM,KAAA,CACER,QAAA,EACA,YAAM;MACJ,IAAIA,SAASE,KAAO,EAAA;AACd,QAAA,IAAA,CAACG,QAAQH,KAAO,EAAA;UAClBG,OAAA,CAAQH,KAAQ,GAAA,IAAA,CAAA;AAClB,SAAA;AACF,OAAA,MAAA,IAAWX,OAAMkB,aAAe,EAAA;QAC9BJ,OAAA,CAAQH,KAAQ,GAAA,KAAA,CAAA;AAClB,OAAA;AACF,KAAA,EACA;AAAEQ,MAAAA,WAAW,IAAA;AAAK,KACpB,CAAA,CAAA;AAEA,IAAA,OAAO,YAAM;AACX,MAAA,IAAI,CAACL,OAAQ,CAAAH,KAAA,EAAc,OAAA,IAAA,CAAA;MAE3B,OAAAS,cAAA,CAAAC,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACsCT,eAAgB,CAAAD,KAAAA;OACjDT,EAAAA,CAAAA,kBAAmB,CAAA,SAAA,EAAW,OAAO,CAAA,CAAA,CAAA,EAAA,CAAA,CAAAoB,KAAA,EAD3Bb,QAAA,CAASE,KAAO,CAAA,CAAA,CAAA,CAAA;KAIjC,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}