{"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;;;;"}