UNPKG

hongluan-ui

Version:
1 lines 2.45 kB
{"version":3,"file":"tab-pane.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=\"namespace\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@hongluan-ui/tokens'\nimport { throwError } from '@hongluan-ui/utils'\nimport { useNamespace } from '@hongluan-ui/hooks'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'TabPane'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <hl-tabs><hl-tab-pane /></hl-tabs/>')\n\nconst { namespace } = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name ?? index.value),\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value,\n)\n\nwatch(active, val => {\n if (val) loaded.value = true\n})\n\nconst pane = reactive({\n uid: instance.uid,\n slots,\n props,\n paneName,\n active,\n index,\n isClosable,\n})\n\ntabsRoot.registerPane(pane)\nonMounted(() => {\n tabsRoot.sortPane(pane)\n})\n\nonUnmounted(() => {\n tabsRoot.unregisterPane(pane.uid)\n})\n\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;oCAgCc;AAAA,EACZ,MAAM;AACR;;;;;;AAGA,UAAM,WAAW;AACjB,UAAM,QAAQ;AAEd,UAAM,WAAW,OAAO,kBAAkB;AAC1C,QAAI,CAAC;AACH,iBAAW,gBAAgB,4CAA4C;AAEzE,UAAM,EAAE,cAAc,aAAa,UAAU;AAE7C,UAAM,QAAQ;AACd,UAAM,aAAa,SAAS,MAAM,MAAM,YAAY,SAAS,MAAM,QAAQ;AAC3E,UAAM,SAAS,cACb,MAAM;AAER,UAAM;AACN,qBAAiB,mCAAmC,KAAK;AACzD;AAIA,UAAM;AACJ,UAAI;AAAK;AAAe;AAG1B;AAAsB;AACN;AACd,MACA;AAAA;AACA,MACA;AAAA;AACA,MACA;AAAA;AAGF;AACA,cAAU;AACR;AAAsB;AAGxB,gBAAY;AACV;AAAgC,IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;"}