element-plus
Version:
A Component Library for Vue 3
1 lines • 2.67 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></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 loaded = ref(false)\n const isClosable = computed(() => props.closable || tabsRoot.props.closable)\n const active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name || index.value)\n )\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":[],"mappings":";;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,WAAW;AACjB,UAAM,WAAW,OAAO;AACxB,QAAI,CAAC;AAAU,iBAAW,gBAAgB;AAE1C,UAAM,QAAQ;AACd,UAAM,SAAS,IAAI;AACnB,UAAM,aAAa,SAAS,MAAM,MAAM,YAAY,SAAS,MAAM;AACnE,UAAM,SAAS,cACb,MAAM,SAAS,YAAY,iBAAiB,QAAQ,MAAM;AAE5D,UAAM,WAAW,SAAS,MAAM,MAAM,QAAQ,MAAM;AACpD,UAAM,iBAAiB,cACrB,MAAM,CAAC,MAAM,QAAQ,OAAO,SAAS,OAAO;AAG9C,UAAM,QAAQ,CAAC,QAAQ;AACrB,UAAI;AAAK,eAAO,QAAQ;AAAA;AAG1B,aAAS,gBACP,SAAS;AAAA,MACP,KAAK,SAAS;AAAA,MACd,UAAU,QAAQ;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAIJ,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;qBAnEI,cAAc;;IAEnB,KAAE;AAAA,IACH,YAAM;AAAA,IACN,OAAK;AAAA,IACJ;AAAA,IACA,qBAAe;AAAA;KAEhB;AAAA;QAPQ,cAAM;AAAA;;;;;;;"}