vxe-pc-ui
Version:
A vue based PC component library
110 lines (89 loc) • 3.47 kB
TypeScript
import { RenderFunction, SetupContext, Ref } from 'vue'
import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, VxeComponentSizeType, VxeComponentPermissionCodeType, ValueOf, VxeComponentStatusType } from '@vxe-ui/core'
/* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
export declare const VxeLink: DefineVxeComponentApp<VxeLinkProps, VxeLinkEventProps, VxeLinkSlots>
export type VxeLinkComponent = DefineVxeComponentOptions<VxeLinkProps, VxeLinkEventProps>
export type VxeLinkInstance = DefineVxeComponentInstance<VxeLinkProps, VxeLinkConstructor>
export interface VxeLinkConstructor extends VxeComponentBaseOptions, VxeLinkMethods {
props: VxeLinkProps
context: SetupContext<VxeLinkEmits>
reactData: LinkReactData
getRefMaps(): LinkPrivateRef
getComputeMaps(): LinkPrivateComputed
renderVN: RenderFunction
}
export interface LinkPrivateRef {
refElem: Ref<HTMLDivElement | undefined>
}
export interface VxeLinkPrivateRef extends LinkPrivateRef { }
export namespace VxeLinkPropTypes {
export type Href = null | string
export type Target = null | '' | '_blank' | '_self' | '_parent' | '_top'
export type Status = VxeComponentStatusType
export type Title = string | number
export type Icon = string
export type RouterLink = {
path?: string
name?: string | number | null
query?: any
params?: any
target?: null | '' | '_blank' | '_self' | '_parent' | '_top'
}
export type Underline = boolean
export type PermissionCode = VxeComponentPermissionCodeType
export type Content = string | number
export type Size = VxeComponentSizeType
}
export interface VxeLinkProps {
href?: VxeLinkPropTypes.Href
target?: VxeLinkPropTypes.Target
status?: VxeLinkPropTypes.Status
title?: VxeLinkPropTypes.Title
icon?: VxeLinkPropTypes.Icon
routerLink?: VxeLinkPropTypes.RouterLink
underline?: VxeLinkPropTypes.Underline
/**
* 权限码
*/
permissionCode?: VxeLinkPropTypes.PermissionCode
content?: VxeLinkPropTypes.Content
size?: VxeLinkPropTypes.Size
}
export interface LinkPrivateComputed {
}
export interface VxeLinkPrivateComputed extends LinkPrivateComputed { }
export interface LinkReactData {
}
export interface LinkMethods {
dispatchEvent(type: ValueOf<VxeLinkEmits>, params: Record<string, any>, evnt: Event | null): void
}
export interface VxeLinkMethods extends LinkMethods { }
export interface LinkPrivateMethods { }
export interface VxeLinkPrivateMethods extends LinkPrivateMethods { }
export type VxeLinkEmits = [
'click'
]
export namespace VxeLinkDefines {
export interface LinkEventParams extends VxeComponentEventParams {
$link: VxeLinkConstructor
}
export interface ClickEventParams extends LinkEventParams { }
}
export type VxeLinkEventProps = {
onClick?: VxeLinkEvents.Click
}
export interface VxeLinkListeners {
click?: VxeLinkEvents.Click
}
export namespace VxeLinkEvents {
export type Click = (params: VxeLinkDefines.ClickEventParams) => void
}
export namespace VxeLinkSlotTypes {
export interface DefaultSlotParams {}
}
export interface VxeLinkSlots {
default?: (params: VxeLinkSlotTypes.DefaultSlotParams) => any
icon?: (params: VxeLinkSlotTypes.DefaultSlotParams) => any
}
export const Link: typeof VxeLink
export default VxeLink