xdesign-vue-next
Version:
XDesign Component for vue-next
1 lines • 1.49 kB
Source Map (JSON)
{"version":3,"file":"tab-panel.mjs","sources":["../../src/tabs/tab-panel.tsx"],"sourcesContent":["import { defineComponent, inject } from 'vue';\nimport props from './tab-panel-props';\nimport { usePrefixClass } from '../hooks/useConfig';\nimport useDestroyOnClose from '../hooks/useDestroyOnClose';\nimport { useContent } from '../hooks/tnode';\n\nimport type { InjectTabs } from './tabs';\n\nexport default defineComponent({\n name: 'XTabPanel',\n\n props: { ...props },\n\n setup(props) {\n const COMPONENT_NAME = usePrefixClass('tab-panel');\n const renderTNodeContent = useContent();\n\n useDestroyOnClose();\n\n const tabs = inject<InjectTabs>('tabs');\n\n return () => {\n const isActive = props.value === tabs.value.value;\n\n if (props.destroyOnHide && !isActive) return null;\n return (\n <div class={COMPONENT_NAME.value} v-show={isActive}>\n {renderTNodeContent('default', 'panel')}\n </div>\n );\n };\n },\n});\n"],"names":["name","props","useDestroyOnClose"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,gBAAA,eAAA,CAAA;AACEA,EAAAA,IAAAA,EAAAA,WAAAA;AAEAC,EAAAA,KAAAA,EAAAA,aAAAA,CAAAA,EAAAA,EAAAA,aAAAA,CAAAA;;AAGQ,IAAA,IAAA,cAAA,GAAA,cAAA,CAAA,WAAA,CAAA,CAAA;AACN,IAAA,IAAA,kBAAA,GAAA,UAAA,EAAA,CAAA;AAEkBC,IAAAA,iBAAAA,EAAAA,CAAAA;AAEZ,IAAA,IAAA,IAAA,GAAA,MAAA,CAAA,MAAA,CAAA,CAAA;AAEN,IAAA,OAAA,YAAA;;;;AAKI,QAAA,OAAA,EAAA,cAAA,CAAA,KAAA;;;AAKN,GAAA;AACF,CAAA,CAAA;;;;"}