UNPKG

@opensig/opendesign

Version:

<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>

60 lines (59 loc) 2.45 kB
import { Component, Slots, Slot, VNode, VNodeTypes, ComponentPublicInstance, Ref } from 'vue'; export declare const enum ShapeFlags { ELEMENT = 1,// 普通HTML元素 FUNCTIONAL_COMPONENT = 2,//函数式组件 STATEFUL_COMPONENT = 4,//有状态组件 TEXT_CHILDREN = 8,//文本节点 ARRAY_CHILDREN = 16,//数组子节点 SLOTS_CHILDREN = 32,//插槽子节点 TELEPORT = 64,// teleport组件 SUSPENSE = 128,//suspense组件 COMPONENT_SHOULD_KEEP_ALIVE = 256,//需要被keep-live的有状态组件 COMPONENT_KEPT_ALIVE = 512,//已经被keep-alive的有状态组件 COMPONENT = 6 } /** * 判断vnode是不是element */ export declare const isElement: (vnode: VNode) => boolean; /** * 判断vnode是不是文本节点 * 包含注释节点 */ export declare const isTextElement: (vnode: VNode) => boolean; /** * 判断vnode是不是vue组件 * @param vnode vnode节点 * @param type 组件信息 */ export declare function isComponent(vnode: VNode, _type?: VNodeTypes): _type is Component; /** * 判断vnode是不是vue组件 */ export declare const isSlotsChildren: (vnode: VNode, _children?: VNode["children"]) => _children is Slots; /** * 判断vnode是不是slot的子元素 */ export declare const isArrayChildren: (vn: VNode, _children?: VNode["children"]) => _children is VNode[]; /** * 判断val是不是vue组件实例 */ export declare function isComponentPublicInstance(val: unknown): val is ComponentPublicInstance; export declare function useSlotElement(componentName?: string): { setSlotChildren(nodes: VNode[] | undefined): void; }; export declare function getFirstComponent(vn: VNode | VNode[]): VNode | null; export declare const getFirstElement: (vn: VNode | VNode[]) => HTMLElement | null; export declare function useSlotFirstElement(): { setSlot: (nodes: VNode[] | undefined) => void; firstElement: Ref<HTMLElement | null>; }; export declare const resolveHtmlElement: (elRef: Ref<string | ComponentPublicInstance | HTMLElement | null | undefined> | HTMLElement | string | undefined | ComponentPublicInstance) => Promise<HTMLElement | null>; export declare const getHtmlElement: (elRef: Ref<string | ComponentPublicInstance | HTMLElement | null>) => Promise<HTMLElement | null>; export declare const isEmptySlot: (slot?: Slot) => boolean; /** * 过滤插槽 */ export declare function filterSlots(slots: Slots, slotNames: { [key: string]: string; }): string[];