UNPKG

@varlet/ui

Version:

A Vue3 component library based on Material Design 2 and 3, supporting mobile and desktop.

29 lines (28 loc) 787 B
import { assert } from "@varlet/shared"; import { useChildren, useParent } from "@varlet/use"; import { TABS_ITEMS_BIND_TAB_ITEM_KEY } from "../tabs-items/provide.mjs"; const TAB_ITEM_BIND_LIST_KEY = Symbol("TAB_ITEM_BIND_LIST_KEY"); function useTabsItems() { const { parentProvider, bindParent, index } = useParent( TABS_ITEMS_BIND_TAB_ITEM_KEY ); assert(!!bindParent, "TabItem", "<var-tab-item/> must in <var-tabs-items/>"); return { index, tabsItems: parentProvider, bindTabsItems: bindParent }; } function useLists() { const { childProviders, bindChildren, length } = useChildren(TAB_ITEM_BIND_LIST_KEY); return { length, lists: childProviders, bindLists: bindChildren }; } export { TAB_ITEM_BIND_LIST_KEY, useLists, useTabsItems };