element-plus
Version:
A Component Library for Vue 3
1 lines • 3.76 kB
Source Map (JSON)
{"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n class=\"el-tab-pane\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n inject,\n getCurrentInstance,\n watch,\n markRaw,\n reactive,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: tabPaneProps,\n setup(props) {\n const instance = getCurrentInstance()!\n const tabsRoot = inject(tabsRootContextKey)\n if (!tabsRoot) throwError(COMPONENT_NAME, `must use with ElTabs`)\n\n const index = ref<string>()\n const isClosable = computed(() => props.closable || tabsRoot.props.closable)\n const active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name || index.value)\n )\n const loaded = ref(active.value)\n const paneName = computed(() => props.name || index.value)\n const shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n )\n\n watch(active, (val) => {\n if (val) loaded.value = true\n })\n\n tabsRoot.updatePaneState(\n reactive({\n uid: instance.uid,\n instance: markRaw(instance),\n props,\n paneName,\n active,\n index,\n isClosable,\n })\n )\n\n return {\n active,\n paneName,\n shouldBeRender,\n }\n },\n})\n</script>\n"],"names":["_withDirectives","_openBlock","_createElementBlock","_renderSlot","_vShow","_createCommentVNode"],"mappings":";;;;;;;;;AA6BA,MAAM,cAAiB,GAAA,WAAA,CAAA;AAEvB,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EACN,KAAO,EAAA,YAAA;AAAA,EACP,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,QAAW,GAAA,kBAAA,EAAA,CAAA;AACjB,IAAA,MAAM,WAAW,MAAO,CAAA,kBAAA,CAAA,CAAA;AACxB,IAAA,IAAI,CAAC,QAAA;AAAU,MAAA,UAAA,CAAW,cAAgB,EAAA,CAAA,oBAAA,CAAA,CAAA,CAAA;AAE1C,IAAA,MAAM,KAAQ,GAAA,GAAA,EAAA,CAAA;AACd,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,KAAM,CAAA,QAAA,IAAY,SAAS,KAAM,CAAA,QAAA,CAAA,CAAA;AACnE,IAAM,MAAA,MAAA,GAAS,cACb,MAAM,QAAA,CAAS,YAAY,KAAW,MAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA,CAAA,CAAA,CAAA;AAE5D,IAAM,MAAA,MAAA,GAAS,IAAI,MAAO,CAAA,KAAA,CAAA,CAAA;AAC1B,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA,CAAA,CAAA;AACpD,IAAM,MAAA,cAAA,GAAiB,cACrB,MAAM,CAAC,MAAM,IAAQ,IAAA,MAAA,CAAO,SAAS,MAAO,CAAA,KAAA,CAAA,CAAA;AAG9C,IAAM,KAAA,CAAA,MAAA,EAAQ,CAAC,GAAQ,KAAA;AACrB,MAAI,IAAA,GAAA;AAAK,QAAA,MAAA,CAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAG1B,IAAA,QAAA,CAAS,gBACP,QAAS,CAAA;AAAA,MACP,KAAK,QAAS,CAAA,GAAA;AAAA,MACd,UAAU,OAAQ,CAAA,QAAA,CAAA;AAAA,MAClB,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAIJ,IAAO,OAAA;AAAA,MACL,MAAA;AAAA,MACA,QAAA;AAAA,MACA,cAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,CAAA;;;AAnEI,EAAA,OAAA,IAAA,CAAA,cAAA,GAAAA,cAAA,EAAAC,SAAA,EAAA,EADRC,kBAUM,CAAA,KAAA,EAAA;AAAA,IAAA,GAAA,EAAA,CAAA;AAPH,IAAA,EAAA,EAAE,CAAU,KAAA,EAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAAA,IACb,KAAM,EAAA,aAAA;AAAA,IACN,IAAK,EAAA,UAAA;AAAA,IACJ,eAAW,CAAG,IAAA,CAAA,MAAA;AAAA,IACd,mBAAe,CAAS,IAAA,EAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAAA,GAAA,EAAA;IAEzBC,UAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,GAAA,EAAA,CAAA,EAAA,UAAA,CAAA,GAAA;AAPA,IAAA,CAAAC,KAAA,EAAA,IAAA,CAAA,MAAA,CAAA;AAAA,GAAA,CAAA,GAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA,CAAA;;;;;;"}