UNPKG

vitepress-plugin-tabs

Version:

A plugin that adds syntax for showing content in tabs.

24 lines (21 loc) 556 B
import type { Ref } from 'vue' import { computed, useSlots } from 'vue' export function useTabLabels(): Ref<string[]> { const slots = useSlots() const tabLabels = computed(() => { const defaultSlot = slots.default?.() if (!defaultSlot) { return [] } return defaultSlot .filter( vnode => typeof vnode.type === 'object' && '__name' in vnode.type && vnode.type.__name === 'PluginTabsTab' && vnode.props ) .map(vnode => vnode.props?.label) }) return tabLabels }